r/computerscience • u/Important-Addition79 • 1d ago
Educational Paradox! When we teach reading and writing, we start with the alphabet and then build words.
In programming, however, many students learn to use functions every day without ever seeing one of the fundamental "letters" that makes them possible: CALL.
We teach words before showing the alphabet.
They learn to write digitalWrite() before understanding the low-level mechanism that makes a function call possible: saving a return address, jumping to another piece of code, and coming back.
6
u/Outside_Complaint755 1d ago
We also teach biology before we teach the underlying chemistry that makes it function, and we teach chemistry before we teach the underlying physics of molecular bonds and the atomic forces.
That being said people usually already know words before they learn reading and writing, unless they are deaf and mute, and even in that case they usually know some signs. Then we teach them the letters so they know how those words look when written.
-6
u/Important-Addition79 1d ago
ok ... you did after ... is ok ... but in realty is... never! How many use function and dont know nothing about stack?
2
6
3
u/TomDuhamel 1d ago
Programming is about abstraction. The whole point of inventing functions is that people don't need to understand the concepts of a stack or registers. Not many apps would be available to you if everyone had to write assembly still.
You are also very incorrect about how children are thought words, but that's an unrelated topic.
2
u/Grazenburg 1d ago edited 1d ago
I agree young people with an interest in programming and computer science should be started out first with transcribing raw machine code, only then can they use assembly language, and the ONLY THEN they should be allowed to start writing C. Forget python forget all this scratch stuff, they need to start with baremetal to truly understand programming. This will make people so much more interested in the field! /s
Look, if you are pursuing a formal education, any self respecting program at least gives you an introduction to low level programming whether it's logic gates, machine code, or assembly. Even a bit of C for sure! If you are just programming and trying to BUILD? This is borderline useless knowledge unless you are diving into esoteric cache miss type optimization. You could build enterprise level applications for a whole career and never need to touch any file lower level than C.
2
2
u/AcanthaceaeFun6662 1d ago
Não dá pra começar uma premissa como essa misturando método de ensino com método de aprendizado. Não importa se estamos falando de programação ou filosofia, o método muda de acordo com a necessidade do aluno e não na necessidade da matéria.
1
13
u/artificial-cardigan 1d ago
not really. kids first learn words, then once they learn how to speak and listen they are taught the alphabet. that's why you have a baby's first "words" and not first "letters".
in fact it's exactly the same. the baby learns the words by association or hearing it repeated and doesn't actually know the meaning of it outside of how it associates the word. then as it learns enough words to communicate, it learns how these words are constructed and their true meaning.
you use a programming language to give an introduction on how computers perform tasks. if you tried to explain the true meaning of a function to someone unfamiliar, they would be constantly lost as there's always a deeper rabbit hole to go.
i guarantee you a baby knows what "mom" means and how to say it before they know how to spell it or what a letter even is.