Today's CS pedagogy is problematic
So here's the thing. When i was 10, school taught us qbasic and html. That was my first brush with programming which i tried out on cmd itself. Far forward 5 years, we had java and I got 100/100 on the paper because i had written enough java scripts to know what the error messages meant (lol, they used to ask us to 'fix' the problem aka the syntax). 2 years later my interest rekindled. Ever since 2018, i have been a hobby coder. Now here's the thing. Around my sibling's age right now, i did not have CS in my college so no theory or any handheld guidance except what i remembered being taught in high school which i had forgotten already. My biggest regret was not being able to learn algorithm analysis and grok complex data structures. However my sibling not only has a good CS prof, she also has tutions and her study guide is as good as a book of "Learn XYZ the hard way". Which is the fucking problem. The book does not start off with explaining the semantics or the language or even the fucking type system (remember we are talking about c++ here) the sample codes don't work, there are missing include directives, etc. They have given 10 examples of using pointers before explaining what pointers are. My sibling had no idea how referencing worked or even variables. It took me 5 minutes to teach her pointers by using the hashtable analogy of pointer being keys to memory offsets and then printed the value and mem offset on an online interpreter and guess what she could make sense of slicing syntax and array structures including char* and string.
Similarly i know plenty of undergrads and even masters friends unable to write scripts but are scoring a lot in their exams.
My gripe is that there is literally ZERO interest of the edsystem to treat coding like teaching a language which is the only way to learn it properly. What are your views on this especially if you are a millenial/gen z
11 comments
[ 2.9 ms ] story [ 36.4 ms ] thread- Professor Richard Buckland has CS playlists on youtube (UNSW eLearning). In one of his lectures he starts writing a sudoku solver (I think) starting with high level abstractions.
- Also, at least, the first video of SICP https://www.youtube.com/watch?v=2Op3QLzMgSY
In my engineering program everyone started with C and I'm actually glad in retrospect.
Gives you a good understanding of the whole stack.
But we generally teach computer science instead of just programming so we don't have separate classes
my issue is when those two modes of education collide in one program, usually with some washout course where you're forced to teach yourself things very rapidly, under penalty of academic misconduct if you collaborate in ways you would in literally any other context.