55 votes

If a program does not compile, should it get a mark of zero?

This answer assumes that the course's goal is to teach programming (as opposed to teaching advanced algorithms or numerics etc. to which the programming would only be an end). In that case I'd hold: ...
user avatar
48 votes

If a program does not compile, should it get a mark of zero?

Of course not, and I have trouble believing that anyone would truly entertain the other position in any serious way. The closest analog in another field would be if you were to present an essay in a ...
user avatar
  • 31.5k
45 votes

What is good age to start learning programming?

Let me urge a bit of caution if you try to combine teaching of youngsters with their parents. Before you decide, you should look at the work of Piaget on the stages of development. Adults and teens ...
user avatar
  • 34.9k
42 votes

Why isn't there one language to use instead of different programming languages?

I'm going to echo what Buffy said, but in a different manner. All of the great languages have a sort of direction that they point in. For instance, the Excel language (yes! The one from the ...
user avatar
  • 31.5k
37 votes

What's the benefit of prohibiting the use of techniques/language constructs that have not been taught?

Rules like this are generally instituted because the teacher is attempting to teach a concept made moot by one of these constructs. For example, as a teacher, if you're teaching bitwise operators and ...
user avatar
  • 4,754
34 votes

What is the point of teaching coding and robotics to kids as young as six years old?

I think the intent of such courses is to teach Computational Thinking, not programming as such. Programming is, I think, just one tool among others. There has been quite a lot of activity recently ...
user avatar
  • 34.9k
31 votes

Why do we practice printing patterns while coding?

Why do we practice printing patterns while coding? Because bugs love to hide in loops. Talk students into using loops to print these patterns and they will create bugs. Tracking down and squishing ...
user avatar
30 votes

If a program does not compile, should it get a mark of zero?

Following further with @Ben I.'s answer, I think the real problem is often not giving feedback about whether the program builds to the student in an inspectable and rapid manner, while also allowing ...
user avatar
  • 401
28 votes

What to tell students that plagiarised their programming assignment?

While there are an infinity of ways to write code that accomplishes any task, in tasks simple enough for labs, there are usually only two to four reasonable approaches for each step, and certain ...
user avatar
  • 31.5k
27 votes

Realistic task for teaching bit operations

Maybe a bit too complicated, but fun nevertheless: Teach them about bitboards. Conveniently enough, a chess-board has precisely 64 squares, so a 64-bit integer can store one bit of boolean information ...
user avatar
  • 371
25 votes

On studying Computer Science vs. Software Engineering to become a proficient coder

You can find a fair amount of information about accredited programs in the US here, including links to schools that have one or the other programs. In general, Software Engineering is more directed ...
user avatar
  • 34.9k
25 votes
Accepted

Why teach C using scanf without talking about command line arguments?

I think that the rationale is so you don't have to introduce arrays and array notation on day 1. Typically, arrays enter into the picture at roughly the same time as loops, which would take place a ...
user avatar
  • 31.5k
24 votes

Why isn't there one language to use instead of different programming languages?

Imagine you open a carpenter's toolbox and you see a hammer and some nails a screwdriver and some screws a bottle of glue You are incredulous. All three of these things are used for joining two ...
user avatar
  • 349
24 votes
Accepted

What to tell students that plagiarised their programming assignment?

As a TA you are working for a professor. They are fundamentally responsible for grading. It would have been better had you checked with the prof before assigning grades and getting advice. But what ...
user avatar
  • 34.9k
23 votes

What is good age to start learning programming?

The minimum age I honestly don't think there is a minimum age. While it's true that very young children have a harder time thinking in abstract terms than adults, it does not mean that children are ...
user avatar
  • 330
22 votes

I am a CS student, but I don't know how to code projects. How do I learn this?

Computer Science vs. Programming Really worrying situation. I do well with CS subjects but at the end of day it is all useless as I don't know how to code. That is normal. Computer Science and ...
user avatar
20 votes

What's the benefit of prohibiting the use of techniques/language constructs that have not been taught?

Where it stems from is, of course, because the lab is not the thing that the instructors want solved. After all, the lab problem is not an unsolved problem, and it will only be unique (if at all) in ...
user avatar
  • 31.5k
20 votes
Accepted

Why isn't there one language to use instead of different programming languages?

In theory, you only need one language and, provided that it is Turing Complete, any language will do. But... "In theory, theory is the same as practice, but not in practice." (Often ...
user avatar
  • 34.9k
19 votes

What is good age to start learning programming?

This is a much less useful answer than I wanted it to be, but I'm posting it in case it helps someone. I'm not a teacher, but I've found that most 13-year-olds can learn to program using production ...
user avatar
  • 291
18 votes

Why isn't there one language to use instead of different programming languages?

This is a CS variant of the Sapir-Worff hypothesis: your world view is shaped by your language. Different programming languages make you think in different ways, and are suitable for different ...
user avatar
18 votes

If a program does not compile, should it get a mark of zero?

I think giving a zero for a non-compiling program can be reasonable and expected behavior in many circumstances. It's pretty close to what I do now (more below). The Original Academia SE Question Note ...
user avatar
17 votes

What is good age to start learning programming?

Never. My parents sent me to programming courses when I was 7-9 years old or so, the first half of the 80s. Completely useless knowledge today, but that is not the worst part of it - the worst part of ...
user avatar
  • 279
17 votes

Why teach C using scanf without talking about command line arguments?

Because everything around C language education is just utterly awful. That's really all there is to it. scanf should not be taught, but it is. It's rarely useful, ...
user avatar
16 votes

If a program does not compile, should it get a mark of zero?

I enforced this exact policy ("doesn't compile = failure") For several years I was the assessor on a postgraduate course on C++ (Financial computing with C++) given at the mathematics ...
user avatar
  • 261
14 votes

Why teach C using scanf without talking about command line arguments?

Because, traditionally, programs iterate over data. See JSP. Admittedly, prompting the user for data is weird, however we're talking about beginners here, having them try to remember what the ...
user avatar
  • 241
14 votes

What is the point of teaching coding and robotics to kids as young as six years old?

Why teach English or art at a young age? Because it's a mode of expression and communication. Because proficiency requires learning the tools, learning the idioms, experimenting and developing a voice ...
user avatar
  • 320
14 votes
Accepted

Grading source code in an online environment

I would suggest you use a code review tool. This is something they will likely need to be using when working in industry. So worth upskill them on it now. You can use githubs one for free. (You are ...
user avatar
13 votes
Accepted

Why do educators not set an upper bound for the amount of times we're allowed to compile code?

Because it's a meaningless obstacle Putting an upper limit on compilations is like telling a car manufacturer that they must build a new supercar, but are only allowed to test drive it a few times. ...
user avatar
  • 1,243
13 votes

I am a CS student, but I don't know how to code projects. How do I learn this?

My advice is not too dissimilar from Buffy. I would try to get involved in projects with others. You might look into the indie game development community, or into the open source community. Join a ...
user avatar
  • 31.5k
13 votes

If a program does not compile, should it get a mark of zero?

As a blanket policy, I would say that automatically assigning a grade of zero for any submission that doesn't compile is completely unreasonable. Aside from the reasons that Ben I. has already listed, ...
user avatar
  • 231

Only top scored, non community-wiki answers of a minimum length are eligible