3 ms·
Eh. ASM is a good start for people who already know how to program. Manually implementing a linked list by syscalling mmap is something everyone should do. OTO
by qsort 5y ago
Eh.
ASM is a good start for people who already know how to program. Manually implementing a linked list by syscalling mmap is something everyone should do. OTOH the main stumbling block for students who can't already code is "thinking algorithmically" i.e. breaking down the steps you need to perform in a precise way. At that level, ASM is just getting in the way.
I'm partial to Scheme because that's what my intro course used and I loved it, but I can see an argument for both another high level language, C, or ASM.
Java is just a terrible idea FFS. At an introductory level you won't even understand what kinds of problems Java is supposed to solve: are they teaching what's a virtual method too? I assume it's a misguided attempt at teaching something "relevant for the job market".
- BeFlatXIII 5y agoIt seems that there is a fundamental tension for intro to CS/SE classes between refining the fundamentals of self-taught programmers and starting students from zero. Expecting total n00bs to find which part of their code causes the segfault is a frustrating waste of time for all involved. However, showing how the computer works is useful for people who already have figured out the rudiments of things like for loops and if/then conditionals.
- qsort 5y ago100% this. It's kind of weird, but it's almost as though grokking the idea that you can arbitrarily program the machine is even more fundamental than the machine itself, and in fact a prerequisite to even ASM.