|
I recall us discussing in class how the tape storage worked. Our math teacher was our budding CS teacher, and he had only slightly more of a clue than the students did. I'm not dinging the guy -- he was a great teacher, possibly the best I've ever had -- but this illustrates the early days of teaching CS in high schools.
|
|
|
|
|
|
This idea is actually brilliant. Read on for an explanation ...
It was mentioned previously that programming is not for the masses -- very true -- it's a distinct skill set enjoyed by a small minority of the population. When politicians talk about programming for all kids, the concept is ridiculous. But most ideas from politicians are (doesn't matter where, they're peas in a pod).
However, giving all children a chance to program enables the ones that will succeed to get that taste. Remove the expectation that all children should program -- presenting programming to all is a good idea. The ones that fit our mold will continue, the others will drop off and follow their own path.
JavaScript? I can't think of a better way to drive a child away from programming that JavaScript. Unless it's Java. Or C#. Or pretty much any modern language.
Ignoring the ridiculous complexity of "modern" languages and tools, if given visual tools children will focus on the visual aspects -- worry about the minutia of screen placement and appearance, not logic.
By using a basic language (pun intended) the student is focused on program logic and producing an expected result. That is the essence of programming -- not what looks pretty on the screen.
Teaching the children to think procedurally at first gets them into problem solving in a straightforward way. Teaching OO later on provides a more diverse skill set and opens their mind to the idea that multiple methodologies exist and each has its own place.
Yeah, this idea is brilliant.
|
|
|
|
|
BryanFazekas wrote: By using a basic language (pun intended) the student is focused on program logic and producing an expected result. That is the essence of programming -- not what looks pretty on the screen.
Agree 100%. That's part of the problem with the way most programming is taught now : they jump right into the complexities of UI etc which is meaningless until you really understand what you are doing.
And, yes, OOP should be taught later since it is only a way to organize your code. When you first start writing code you just want to see it do something.
This makes me think of the K&R C book. It's just a bunch of scripts really. They go through and show you how to do some simple things and since there was no GUI they concentrated on simple procedural programming. It was a simpler and more difficult time all together. You could do the simple quite easily but the complex was quite a bit harder to pull off due to memory and CPU limits.
|
|
|
|
|
I have K&C on my bookshelf -- I doubt I've touched it in 20+ years, which is how long since I've done C. I need to pull it off the shelf and leaf through it ...
|
|
|
|
|
With few words, you get straight to the core.
I fully agree.
|
|
|
|
|
I definitely learned one important lesson from the C64.
Fond memories of one sibling reading code out of a print magazine while the other typed the 4 page program into the C64...
Last statement entered and
RUN
system freezes.
Break key does nothing! nooo....
Type it in again.
Last statement entered and
RUN
system freezes again!
Break key does nothing! noooooooooooooo....
Type it in for a THIRD time!
LESSON LEARNED!
SAVE the program first!
RUN
system freezes. nooooo problem.
LOAD the program
Must debug before we can play the game!
This is back in the old school magazine type face days where a number 1 and a lower case L/l were identical glyphs!
Something with a FOR loop was typed with a 1 or an l switched.
After the fix was implemented,
RUN
Play Castle Dungeon and save the castle by disarming the bombs while avoiding lions and pits.
It was a great program to dissect as it included maze generation, sprite(graphic blob) usage, joystick input, and a few sound effects.
|
|
|
|
|
englebart wrote: RUN
system freezes again!
Break key does nothing! noooooooooooooo....
Yep, that is what we learned.
I remember typing numerous programs into my Coleco Adam [^] only to have them fail. I could never figure out if it was my typing or the program itself.
|
|
|
|
|
I saved some IBM punch cards for my kids. Need to work up a card reader and CPU.
|
|
|
|
|
Bruce Patin wrote: I saved some IBM punch cards for my kids. Need to work up a card reader and CPU.
|
|
|
|
|
Bruce Patin wrote: I saved some IBM punch cards for my kids. <shudder>
I did punch cards my freshman year, then the school converted to terminals.
At the end of the first semester I recall seeing an upper classman carrying a large deck (probably 300+ cards) to drop off at the computer center. At that time we wrapped our deck with a couple of sturdy rubber bands and dropped them in a slot. At the beginning of the semester we could return in 1-2 hours to get our deck + printout. At the end of the semester it was 12 hours. This enforced reviewing the code and NOT making mistakes.
Anyway, the upper classman dropped his deck and the single rubber band he used broke. Cards scattered all down the hallway. He looked like he was going to cry, started to pick up his card, then turned and walked away.
The morals of this story? 1) use more than 1 rubber band. 2) use a wide marker to draw a diagonal stripe across the top of the deck to the cards can be re-ordered visually.
|
|
|
|
|
Javascript to teach an 8 year old programming? You just got to be kidding!
|
|
|
|
|
Bitbeisser wrote: Javascript to teach an 8 year old programming? You just got to be kidding!
I think you're coming with a lot of preconceived ideas.
JavaScript can be simple. It can be.
The fact that it isn't is due to the way some devs implement JavaScript.
Is there anything tough about showing an 8 year old how to create a variable in JavaScript?
var counter = 0;
Also, most likely if the kid has any kind of computer (iOS, Windows, Linux) then she'll have everything she needs to begin (text editor, web browser).
Here's the first program from old K&R C :
#include <stdio.h>
main()
{
printf("hello, world\n");
}
Here it is in JavaScript:
console.log("hello, world\n");
Now, advanced JavaScript, that's another thing altogether isn't it?
Devs do some terrible things (bad code organization and using globals, etc) with JavaScript but it doesn't have to be that way if the teacher guides the student properly through the material.
|
|
|
|
|
I am setting up an old laptop with Linux and a Python environment for my son to start learning to code. A bit older than a 7 year old, but still ...
Money makes the world go round ... but documentation moves the money.
|
|
|
|
|
Try again, my friend.
JavaScript, as its namesake stands for is just a Scripting language akin to BASH and PowerShell. Yep, you can make it do great things, but with way too many caveats beginner wise.
On the other hand, early 80s systems were complete development environments which presented themselves with no introduction and no serious booting (you can even run a commodore 64 in a browser). You were alone with the intro screen
*** COMMODORE 64 BASIC V2 ***
64K RAM SYSTEM 38911 BASIC BYTES FREE
READY PLAYER ONE.
What else could you want in life
|
|
|
|
|
Member 2896020 wrote:
*** COMMODORE 64 BASIC V2 ***
64K RAM SYSTEM 38911 BASIC BYTES FREE
READY PLAYER ONE.
What else could you want in life
Absolutely, I remember. It was quite beautiful in its solace.
modified 18-Jan-19 9:27am.
|
|
|
|
|
I had to learn x86 assembly to detox from that old form of basic. It made learning modern languages difficult.
|
|
|
|
|
daflashrex wrote: I had to learn x86 assembly to detox from that old form of basic. It made learning modern languages difficult.
That is very interesting.
So assembly on commodore was really ugly then? How so?
|
|
|
|
|
It had already been a couple of decades by then so I didn't look at Commodores assembly.
|
|
|
|
|
|
Following close on the heels of OG's Useless IoT item of the weekend, for those that follow close on the heels I present;
Fashion WIFI Version Smart Led Dynamic Backpack[^]
A must have for all your back to schooler's. I can just imagine some of the graffiti that will be generated!
I may not be that good looking, or athletic, or funny, or talented, or smart
I forgot where I was going with this but I do know I love bacon!
|
|
|
|
|
Quote: show youthful vitality Where does that come from? I don't have any!
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
How soon before ads will start appearing on these backpacks?
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
Forogar wrote: How soon before ads will start appearing on these backpacks?
Windows 10?
I may not be that good looking, or athletic, or funny, or talented, or smart
I forgot where I was going with this but I do know I love bacon!
|
|
|
|
|
HA!
When you are dead, you won't even know that you are dead. It's a pain only felt by others.
Same thing when you are stupid.
modified 19-Nov-21 21:01pm.
|
|
|
|