New answers tagged

1

You could do a study on say: Evolution of programming languages. How software development has driven hardware development e.g. how increasing size of code drives requirements for larger storage. Since it's a high school research, you could study how computers have changed our lives or the way we use time in a day You may take any programming language and ...


0

People create categories as needed to manage complexity. A language designer has defined syntactic & semantic things--including categories of things--relevant to their purposes & so can anyone--specific or fuzzy. It's unhelpful & misconceived to expect that somehow categories are out there to be uncovered or that everything must be in a category ...


0

I just learned quite a bit from Buffy's wonderful answer! I would only add that a token is simple the smallest unit of text that carries semantic meaning to the compiler. Thus, int func(int input){ has 7 tokens (four word tokens and three symbol tokens). An escape character in a string such as \", then, is a note to the tokenizer. How they are later ...


1

This is a surprisingly complex question. In many languages one can distinguish between commands and expressions. A command is something that changes the state of the computation. An expression is something that returns a value, but doesn't change the state. This is actually a good mental model even in languages that can confuse the two ideas in small or ...


0

Your question doesn't make much sense. First, there are literally thousands of major algorithms, and many of them are quite involved. You don't begin your studies with Red-Black Trees because even their purpose will elude you until you've (at the very least) spent some time dealing with sorts and searches. Second, if you eliminate time complexity and the ...


0

I would not start with C as your first language, though it is a 700% (May be more) better choice than C++. A good series is Structure and Interpretation of Computer Programs -- MIT Press. There is a book and a series of videos of lectures. They use Scheme, a LISP variant, which is a good choice for a first language. It uses the functional paradigm, however, ...


1

For a gaming novice I would suggest Unity instead of Unreal. Unity has a lot more learning resources online. Unity uses C# which is Microsoft's version of Java. Unity and Unreal are comparable, each has its pluses and minuses. An excellent place to start with Unity is at learntocreategames.com. You can actually communicate with the author. Prices are ...


-1

C++ may be a bit difficult for a first exposure of programming. I suggest starting with a java course, which is traditionally used as an entry-level programming language. Additionally, you could sign up for a web dev class that includes HTML, CSS3, and JavaScript. HTML is simple to learn and can help you become familiar with the world of coding.


1

Rather than try to give you an answer directly, let me direct you to a web site that is full of ideas, not for research, but for how programming and programmers can affect things. Paul Graham is a computer scientist, mostly associated with the Lisp family of languages and has done some very interesting things with Common Lisp. But his essays are just ideas ...


2

There are some great answers and discussion here about reasons why a teacher may forbid certain syntactic constructs for a given assessment. I have an additional perspective on it. A student cannot possibly learn the entire language all at once. Not only is there syntax to learn, but also how to put the pieces together into coherent programs. It is a lot to ...


2

You should start out by figuring why these students are learning CS. Is it because they're interested in game development? Are they doing it for career advancement? Is there extra credit involved? (Is this an independent study?) In other words, what do these students hope to get out of your lesson? What do you hope they get out of it? Why are you both ...


1

To give a more detailed example to @thesecretmaster's answer: Sometimes language constructs hide the underlying complexity. That might be beneficial when coding, but counterproductive when teaching. Take these loop examples: for (int i=0; i<n; ++i) { // example statement array[i] = 5; } In many languages, this can be written as a for-each loop (...


1

In general this would probably vary depending on the audience, both the age and the interests of the potential students. But since you say engineering students I will also assume young adults. This audience has some familiarity with mathematics and other technical subjects most likely. As such they aren't really all that different in background, only in ...


1

Students need to learn how to deal with strict rules, imposed by their programming environment. In real life, the rules are dictated by the limit of your programming language or processor. Easy example: You cannot use an instruction, that is not implemented in your microprocessor. So you need to stick to the rules of your processor. When you now use a ...


2

Benefit: forces students to stay with and practice required concepts of the unit/exam or subset of the course.


3

In addition to the good reasons given in the other answers: Sometimes students find code on the Internet that they can just copy into the assignment without understanding. In a coding class it seems reasonable to require students to understand the code they submit. As an instructor I would consider telling students that if they use techniques not covered ...


Top 50 recent answers are included