3 ms·
This loos like a nice thing to try and do with my kids while we are confined. Does anybody have any experience with it? Do you know of other comparable (or bett
by Schiphol 7y ago
This loos like a nice thing to try and do with my kids while we are confined. Does anybody have any experience with it? Do you know of other comparable (or better) resources to introduce kids to CS?
- _1 7y ago> Does anybody have any experience with it? Not this program specifically, but in high school I was taught Pascal without touching the computer for the first couple of months. All of our programs had to be written by hand. And included traces of the code ... all the values of the variables throughout the lifetime of the program. I was disappointed at the time, but looking back, it was a great way to write code. It was more about the meaning of the code, not fighting compiler errors. Edit: this would have been 1993, when I was in 9th grade.
- airstrike 7y ago> I was disappointed at the time, but looking back, it was a great way to write code. That's exactly how I felt and feel about a similar experience I had learning Scheme
- tnecniv 7y agoI think that depends on your kid. I learned to code when I was 13 and I would have hated the computerless approach. I specifically remember being ~15 and someone pointing this out to me in an IRC room --- I thought that they were being pedantic. Older me now finds the stuff you do without a computer the most fun. One suggestion I might have is, depending on their age, doing combinatorial game theory with them. That sounds really hard and fancy, but it's not (at least at the introductory level). There's a lot of games that are really simple to describe (e.g. counting games, simple board games) and your goal is to figure out the smartest move and / or if the player who starts the game can win.
- teach 7y agoI spent 20 years as a public school teacher and am still active in the Advanced Placement Computer Science teacher community. This is good stuff, and very well-regarded by my colleagues. Depending on the age of your kids, https://automatetheboringstuff.com/ https://automatetheboringstuff.com/ or another of Al's books are quite good to start with and free to read. For younger kids, Code.org's "Hour of Code" stuff uses Scratch, which is a nice block-based visual programming language that's still a real enough language under the hood; I had co-workers who used Scratch to have their AP CS students sorting lists of numbers and other "real" algorithmic tasks. And I'd be remiss if I didn't mention the book I wrote, which is linked in my bio.
- Schiphol 7y agoThanks a lot :) I'll be sure to check your book out.
- carls 7y agoFormer middle- and high-school CS teacher here. I also have used this with my students before. Most of the activities are definitely great and it's generally a well-regarded resource in the CS teaching community. The at home resources are here: https://csunplugged.org/en/at-home/ https://csunplugged.org/en/at-home/
- bmelton 7y agoHow many kids, and what ages are they? My daughter's 10th grade programming teacher (<3 you, Mister Serota) had a pretty brilliant mechanic for teaching functions to kids in his class that he relayed to me, and which I will attempt to relay to you. Effectively, he simply assigned some of the children in class to be 'a function.' Whatever input he gave them, they would have a predetermined routine to execute and give him output. E.g., "Billy, your function adds 2 to whatever input is given. Barbara, your function is to divide everything by 2. Samantha, your function is to determine whether or not dividing something by 2 will leave a remainder (modulo)." Then he would work complex computations through the room with scripts he'd devised, showing the power of chaining functions together. Similarly, if you give Billy the "+2" function, and then give him an input value of "A", well, he might come back with "C" as the output, or he might come back with puzzlement, and you can teach error handling. Similarly, you can assign multiple kids the same functions (and show asynchrony, or hand them different bad values to show the possibility of inconsistent code). TLDR: You "program" the children to be functions, feed them data, and then play around with how to best illustrate the concepts by manipulating the inputs and how you string them together.
- Schiphol 7y agoThat's a fantastic idea. Thanks for taking the time to explain it.