Hacker News new | ask | show | jobs
by ModernMech 1805 days ago
> the thing I keep coming back to is something along the lines of guided self-learning.

As a university lecturer in CS, I agree this would be a great thing for a lot of students. The thing about CS though is a lot of students hear that programming is a path to a high paying job, and they are really not motivated to learn the subject in the way that people who frequent HN might be. They don't want to self-learn, they want to be told what they need to learn to achieve an end-goal of earning a high salary when they graduate in 4 years. If you sit them down and ask them about their curiosity, interests, or ambitions related to CS, they give you a blank stare. They just want to get paid.

This perception also means that our program is the biggest at my institution. Students from every college want to take our classes. Our department is not so big (in terms of faculty, fewer than 20), so our class sizes are huge. My PL class last year was 200 students. My systems course last semester was 160. What this means is that I can't offer the kind of guidance for self-learning. Maybe if my class sizes were 30-40 students, but not for classes of 100+ students.

And then there's the issue of what students imagine a self-guided education looks like. They want to do things like mobile app development and AI. Most students don't self-guide themselves into fields like compilers and operating systems in my experience. They just aren't interested. Hell, I wasn't interested in these topics, until I was forced to take these classes as part of the standard curriculum. Now compilers are pretty much the only thing I'm interested in! I guess that's where the "guided" part comes in, but the point is that if students are left to their own devices, I worry we'll end up with a generation of programmers who are experts at making predictive AI models and iPhone apps, but have no idea how an OS or compiler works. Then who is going to teach the next generation how to make an OS? Already we have problems hiring people in these fields. 90% of the tenure track applications from our last round of hiring were from AI/ML type researchers, with only a few systems people (2-3 if we're lucky). I even have trouble getting TAs for my PL class, because all of our available grad students only know Python and C++ for their ML research. I see this only getting worse in the future.

1 comments

Ooft …’trendiness’/hype to blame…(for want of a better way of describing it - nothing against trendiness per se… :) …short-sighted also as technology moves so fast and what garnered the highest salaries in this generation could easily change in the next… (esp. if over-subscribed)… I teach guitar/bass/music production (though trying to slowly educate myself about CS as much as I can), but I get what you’re saying about learning basics - you can go blue in the face trying to explain to someone that if they learnt eg. basic harmony or acoustics or how MIDI works etc etc that they would understand eg. how to make any style of music they happen to like potentially more quickly/effectively, or that instead of learning eg. only specific interfaces/ individual siloed DAWs/platforms, they would see that they all work on basically the same underlying principles and be able to pick up and use any they wish from then on/make their own… (…counter to a lot of ‘magic’ marketing speak/youtube vids etc…). Perhaps as CS ideas become more widely used/diffused/familiar to teachers/practitioners of all other subjects, and indeed programming etc. potentially becomes ‘higher level’/more abstracted/built on specialised API’s/libraries/AI/autocomplete/visual paradigms etc. those subjects will incorporate the teaching of CS/programming/AI and eg. biology will inevitably integrate teaching of what might at the moment be called ‘computational biology’, or literature will incorporate analysis of texts using AI as a standard component of the course etc. etc.? …that might then free your dept. to focus on core concepts/constructing the underlying platforms that all these other subjects use as a base? all the best! (good article btw.)
> Perhaps as CS becomes more used/diffused/familiar to practitioners of all other subjects

I think you're spot on here. You don't see people flocking to the English department because they had heard the ability to read and write is essential to landing a high paying job.

The same will be true for programming in the future; programming will be to the CS curriculum as reading and writing is to the English curriculum. No one is teaching English majors how to read and write English at my university. But we have 4 semesters devoted to reading and writing programs, because we can't assume any student knows these things like the English department can.

Isn't that a problem on which path gets taken to reach university actually?

Many countries have specific exams in place for each university degree, and it is expected that the basis are already in place from the highschool.