News for hackers. Stuff that matters.
Re:Tell HN: UC Berkeley's CS61A/B/C are the best courses to ... by phlakaton on Thursday August 31, 2023 @05:37AM (#37334619)
I think I generally agree. A student getting stuck on something doesn't mean they're not learning. To the contrary, those can be some of the times the student learns the most.

In the case of them not "getting" pointers, for example, getting stuck might reveal they need to go back and solidify their understanding of the memory model, or how data is represented. These are good things to know you don't know!

Even getting stuck on yak shaving can pay dividends – having the student carefully compare their command to the instructions, learning what does and doesn't work, and patiently building experience with their tools. Even if they feel like they're doing nothing, they're probably learning.

So I think the major problem with self-study using online CS materials isn't people getting stuck per se... it's that those materials are no substitute for teachers and a cohort of learners. Some people do just fine without that support! Others do not.

Re:Tell HN: UC Berkeley's CS61A/B/C are the best courses to ... by throwaway71271 on Thursday August 31, 2023 @05:57AM (#37334735)
> To the contrary, those can be some of the times the student learns the most.

I agree, its like 'level up' in a video game :) but I think it is very hard to not despair when you are hitting your head against the wall for too long. If you check the learningprogramming[1] subreddit it is full of stories of people giving up.

It seems in programming, maybe because the pay is so high, the intersection between good teachers and good programmers is not very high.

I read a some of papers investigating `how to teaching mastery` and was comparing tutors vs tools, and the very best results were from tutors + tools (sorry I tried to find links in my history but couldnt). Tutors beat tools, Tools beat not getting any help, but even the best tools were not substitute for a teacher.

Maybe now with chatgpt the tooling will greatly improve, for example having an random error most kids just give up and wait for next lesson to ask a question, but now they can just past it in chatgpt, and most importantly they can ask chatgpt the stupidest and most embarrassing questions that they would never ask in class, or to their teacher.

[1]: https://www.reddit.com/r/learnprogramming/

Re:Tell HN: UC Berkeley's CS61A/B/C are the best courses to ... by vntx on Thursday August 31, 2023 @08:57AM (#37336445)
I agree. Getting stuck and learning your way through it is painful but necessary for robust learning. Self-studying has made me stuck more but that’s because it is forcing me to learn more.

> In the case of them not "getting" pointers, for example, getting stuck might reveal they need to go back and solidify their understanding of the memory model, or how data is represented. These are good things to know you don't know!

I was learning about pointers w/o a solid understanding of addresses, the memory model, and knowing a language that used pointers. It didn’t go well until I started learning and using C and see how pointers were actually used. Unfortunately , _none_ of my CS professors ever mentioned the importance of pointers and how fundamental they are to understanding programming, until I found out the hard way they were used everywhere.

Another one is OOP. My professors glossed over OOP and used them for everything w/o ever teaching their fundamentals like late-binding, or higher order functions or how they could be designed and implemented with pointers to functions using a non-OOP language.

Seemingly basic concepts that many gloss over aren’t basic at all.

It’s true, nothing can substitute for decent teachers and motivated peers, but some teachers really suck and their apathy will hinder your learning. Absent a decent university and the opportunity to get in one, self-study might actually be a better choice now that there is a lot of decent material online.