4 ms·
> So the course is dealing with (essentially) a strongly bimodal distribution of student ability and the professors don’t want to give the advanced students a f
by fn-mote 3y ago
> So the course is dealing with (essentially) a strongly bimodal distribution of student ability and the professors don’t want to give the advanced students a free ride. That means the course is actually somewhat challenging for all but the most elite programmers and therefore extremely challenging for total beginners.
HN readers: universities that teach a so-called "How to Design Programs" curriculum [1] have discovered a partial solution to this problem. Emphasizing a design process in a functional language removes the advantage that students with experience but not a deep understanding gain from knowing how to cobble things together the way they learned in high school AP CS A.
I'm not saying it's the only route, but it works well and develops important skills that are (ime) not learned by tinkering.
[1]: https://htdp.org https://htdp.org
[2]: https://course.ccs.neu.edu/cs2500/labs.html https://course.ccs.neu.edu/cs2500/labs.html
- chongli 3y agoMy university uses that exact approach! I have first hand knowledge with students who refuse to follow the design recipe approach and insist on muddling through the code until they figure it out. We even hand-mark their design recipes in the course! The students just do them after the fact.