Hacker News new | ask | show | jobs
by wirthjason 1805 days ago
Overall good article but I was expecting an in depth assessment of how to actually teach CS. I was particularly interested in hearing how teaching CS might be different from teaching other subjects, particularly math, engineering, etc.

Instead the article was more about why student reviews are not a good way to evaluate the teacher. It’s like letting your toddler decide what’s for dinner… “ice cream and candy, again?!?!”

2 comments

IMO the big difference between CS and other subjects like math, engineering etc. is big tech. No one goes into a math degree at 18 thinking they're going to be earning $200k in 4 years time. But in CS, this is the general expectation of students. They are obsessed with learning everything they need to know to pass Google's and Facebook's white board exams. Students demand prep sessions to help them pass, where we just give them interview questions to solve. They are not so interested in learning CS for the sake of learning CS.

Students and parents view our CS department like a trade school. They are very focused on us teaching "practical" skills that students will use when they enter the work force. I think that's something we should do, but that's not all we should do. But any time we try to teach more theoretical CS concepts, there's always a lot of push back like "How will I use this thing when I'm at FAANG, and if I won't then why am I even learning this?"

Then there are employers, who have in the past come to us trying to get us to teach their tech stack so they don't have to. They wanted us to convert our entire curriculum to .Net, because that's what they use. Would that ever happen in the math department? I don't think so.

> "How will I use this thing when I'm at FAANG, and if I won't then why am I even learning this?"

Maybe college has changed since I went there, but a similar question was asked and the professor responded with "you are free to drop the class." It was a required class for a CS degree and when the student pointed this out, the professor said that it's still freshman year, feel free to switch majors and that they should shut up because they were interfering with everybody else who (unlike them) were actually trying to learn something.

If you follow through the links, you'll find this: https://www.lifescied.org/doi/10.1187/cbe.14-02-0023

It's actually got a table of teaching practices, which they presumably want to see. I went through them and it looks like good stuff to me. I do a lot of it, though some wouldn't fit my (non-CS) discipline well.

I was hoping for something more CS specific as that list seems to all be fairly generic pedagogy; it's been known for a long time e.g. that quizzes help memory formation and that more immediate feedback aids learning.

One thing they mention that I think is a problem with CS is:

> connect with student prior knowledge and beliefs

I do not know how do do this in a group larger than about 6-8 (I'd say 2 pizza rule, but you need more than 2 pizzas to feed 8 college students :)

In particular since much computer related learning prior to joining a college level CS class is some combination of: informal, self-taught, and/or poorly taught. This leads to a very wide variety of prior knowledge and beliefs, most of which are subtly wrong in important ways.

In a small group it's trivial to address these as they come up, but I can't imagine trying to anticipate them for a larger group.

I switched to CS from Physics and immediately noticed this difference. At first I just thought it was because physics classes were smaller, but I had no classes with less than 10 people. Then I realized that there just wasn't that much variety in the misbeliefs my physics peers held; partly because we had fairly similar backgrounds (most had taken AP Physics in High School, and had read a selecton from a fairly small pool of pop-science physics books).

I'd actually be interested in seeing a taxonomy of specific misbeliefs in CS (or really any field). Such a summary would probably aid teachers as well; most good teachers will have an intuition for the categories, but organizing and naming things can help one think in a more structured way about them.

Not, computer science, but Laurent Bossavit's "The Leprechauns of Software Engineering" covers exactly that: folklore that has mutated into fact. 10x programmers, the cost of change curve and more. Terrific read.

https://leanpub.com/leprechauns

I noticed that the pedagogical ideas were fairly generic too. That's why they work for me when I'm in a completely different discipline.

I think that taxonomy is a great idea. Maybe it's something that could be developed inside a department with a wiki?