Highest scored questions

190 votes
31 answers
44k views

Why do we count starting from zero?

In computer science, we usually count starting from 0. Is there any effective way to explain why, to new programmers who ask why? I've read a bunch of different sources that list several reasons for ...
D.W.'s user avatar
  • 1,965
145 votes
13 answers
110k views

Should I teach that 1 kB = 1024 bytes or 1000 bytes?

Which conversion should I teach to my undergrad students? That 1 kB is 1024 bytes (binary) as everyone learned back in the nineties or the recent industry-led "friendly" conversion that says that 1 kB ...
alves's user avatar
  • 1,543
125 votes
16 answers
39k views

Is it better to lie to students or to be pedantic when teaching Intro CS?

When teaching Intro CS in Java, I sometimes tell students things that are not entirely true, such as that, unlike abstract classes, interfaces cannot contain any code. (For those of you unfamiliar ...
Ellen Spertus's user avatar
114 votes
22 answers
31k views

Is there some meaningful percentage of students who can't learn to program?

A few days ago, I had a high school sophomore (who is now in her third CS class, having passed the prior two) look at this Java code for a solid 3-5 minutes, and was unable to figure out what it did: <...
Ben I.'s user avatar
  • 34.8k
91 votes
27 answers
30k views

How to explain the concept of a variable to a 9-year old?

My 9 year old daughter is heavily interested in science, robots, computers, … She asked me if I could teach her how to program a computer. So, we started with Scratch, a programming language ...
Golo Roden's user avatar
83 votes
11 answers
18k views

Is it bad to force my students not to return early?

A fellow teacher of mine is teaching "basic algorithms" course in high school, and we have quite conflicting opinions when it comes to returning from functions. ...
Yotam Salmon's user avatar
  • 1,205
73 votes
18 answers
19k views

Advances in CS appropriate for CS1 and CS2 made by female computer scientists

Over the course of the CS major at my school, especially in years two and three (roughly equivalent to years 1 and 2 at a university), as I introduce my students to significant advances in Computer ...
Ben I.'s user avatar
  • 34.8k
67 votes
21 answers
19k views

What are good examples that actually motivate the study of recursion?

One of the traps of imperative-first is how difficult it becomes to help students make sense of recursion when they finally encounter it. And if those kids are fairly competent iterative programmers, ...
Ben I.'s user avatar
  • 34.8k
66 votes
12 answers
27k views

How to answer "functional programming is useless"?

I'm a TA for several Bachelor level functional programming courses at my university. In every edition we have problems with some students that have the idea that functional programming is useless, ...
user avatar
64 votes
9 answers
31k views

How do you teach something when you don't know it yourself?

Teachers are sometimes called upon to teach something with which they have no experience. Don't laugh. Doctoral level education is often exactly like this. The student's advisor may have no background ...
Buffy's user avatar
  • 37.1k
60 votes
25 answers
25k views

Should CS students be doing their tests on paper?

In some CS courses (especially undergraduate and high school courses) the tests and the final exam are written on paper without the use of a computer. But if the students are in a CS course, shouldn't ...
Safirah's user avatar
  • 1,056
60 votes
25 answers
13k views

How to convey how much computing power has grown since the 1960s?

I was born in 1968 and used dial-up to mainframes back before PCs were available. We got an Apple ][+ when they came out and thought 48K was a lot of memory. I live in constant wonder at the world ...
Ellen Spertus's user avatar
60 votes
24 answers
13k views

How do I teach git to a teenager

I like Git, or at least the idea of it. However I can not get my head around how to use it. Therefore I would not like to teach it. (This question is about learning to use Git. Not about comparing it ...
ctrl-alt-delor's user avatar
59 votes
18 answers
29k views

Why do computer-science majors learn calculus?

I am curious why computer-science majors have to learn calculus to receive their bachelor’s degrees. My father worked as a software engineer for twenty years and never used it. It seems to have little ...
LuminousNutria's user avatar
56 votes
27 answers
19k views

How to teach a person to enjoy programming?

I've been teaching programming to my 13-year old son for over a year now. I'm not satisfied with his progress. I think that one of the reasons is his attitude: He wants to learn programming (he said ...
Glory to Russia's user avatar

15 30 50 per page
1
2 3 4 5
84