from someone who can remember how they even got into programming:
it's because this is BS and just a toy, it's got no connection to the real world.
from the angle of someone trying to make some toy to teach programming, maybe in their head it's like: oh this is so simple and easy it should work perfectly for teaching
but from my experience, most of my learning came from "whats this?" "how do i make a thing like this?"
this doesn't provide a way to accomplish that or to promote curiosity
I think same applies to basic CS courses teaching bits and bytes, it's not really useful to know what bits and bytes are if you don't understand what they're even used for or why you should know what they are
however, this is just my subjective point of view, maybe it differs for others.
"This is python, we use it to do professional development work. Here's VS code, we use it to do professional development work. Let's learn them."
6 year olds: "Okay!"
Proceeds to mangle whitespace, variable names, scope, indexing, ==, forgets :, doesn't understand what def is, even after they get all that the program is basically "hello world" print to console.
6 year olds: "Programming is hard and frustrating with little payoff, I don't want to do this anymore"
The one 6 year who who will grow up to be a greybeard sysadmin "This stuff is great! I can't wait to learn more!"
Teachers: "I have no idea what I'm doing, Python is supposed to be easy but I'm just confused."
--
Here's how teaching kids goes without scratch:
"This is scratch, you snape these colored shapes together and they do things like make this character move"
6 year olds: "Okay!"
Proceeds to make games and stories with graphics, sounds and interaction, which they share with their friends, fully editable and runnable in a web environment with zero setup: https://scratch.mit.edu
6 year olds: "Wow programming is fun! I can't wait to learn more!"
The one 6 year who who will grow up to be a greybeard sysadmin "I agree this stuff is great! I can't wait to learn more!"
Teachers: "It wasn't hard to get up and running with scratch, it's very easy to teach and I get it."
But "no connection to the real world" is hard to sustain once you look at what people actually build with Snap!/Scratch. The ecosystem is full of bridges to physical stuff:
Cameras, microphones, audio, pen plotters, 3D (BeetleBlocks). Snap! 12.1 (video from a few days ago) adds body-language recognition, Bauhaus-style shape compositions, first-class Processes, translation updates:
The "what's this? how do I make a thing like this?" curiosity you describe is exactly how a lot of people get pulled in -- making something move, blink, sing, or stitch on a machine they can see, rather than learning abstract syntax first. Blocks are the on-ramp; the project is the motivation.
Different audience than yours, maybe. But "just a toy walled off from reality" undersells what this community has been doing for decades.
Snap! also teaches real computer science at college level while staying accessible to kids -- not a stripped-down kiddie language. Brian Harvey: "Snap! is Scheme disguised as Scratch" (though he notes the original intent was closer to Logo disguised as Scratch):
Re alanbernstein's point about keyboard vs GUI: Snap! is not keyboard-hostile. It has a keyboard editor for scripts -- build and edit whole scripts without the mouse, block search from the keyboard, infix arithmetic expressions typed left-to-right. Manual chapter:
I guess I just can't relate to it, because I was fascinated with the computing itself, not just getting from A to B as quickly as possible
so it wasn't the project that was the motivation, it was figuring out how to do it for real, and getting closer to expertise in programming
for example the TurtleStitch, I don't know how to say this exactly, but to me it doesn't strike as something that'd interest people who want to get into programming, but is more like a way to showcase how to do machined embroidery in an accessible way
I might be totally wrong, but my problem seems to be that a lot of this is just about showing off the capabilities of Snap, but it's not really something I would've engaged with for example?
like almost as if the ecosystem simply serves to show off Snap and thus misses the mark?
like Snap doesn't really provide a way to understand how stuff is actually done except for maybe simple logic. So I don't see how it'd be very useful for e.g. learning CS when it's not really something you'd see in the real world, i.e. you're learning a learning platform and some basic concepts
I guess my point is like, if it's not really something that's used in the real world, unlike say JS or Python, why use it instead of getting up to speed in a real language?
again, it could be that I simply don't get it, or that I'm not the target audience, but I feel like there's a reason why these haven't really taken off, and IMO there's no reason why they would need to, because they serve a very specific niche
like Snap doesn't really provide a way to understand how stuff is actually done... So I don't see how it'd be very useful for e.g. learning CS when it's not really something you'd see in the real world
The point of scratch is not to prepare students for the professional world of computing, nor is it to prepare students for study in a CS program.
Instead, it's to expose students to computational thinking at an early age in an accessible, age-appropriate way. It's the same reason we teach the Bohr model of the atom before exposing kids to orbitals and probability distributions -- the Bohr model is false but at least it can provide a model and scaffolding for future learning. They're not ready for the real Python of Javascript yet. You as a child might have been, but scratch is for teaching all students, not just the ones with a preexisting aptitude for coding.
if it's not really something that's used in the real world, unlike say JS or Python, why use it instead of getting up to speed in a real language?
Why do you feel like exposing young children to professional development tools is important? Have you ever tried to get a class of students up to speed in a real language? Give it a shot and it might answer a lot of your questions.
it could be that I simply don't get it, or that I'm not the target audience
Yes, this is very likely. Few years back I did a survey of elementary school students and their opinions on programming. Young kids exposed to Scratch reported that programming was "fun", "exciting", "enjoyable" and "something they wanted to continue to do". They viewed it as an extension of art and play. On the other hand, older kids who were then exposed to Python no longer reported feeling the same way about programming, instead using words like "frustrating", "hard", "confusing" and most damningly described it "like math class".
Exposing kids to the frustrating and confusing path first is a good way to make sure no one wants to go into the field. You as a child would probably have pursued the field nonetheless, so I can see why Scratch doesn't seem like a good teaching tool to you.
I feel like there's a reason why these haven't really taken off,
wdym Scratch is wildly popular with students and widely used throughout the world. You see people here in this thread stating it's what got them interested in programming. Something like Snap! is nice because it provides a higher ceiling for Scratch programmers. It's not as popular because it Scratch serves much of the role, but its existence is an important bridge for older students who will eventually transition to Python or Java.
For further reading that can explain the theory better than I can, see the writings of Alan Kay and Seymour Papert, especially Papert's book "Mindstorms".
like almost as if the ecosystem simply serves to show off Snap and thus misses the mark?
No, I think you're the one missing the mark. And even if it shows off Snap! while teaching computer science, and students have something tangible, soft, and colorful to show off from the learning process, in what way is that missing the mark? What do you even believe the mark it misses is?
In no way are any of those modules I mentioned merely intended to simply show off Snap's capabilities. They have much more legitimate pedagogical purposes, and if you'd simply watch some of the Snap!Con presentations and videos I linked you to, you'd see and hear their developers and teachers and students show and explain what those purposes and results are.
I attended Snap!Con in Barcelona, played around with TurtleStitch myself, and still have and cherish the cool textile artifacts (and also cool friends) I made.
And the TurtleStitch presentation included live streaming video of students of diverse genders and cultures and ages enthusiastically showing off and talking about the beautiful physical objects they designed, programmed, made, presented to their parents and the conference, and are rightfully proud of, and discuss what they learned from the experience.
Trigger Warning: If diversity enrages you but Nazi salutes don't, then that's your own bigoted psychiatric problem.
Snap!Con 2021 - TurtleStitch: The Power of Diversity
Over the last few years, the TS community has grown not only in size but also in diversity, integrating people from different cultures, ages and genders. We believe this has to do with the specific attraction that textiles generate. Every culture has a specific textile tradition which reaches directly into the daily lives of everyone, evocating both personal as well as collective memories, generating an affective field. The coding aspect allows rethinking this tradition from a contemporary point of view, creating a space that is open and not yet fully defined, inviting people to open experimental exploration.
How this space is then explored, how the technical and the textile are combined, how machine and hand-craft are related and what kind of products -- tangible products of ones own learning and creativity -- are generated is deeply influenced by local conditions and personal preferences, providing the space of diverse articulation and, through the peer exchange on the platform, collaborative inspiration.
In this talk, I will provide a short look back at the environment from which TurtleStitch emerged and give an overview of the current state. Voices from the TurtleStitch environment will provide their own perspectives on and use of TurtleStitch.
In a nutshell or TL;DR for someone unwilling to put in the time and effort to learn or even consider evidence, and who talks about promoting curiosity but is incurious yourself, and who performatively refuses to recognize an obvious Nazi salute and feels compelled to repeatedly defend and praise Elon Musk after he does it twice in a row on international television: it's all about Constructionist Education, not promoting or showing off a product, or selling computer controlled embroidery machines, Arduinos, and robots, or even a cynical huckster perennially promising full self driving cars and trips to Mars.
Constructionist learning is a theory of learning centred on mental models. Constructionism advocates student-centered, discovery learning where students use what they already know to acquire more knowledge.[1] Students learn through participation in project-based learning where they make connections between different ideas and areas of knowledge facilitated by the teacher through coaching rather than using lectures or step-by-step guidance.[1] Further, constructionism holds that learning can happen most effectively when people are active in making tangible objects in the real world. In this sense, constructionism is connected with experiential learning and builds on Jean Piaget's epistemological theory of constructivism.[2]
Seymour Papert defined constructionism in a proposal to the National Science Foundation titled Constructionism: A New Opportunity for Elementary Science Education as follows:
Papert> The word constructionism is a mnemonic for two aspects of the theory of science education underlying this project. From constructivist theories of psychology we take a view of learning as a reconstruction rather than as a transmission of knowledge. Then we extend the idea of manipulative materials to the idea that learning is most effective when part of an activity the learner experiences as constructing a meaningful product.[3]
And that's not bullshit, just a toy, or disconnected from the real world, as you so wrongly claim. You're the one who's making unsupportable statements that are provably disconnected from the real world, my friend. And yours are knowingly false whoppers intended to offend sincere educators and defend trolling fascists, not polite white lies to spare people's feelings.
Where the heck did the sudden vitriol come from? I went through the HN comments of the person you're replying to and found nothing like the kind of thing you're replying to in the first several pages. If he said something months ago that you're bringing up, you might want to link to it, because at it stands it feels like you just suddenly started ranting about politics in the middle of a conversation about teaching kids to code. Which is... kind of offputting, you know?
Could we please try to follow the guidelines and not have flamewars and partisan dispute? Especially ones that seem to spring up out of nowhere, reviving conversations that are months old? I'm here to learn about cool new projects; if I want to read about politics or personal drama I have pretty much the entire rest of the Internet to do so.
Set showdead=true and you can see his fanatical arguments in defense of Musk's Nazi salutes, and attacks on other people who disagreed with him, which rightly got his multiple comments flagged dead.
His evidence-free Nazi-salute-defending arguments were in such bad faith, ignoring and refusing to address other people's valid counter arguments, the exact same way he is now ignoring and refusing to engage with mine, and sealioning questions whose very premises so wrong they don't deserve the answers I gave him anyway, that his old dead boot licking comments don't deserved to be linked or repeated, since they're a distraction from the useful things I actually linked to. The only thing his comments prove is that he's not arguing in good faith, and can only dispense drive-by evidence-free attacks.
You can easily find them yourself if you really don't believe me, but it's a waste of your time, because his comments have no value. Have you looked at any of those valuable links I did post yet, or did you just get stuck in the worthless rabbithole of his posting history?
I believe your time would be much better spent reading the links I already provided than his Musk cheerleading and oligarch water carrying and Nazi salute whitewashing. But if you really care about his arguments, why don't you ask him now to explain what he said about Musk, privately? Or doesn't he publish under his own name with his own email address so you can ask him, like I do?
I'm more than happy to answer your personal email about my own arguments and projects, and continue this discussion in private: don@donhopkins.com
His own ungrounded vitriolic words attacking Jens Mönig's and Brian Harvey's and Seymour Papert's life work like "it's because this is BS and just a toy, it's got no connection to the real world" and "like almost as if the ecosystem simply serves to show off Snap and thus misses the mark" are dismissive, insulting, and provably wrong.
So I posted several links and evidence refuting him and defending my friends. Yet then he repeated the same pattern as his full throated defense of Musk's Nazi salutes, by ignoring all the evidence, and reiterating his unsubstantiated false accusations, without providing any objective evidence or coherent arguments or even any citations himself.
If you'd like to learn about cool free open source educational projects, please look at the many links I already posted, and what I posted to the Logo discussion. At least spend as much time on those interesting relevent links as you already have wasted reading his uninteresing irrelevent posting history, please.
He didn't post any links or evidence or even coherent arguments to support his mistaken and aggressive accusations, while I refuted "this is BS" by linking to and quoting the Wikipedia page about Seymour Papert's Constructionist Education philosophy, "just a toy" by naming and linking to many Snap! projects and demos, and "no connection to the real world" by citing several physical real world connections like TurtleStitch.
Yet he dismissed and ignored all of that, and questioned the motives of sincere professional educators and developers of free open source software as merely and illegitimately promoting Snap!, because he isn't arguing in good faith, just attacking, and he didn't bother looking at any of the links, so he still doesn't know what he's talking about.
If reading his oligarch-syncophantic posting history (which I was trying to save you from by identifying where he's actually coming from) isn't interesting enough for you, and you still thirst to learn about cool projects, then please look at the links I already posted, read my other recent posts about Logo, and check out some of the other educational projects I've been developing over several decades, which were deeply inspired by Seymour Papert's Constructionism, that I've written a lot about.
But if like him you're so offput and triggered by the very mention of diversity, constructionist education, free speech for anyone but Musk, and criticism of an unloving parent so terrible and unaccepting that he publically and vitriolically disparages, abuses, and disowns his own trans daughter in front of millions of people that you have to leap to his defense, then there's nothing I can do for you, sir.
But I certainly hope you're not like that, so here are some links in good faith:
Gary Drescher's Schema Mechanism skill from "Made Up Minds" (based on his PhD thesis and book about how children learn, with his advisor Marvin Minsky at the MIT AI Lab):
Don't worry, I didn't spend much time digging through comment history. Thanks for the links; I'm about to have to leave my computer and do something else for several hours, so I can't look at them right now. But since you replied to one of my comments it'll be easy to find them again via the "threads" link, so I'll look at them later when I'm back at the computer. (And I did look at the first one; Logo Adventure is exactly the kind of thing I love to come across, so thanks for that!)
I'm not sure what caused him to lash out at me like that, I thought I was being pretty reasonable (albeit very casual with terms like BS), I even made sure to say multiple times that it was my opinions and views, and that maybe I just don't "get it".
I understand that some consider Elon a Nazi but I don't consider that a common belief, so I don't know why I'd need to support that belief in order to talk about this Snap language and others, like Scratch.
I don't love graphical programming environments like this and Scratch and I can't quite put my finger on why I find them so unattractive.
> A big part of it is that you can, to some degree, learn programming from this. But you absolutely cannot learn software engineering from this.
And you then showed off some embroidery stuff and things that I explained that in my own opinion, are not connected to real world software engineering/programming, and seem to serve Snap rather than things that you'd actually use in the field.
That's my opinion and I'm allowed to have my own. Otherwise all I could say is that you're right and its awesome. Right?
And here you are attacking me with things like:
"but it's a waste of your time, because his comments have no value. Have you looked at any of those valuable links I did post yet, or did you just get stuck in the worthless rabbithole of his posting history?"
"dead boot licking comments don't deserved to be linked or repeated"
Because apparently I'm not allowed to have my own opinions of blocky visual programming languages. A bit fascist isn't it?
Anyhow
"I attended Snap!Con in Barcelona, played around with TurtleStitch myself, and still have and cherish the cool textile artifacts (and also cool friends) I made.
And the TurtleStitch presentation included live streaming video of students of diverse genders and cultures and ages enthusiastically showing off and talking about the beautiful physical objects they designed, programmed, made, presented to their parents and the conference, and are rightfully proud of, and discuss what they learned from the experience."
Okay, how does this disprove my point that its more about making machined embroidery accessible vs. learning CS concepts?
And who would attend Snap!Con unless they were part of that community working on the ecosystem or deeply involved with it?
You're projecting that I'm arguing in bad faith, but clearly that's you here, I can't really engage with you properly when your replies are full of things like:
"
In a nutshell or TL;DR for someone unwilling to put in the time and effort to learn or even consider evidence, and who talks about promoting curiosity but is incurious yourself, and who performatively refuses to recognize an obvious Nazi salute and feels compelled to repeatedly defend and praise Elon Musk after he does it twice in a row on international television: it's all about Constructionist Education, not promoting or showing off a product, or selling computer controlled embroidery machines, Arduinos, and robots, or even a cynical huckster perennially promising full self driving cars and trips to Mars."
I visited all the links you provided and still arrived in the same conclusion.
and you're saying I'm incurious. Can you just stop lying and spreading lies about me? And when have I praised Musk?
If you're so emotionally attached to this 'language' that you feel the need to dig up "dirt" on me from my post history and spread lies and tell others that I'm some kind of fascist, maybe you should reevaluate your life choices. I wouldn't get this mad over someone criticizing Go or Rust etc.
And it proves that you're unable to take criticism of your language since you're convinced that no matter what, you're right and that with you posting some conference talk links, others should become convinced that it's a super relevant language.
And with regards to Constructionism, from my understanding, the main point seems to be to use existing knowledge to acquire more knowledge, CS/programming in this case.
From the Wikipedia page:
"The following five strategies make problem-based learning more effective:
1. The learning activities should be related to a larger task. The larger task is important because it allows students to see that the activities can be applied to many aspects of life and, as a result, students are more likely to find the activities they are doing useful."
This is exactly my criticism. With Snap / etc. the larger task is just a demo or something inside Snap. maybe controlling some robot, okay.
But it's not something you'd see in the real world, it can't be "applied to many aspects of life" in the context of CS, it's mostly constrained to Snap and its environment.
My belief is that learning is done best when there is a connection to something real, not just a simulation or an exercise. With Snap, it inevitably is kind of just a demo. Whereas with real languages you can get close to how things are done for real, which serve as a motivator and invoke curiosity.
Again, if it's your opinion that Snap is successful and that's why people are using it to learn to code, then that's fine. I haven't seen that happen yet and I believe there are reasons as to why I haven't seen that happen.
And since I'm here in good faith (unlike you) I will provide links to my Nazi comments as per your accusations:
btw, I have literally criticized the wealth of Musk in HN before and how it's unsustainable, same with the AI datacenter buildout and financial consolidation that's happening right now.
Considering your vast experience and knowledge, I find your conduct pretty embarrassing here.
Comments
from someone who can remember how they even got into programming:
it's because this is BS and just a toy, it's got no connection to the real world.
from the angle of someone trying to make some toy to teach programming, maybe in their head it's like: oh this is so simple and easy it should work perfectly for teaching
but from my experience, most of my learning came from "whats this?" "how do i make a thing like this?"
this doesn't provide a way to accomplish that or to promote curiosity
I think same applies to basic CS courses teaching bits and bytes, it's not really useful to know what bits and bytes are if you don't understand what they're even used for or why you should know what they are
however, this is just my subjective point of view, maybe it differs for others.
Here's how teaching kids goes without scratch:
"This is python, we use it to do professional development work. Here's VS code, we use it to do professional development work. Let's learn them."
6 year olds: "Okay!"
Proceeds to mangle whitespace, variable names, scope, indexing, ==, forgets :, doesn't understand what def is, even after they get all that the program is basically "hello world" print to console.
6 year olds: "Programming is hard and frustrating with little payoff, I don't want to do this anymore"
The one 6 year who who will grow up to be a greybeard sysadmin "This stuff is great! I can't wait to learn more!"
Teachers: "I have no idea what I'm doing, Python is supposed to be easy but I'm just confused."
--
Here's how teaching kids goes without scratch:
"This is scratch, you snape these colored shapes together and they do things like make this character move"
6 year olds: "Okay!"
Proceeds to make games and stories with graphics, sounds and interaction, which they share with their friends, fully editable and runnable in a web environment with zero setup: https://scratch.mit.edu
6 year olds: "Wow programming is fun! I can't wait to learn more!"
The one 6 year who who will grow up to be a greybeard sysadmin "I agree this stuff is great! I can't wait to learn more!"
Teachers: "It wasn't hard to get up and running with scratch, it's very easy to teach and I get it."
Fair that your path worked differently for you.
But "no connection to the real world" is hard to sustain once you look at what people actually build with Snap!/Scratch. The ecosystem is full of bridges to physical stuff:
Cameras, microphones, audio, pen plotters, 3D (BeetleBlocks). Snap! 12.1 (video from a few days ago) adds body-language recognition, Bauhaus-style shape compositions, first-class Processes, translation updates:
https://www.youtube.com/watch?v=ID7wYxzHUAc
Arduino / micro:bit / boards (Snap4Arduino, MicroBlocks, many hardware libraries):
https://www.youtube.com/watch?v=Ltzlzk_zkys&list=PL5OeDsbY1E...
Robots (Finch, Hummingbird, Lego NXT, drones):
https://www.youtube.com/watch?v=6_0EqIbTlkk
Sewing machines (TurtleStitch -- embroidery from blocks; one of my favorites):
https://www.youtube.com/watch?v=K6ra5ThxkrE
Web APIs and IoT:
https://www.youtube.com/watch?v=l_P7MoBG250
ML/AI and digital fabrication (Ken Kahn's eCraft2Learn):
https://project.ecraft2learn.eu/
The "what's this? how do I make a thing like this?" curiosity you describe is exactly how a lot of people get pulled in -- making something move, blink, sing, or stitch on a machine they can see, rather than learning abstract syntax first. Blocks are the on-ramp; the project is the motivation.
Different audience than yours, maybe. But "just a toy walled off from reality" undersells what this community has been doing for decades.
Snap! also teaches real computer science at college level while staying accessible to kids -- not a stripped-down kiddie language. Brian Harvey: "Snap! is Scheme disguised as Scratch" (though he notes the original intent was closer to Logo disguised as Scratch):
https://forum.snap.berkeley.edu/t/hygienic-macros/3258/6
Re alanbernstein's point about keyboard vs GUI: Snap! is not keyboard-hostile. It has a keyboard editor for scripts -- build and edit whole scripts without the mouse, block search from the keyboard, infix arithmetic expressions typed left-to-right. Manual chapter:
https://docs.snap.berkeley.edu/user-interface-elements/#sec-...
Demo (typing formulas from the keyboard):
https://www.youtube.com/watch?v=ahHAl3p3gEU
Full IDE accessibility (screen readers etc.) is still a work in progress; Jens and Brian document what's there now:
https://github.com/jmoenig/Snap/issues/1498
I guess I just can't relate to it, because I was fascinated with the computing itself, not just getting from A to B as quickly as possible
so it wasn't the project that was the motivation, it was figuring out how to do it for real, and getting closer to expertise in programming
for example the TurtleStitch, I don't know how to say this exactly, but to me it doesn't strike as something that'd interest people who want to get into programming, but is more like a way to showcase how to do machined embroidery in an accessible way
I might be totally wrong, but my problem seems to be that a lot of this is just about showing off the capabilities of Snap, but it's not really something I would've engaged with for example?
like almost as if the ecosystem simply serves to show off Snap and thus misses the mark?
like Snap doesn't really provide a way to understand how stuff is actually done except for maybe simple logic. So I don't see how it'd be very useful for e.g. learning CS when it's not really something you'd see in the real world, i.e. you're learning a learning platform and some basic concepts
I guess my point is like, if it's not really something that's used in the real world, unlike say JS or Python, why use it instead of getting up to speed in a real language?
again, it could be that I simply don't get it, or that I'm not the target audience, but I feel like there's a reason why these haven't really taken off, and IMO there's no reason why they would need to, because they serve a very specific niche
The point of scratch is not to prepare students for the professional world of computing, nor is it to prepare students for study in a CS program.
Instead, it's to expose students to computational thinking at an early age in an accessible, age-appropriate way. It's the same reason we teach the Bohr model of the atom before exposing kids to orbitals and probability distributions -- the Bohr model is false but at least it can provide a model and scaffolding for future learning. They're not ready for the real Python of Javascript yet. You as a child might have been, but scratch is for teaching all students, not just the ones with a preexisting aptitude for coding.
Why do you feel like exposing young children to professional development tools is important? Have you ever tried to get a class of students up to speed in a real language? Give it a shot and it might answer a lot of your questions.
Yes, this is very likely. Few years back I did a survey of elementary school students and their opinions on programming. Young kids exposed to Scratch reported that programming was "fun", "exciting", "enjoyable" and "something they wanted to continue to do". They viewed it as an extension of art and play. On the other hand, older kids who were then exposed to Python no longer reported feeling the same way about programming, instead using words like "frustrating", "hard", "confusing" and most damningly described it "like math class".
Exposing kids to the frustrating and confusing path first is a good way to make sure no one wants to go into the field. You as a child would probably have pursued the field nonetheless, so I can see why Scratch doesn't seem like a good teaching tool to you.
wdym Scratch is wildly popular with students and widely used throughout the world. You see people here in this thread stating it's what got them interested in programming. Something like Snap! is nice because it provides a higher ceiling for Scratch programmers. It's not as popular because it Scratch serves much of the role, but its existence is an important bridge for older students who will eventually transition to Python or Java.
For further reading that can explain the theory better than I can, see the writings of Alan Kay and Seymour Papert, especially Papert's book "Mindstorms".
No, I think you're the one missing the mark. And even if it shows off Snap! while teaching computer science, and students have something tangible, soft, and colorful to show off from the learning process, in what way is that missing the mark? What do you even believe the mark it misses is?
In no way are any of those modules I mentioned merely intended to simply show off Snap's capabilities. They have much more legitimate pedagogical purposes, and if you'd simply watch some of the Snap!Con presentations and videos I linked you to, you'd see and hear their developers and teachers and students show and explain what those purposes and results are.
I attended Snap!Con in Barcelona, played around with TurtleStitch myself, and still have and cherish the cool textile artifacts (and also cool friends) I made.
And the TurtleStitch presentation included live streaming video of students of diverse genders and cultures and ages enthusiastically showing off and talking about the beautiful physical objects they designed, programmed, made, presented to their parents and the conference, and are rightfully proud of, and discuss what they learned from the experience.
Trigger Warning: If diversity enrages you but Nazi salutes don't, then that's your own bigoted psychiatric problem.
Snap!Con 2021 - TurtleStitch: The Power of Diversity
https://www.youtube.com/watch?v=B-EGVQR9Aa4
In a nutshell or TL;DR for someone unwilling to put in the time and effort to learn or even consider evidence, and who talks about promoting curiosity but is incurious yourself, and who performatively refuses to recognize an obvious Nazi salute and feels compelled to repeatedly defend and praise Elon Musk after he does it twice in a row on international television: it's all about Constructionist Education, not promoting or showing off a product, or selling computer controlled embroidery machines, Arduinos, and robots, or even a cynical huckster perennially promising full self driving cars and trips to Mars.
https://en.wikipedia.org/wiki/Constructionism_(learning_theo...
Papert> The word constructionism is a mnemonic for two aspects of the theory of science education underlying this project. From constructivist theories of psychology we take a view of learning as a reconstruction rather than as a transmission of knowledge. Then we extend the idea of manipulative materials to the idea that learning is most effective when part of an activity the learner experiences as constructing a meaningful product.[3]
And that's not bullshit, just a toy, or disconnected from the real world, as you so wrongly claim. You're the one who's making unsupportable statements that are provably disconnected from the real world, my friend. And yours are knowingly false whoppers intended to offend sincere educators and defend trolling fascists, not polite white lies to spare people's feelings.
Where the heck did the sudden vitriol come from? I went through the HN comments of the person you're replying to and found nothing like the kind of thing you're replying to in the first several pages. If he said something months ago that you're bringing up, you might want to link to it, because at it stands it feels like you just suddenly started ranting about politics in the middle of a conversation about teaching kids to code. Which is... kind of offputting, you know?
Could we please try to follow the guidelines and not have flamewars and partisan dispute? Especially ones that seem to spring up out of nowhere, reviving conversations that are months old? I'm here to learn about cool new projects; if I want to read about politics or personal drama I have pretty much the entire rest of the Internet to do so.
Set showdead=true and you can see his fanatical arguments in defense of Musk's Nazi salutes, and attacks on other people who disagreed with him, which rightly got his multiple comments flagged dead.
His evidence-free Nazi-salute-defending arguments were in such bad faith, ignoring and refusing to address other people's valid counter arguments, the exact same way he is now ignoring and refusing to engage with mine, and sealioning questions whose very premises so wrong they don't deserve the answers I gave him anyway, that his old dead boot licking comments don't deserved to be linked or repeated, since they're a distraction from the useful things I actually linked to. The only thing his comments prove is that he's not arguing in good faith, and can only dispense drive-by evidence-free attacks.
You can easily find them yourself if you really don't believe me, but it's a waste of your time, because his comments have no value. Have you looked at any of those valuable links I did post yet, or did you just get stuck in the worthless rabbithole of his posting history?
I believe your time would be much better spent reading the links I already provided than his Musk cheerleading and oligarch water carrying and Nazi salute whitewashing. But if you really care about his arguments, why don't you ask him now to explain what he said about Musk, privately? Or doesn't he publish under his own name with his own email address so you can ask him, like I do?
I'm more than happy to answer your personal email about my own arguments and projects, and continue this discussion in private: don@donhopkins.com
His own ungrounded vitriolic words attacking Jens Mönig's and Brian Harvey's and Seymour Papert's life work like "it's because this is BS and just a toy, it's got no connection to the real world" and "like almost as if the ecosystem simply serves to show off Snap and thus misses the mark" are dismissive, insulting, and provably wrong.
So I posted several links and evidence refuting him and defending my friends. Yet then he repeated the same pattern as his full throated defense of Musk's Nazi salutes, by ignoring all the evidence, and reiterating his unsubstantiated false accusations, without providing any objective evidence or coherent arguments or even any citations himself.
If you'd like to learn about cool free open source educational projects, please look at the many links I already posted, and what I posted to the Logo discussion. At least spend as much time on those interesting relevent links as you already have wasted reading his uninteresing irrelevent posting history, please.
He didn't post any links or evidence or even coherent arguments to support his mistaken and aggressive accusations, while I refuted "this is BS" by linking to and quoting the Wikipedia page about Seymour Papert's Constructionist Education philosophy, "just a toy" by naming and linking to many Snap! projects and demos, and "no connection to the real world" by citing several physical real world connections like TurtleStitch.
Yet he dismissed and ignored all of that, and questioned the motives of sincere professional educators and developers of free open source software as merely and illegitimately promoting Snap!, because he isn't arguing in good faith, just attacking, and he didn't bother looking at any of the links, so he still doesn't know what he's talking about.
If reading his oligarch-syncophantic posting history (which I was trying to save you from by identifying where he's actually coming from) isn't interesting enough for you, and you still thirst to learn about cool projects, then please look at the links I already posted, read my other recent posts about Logo, and check out some of the other educational projects I've been developing over several decades, which were deeply inspired by Seymour Papert's Constructionism, that I've written a lot about.
But if like him you're so offput and triggered by the very mention of diversity, constructionist education, free speech for anyone but Musk, and criticism of an unloving parent so terrible and unaccepting that he publically and vitriolically disparages, abuses, and disowns his own trans daughter in front of millions of people that you have to leap to his defense, then there's nothing I can do for you, sir.
But I certainly hope you're not like that, so here are some links in good faith:
Logo Adventure for C64 Terrapin Logo:
https://donhopkins.medium.com/logo-adventure-for-c64-terrapi...
Micropolis: Constructionist Educational Open Source SimCity:
https://donhopkins.medium.com/har-2009-lightning-talk-transc...
This is Micropolis (open source SimCity) in WebAssembly:
https://micropolisweb.com/
This is The Sims 1 character animation system (which I original wrote in C++ 30 years ago) rewritten in TypeScript and WebGL:
https://vitamoo.space/
Micropolis and other open source code, documentation, and designs for new educational software:
https://github.com/SimHacker/MicropolisCore/
MOOLLM Constructionism skill:
https://github.com/SimHacker/moollm/blob/main/skills/constru...
MOOLLM Adventure skill:
https://github.com/SimHacker/moollm/tree/main/skills/adventu...
Adventure Compiler:
https://github.com/SimHacker/moollm/blob/main/skills/adventu...
Gary Drescher's Schema Mechanism skill from "Made Up Minds" (based on his PhD thesis and book about how children learn, with his advisor Marvin Minsky at the MIT AI Lab):
https://github.com/SimHacker/moollm/blob/main/skills/schema-...
MOOLLM Play Learn Lift skill:
https://github.com/SimHacker/moollm/tree/main/skills/play-le...
Don't worry, I didn't spend much time digging through comment history. Thanks for the links; I'm about to have to leave my computer and do something else for several hours, so I can't look at them right now. But since you replied to one of my comments it'll be easy to find them again via the "threads" link, so I'll look at them later when I'm back at the computer. (And I did look at the first one; Logo Adventure is exactly the kind of thing I love to come across, so thanks for that!)
I'm not sure what caused him to lash out at me like that, I thought I was being pretty reasonable (albeit very casual with terms like BS), I even made sure to say multiple times that it was my opinions and views, and that maybe I just don't "get it".
Here's my reply with links to my past comments: https://news.ycombinator.com/item?id=49671123
I understand that some consider Elon a Nazi but I don't consider that a common belief, so I don't know why I'd need to support that belief in order to talk about this Snap language and others, like Scratch.
You need to cool down.
I replied to this comment:
And you then showed off some embroidery stuff and things that I explained that in my own opinion, are not connected to real world software engineering/programming, and seem to serve Snap rather than things that you'd actually use in the field.
That's my opinion and I'm allowed to have my own. Otherwise all I could say is that you're right and its awesome. Right?
And here you are attacking me with things like:
"but it's a waste of your time, because his comments have no value. Have you looked at any of those valuable links I did post yet, or did you just get stuck in the worthless rabbithole of his posting history?"
"dead boot licking comments don't deserved to be linked or repeated"
Because apparently I'm not allowed to have my own opinions of blocky visual programming languages. A bit fascist isn't it?
Anyhow
"I attended Snap!Con in Barcelona, played around with TurtleStitch myself, and still have and cherish the cool textile artifacts (and also cool friends) I made.
And the TurtleStitch presentation included live streaming video of students of diverse genders and cultures and ages enthusiastically showing off and talking about the beautiful physical objects they designed, programmed, made, presented to their parents and the conference, and are rightfully proud of, and discuss what they learned from the experience."
Okay, how does this disprove my point that its more about making machined embroidery accessible vs. learning CS concepts?
And who would attend Snap!Con unless they were part of that community working on the ecosystem or deeply involved with it?
You're projecting that I'm arguing in bad faith, but clearly that's you here, I can't really engage with you properly when your replies are full of things like:
" In a nutshell or TL;DR for someone unwilling to put in the time and effort to learn or even consider evidence, and who talks about promoting curiosity but is incurious yourself, and who performatively refuses to recognize an obvious Nazi salute and feels compelled to repeatedly defend and praise Elon Musk after he does it twice in a row on international television: it's all about Constructionist Education, not promoting or showing off a product, or selling computer controlled embroidery machines, Arduinos, and robots, or even a cynical huckster perennially promising full self driving cars and trips to Mars."
I visited all the links you provided and still arrived in the same conclusion.
and you're saying I'm incurious. Can you just stop lying and spreading lies about me? And when have I praised Musk?
If you're so emotionally attached to this 'language' that you feel the need to dig up "dirt" on me from my post history and spread lies and tell others that I'm some kind of fascist, maybe you should reevaluate your life choices. I wouldn't get this mad over someone criticizing Go or Rust etc.
And it proves that you're unable to take criticism of your language since you're convinced that no matter what, you're right and that with you posting some conference talk links, others should become convinced that it's a super relevant language.
And with regards to Constructionism, from my understanding, the main point seems to be to use existing knowledge to acquire more knowledge, CS/programming in this case.
From the Wikipedia page:
"The following five strategies make problem-based learning more effective:
1. The learning activities should be related to a larger task. The larger task is important because it allows students to see that the activities can be applied to many aspects of life and, as a result, students are more likely to find the activities they are doing useful."
This is exactly my criticism. With Snap / etc. the larger task is just a demo or something inside Snap. maybe controlling some robot, okay.
But it's not something you'd see in the real world, it can't be "applied to many aspects of life" in the context of CS, it's mostly constrained to Snap and its environment.
My belief is that learning is done best when there is a connection to something real, not just a simulation or an exercise. With Snap, it inevitably is kind of just a demo. Whereas with real languages you can get close to how things are done for real, which serve as a motivator and invoke curiosity.
Again, if it's your opinion that Snap is successful and that's why people are using it to learn to code, then that's fine. I haven't seen that happen yet and I believe there are reasons as to why I haven't seen that happen.
And since I'm here in good faith (unlike you) I will provide links to my Nazi comments as per your accusations:
- https://news.ycombinator.com/item?id=49589879 - https://news.ycombinator.com/item?id=49590610 - https://news.ycombinator.com/item?id=49589966
btw, I have literally criticized the wealth of Musk in HN before and how it's unsustainable, same with the AI datacenter buildout and financial consolidation that's happening right now.
Considering your vast experience and knowledge, I find your conduct pretty embarrassing here.