54
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: ...
51
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 ...
50
votes
Problems with students stuck in web-browser and what to do about it
In terms of instruction, especially at the beginning, I find it helpful to ask my students why I'm doing something at every step while demonstrating:
I'm going to open the start menu, why am I going ...
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 ...
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 ...
38
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 ...
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 ...
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 ...
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 ...
29
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 ...
28
votes
Teaching the tradeoffs of the foreach loop
I think the advantages are huge, overwhelming.
They avoid
off by one errors - the bane of the novice programmer
needing to allocate an explicit iterator - avoiding adding names to the namespace.
...
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 ...
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 ...
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 ...
24
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 posed lab problem is not unsolved, and your solution will only be unique (if at all)...
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 ...
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 ...
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 ...
23
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 ...
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 ...
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 ...
19
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 ...
19
votes
Problems with students stuck in web-browser and what to do about it
I (thankfully) haven't had the problem you mention quite to the degree that you are having it, but I am seeing more and more of this issue with my students generally.
My focus in this answer is ...
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 ...
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, ...
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 ...
15
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 ...
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 ...
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 ...
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 ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
programming × 128self-learning × 24
c++ × 10
student-motivation × 9
java × 9
secondary-education × 9
algorithms × 7
lesson-ideas × 6
resource-request × 6
undergraduate × 6
python × 6
best-practice × 5
assessment × 5
project × 4
exercises × 4
web-development × 4
active-learning × 4
introductory-lesson × 3
textbook × 3
grading × 3
data-structure × 3
language-choice × 3
c × 3
homework × 3
curriculum-design × 2