4 ms·
Yeah, I'm the one who sees tech an "end to a means" for thinking students should learn boring technology[1], while CS professors who use students to try out the
by amadeuspagel 3y ago
Yeah, I'm the one who sees tech an "end to a means" for thinking students should learn boring technology[1], while CS professors who use students to try out their custom-made visual programming kit are the ones who "rightfully see computers as a means to an end".
[1]: https://mcfunley.com/choose-boring-technology https://mcfunley.com/choose-boring-technology
- DonHopkins 3y agoYou're wildly mischaracterizing and misunderstanding where the people who developed and inspired Snap! are coming from, and what their background and experience in teaching computer science and other subjects to kids and college students really is. If you'll please take the time to read some of the things they've written, especially the The Beauty and Joy of Computing, and the long history of Scratch and Logo and Scheme that led to and inspired the development of Snap!, you'd probably find that you agree with a lot of things they say. https://en.wikipedia.org/wiki/Brian_Harvey_(lecturer) https://en.wikipedia.org/wiki/Brian_Harvey_(lecturer) https://bjc.berkeley.edu/team/snap/ https://bjc.berkeley.edu/team/snap/ https://snap.berkeley.edu/research https://snap.berkeley.edu/research https://www.snapcon.org/users/5 https://www.snapcon.org/users/5 https://en.wikipedia.org/wiki/Cynthia_Solomon https://en.wikipedia.org/wiki/Cynthia_Solomon https://news.ycombinator.com/item?id=36755836 https://news.ycombinator.com/item?id=36755836 Seymour Papert, introducing "The Turtle": https://www.youtube.com/watch?v=-V_OPfmbbCk https://www.youtube.com/watch?v=-V_OPfmbbCk https://www.youtube.com/watch?v=fTO-Ruby-Uo https://www.youtube.com/watch?v=fTO-Ruby-Uo https://www.youtube.com/watch?v=CJlRGe5QGhs https://www.youtube.com/watch?v=CJlRGe5QGhs Also thanks to Lars Brinkhoff's research: Here's a video uploaded by Cynthia Solomon. Seems legit. https://www.youtube.com/watch?v=c4kMzrDr4jQ https://www.youtube.com/watch?v=c4kMzrDr4jQ Definitely check out the rest of Cynthia Solomon's youtube video treasure trove, with lots of great stuff by Marvin and Margaret Minsky, Seymour Papert, and others from MIT and Atari Cambridge Research: https://www.youtube.com/user/cynthiaso/videos https://www.youtube.com/user/cynthiaso/videos Seymour Papert on Logo, Turtles and Giraffes: https://www.youtube.com/watch?v=maDzjHIiXZc https://www.youtube.com/watch?v=maDzjHIiXZc https://www.youtube.com/watch?v=lDyym_9-E-g https://www.youtube.com/watch?v=lDyym_9-E-g https://www.youtube.com/watch?v=ha8sTgtUejM https://www.youtube.com/watch?v=ha8sTgtUejM A gestural programming system developed by Margaret Minsky, Danny Hillis, Daniel Huttenlocher, David Wallace (Gumby), and Radia Perlman at the MIT-AI Lab: https://www.youtube.com/watch?v=-Wq6SQTVM9M https://www.youtube.com/watch?v=-Wq6SQTVM9M Marvin Minsky demonstrating a Logo Machine with an acoustic modem and cassette tape, talking about education theory, and showing a part of his first "thinking" machine: a simulated nerve synapse (1 of 40) with an adjustable knob that he built in 1951 out of WW-II surplus hardware, and discussing playing with Tinker Toys as a child: https://www.youtube.com/watch?v=c4kMzrDr4jQ https://www.youtube.com/watch?v=c4kMzrDr4jQ https://www.youtube.com/watch?v=S72xF3gd-mI https://www.youtube.com/watch?v=S72xF3gd-mI https://www.youtube.com/watch?v=yZRQQl8mA0c https://www.youtube.com/watch?v=yZRQQl8mA0c https://www.youtube.com/watch?v=dfKRNHRyD64 https://www.youtube.com/watch?v=dfKRNHRyD64 David Levitt demonstrating his musical improvisation software: https://www.youtube.com/watch?v=ocwsVkqEKys https://www.youtube.com/watch?v=ocwsVkqEKys List of Logo memos from MIT AI Lab: https://github.com/pdp11/sits/wiki/List-of-Logo-memos https://github.com/pdp11/sits/wiki/List-of-Logo-memos Brian Harvey’s Personal Narrative on Snap!: Scheme Disguised as Scratch https://escholarship.org/uc/item/1623m1p3 https://escholarship.org/uc/item/1623m1p3 >In 2009, the University of California, Berkeley, was one of several universities developing a new kind of introductory computer science course, meant for non-CS majors, to include aspects of the social implications of computing along with the programming content. Scratch wasn’t quite expressive enough to support such a course (it lacked the ability to write recursive functions), soProf. Daniel Garcia and I thought “What’s the smallest change we could make to Scratch to make it usable in our course?” After 20 years teaching Structure and Interpretation of Computer Programs [Abelson et al.1984], the best computer science text ever written, I knew that the answer to “what’s the smallest change” is generally “add lambda.” I joined forces with German programmer Jens Mönig, who had developed BYOB (Build Your Own Blocks), an extension to Scratch with custom (user-defined) blocks, including reporters and predicates. [...]
- amadeuspagel 3y agoI'm not criticising snap, I only question whether it's a good way to make websites.
- DonHopkins 3y agoWhat do you mean by characterizing Snap! and its HTML extensions as a "custom-made visual programming kit"? How is it "custom-made", and what's wrong with that? The HTML extensions to Snap! are essentially just block based macros. Are Lisp macros a "custom-made domain specific language", therefore it's bad to make websites with Lisp if you use macros because they're "custom-made"? Paul Graham would probably disagree. What's wrong with using "any language you want", what's so "custom-made" about Snap!, and why is that a problem? https://news.ycombinator.com/item?id=606619 https://news.ycombinator.com/item?id=606619 https://ep.turbifycdn.com/ty/cdn/paulgraham/bbnexcerpts.txt https://ep.turbifycdn.com/ty/cdn/paulgraham/bbnexcerpts.txt Lisp in Web-Based Applications Paul Graham (This is an excerpt of a talk given at BBN Labs in Cambridge, MA, in April 2001.) Any Language You Want One of the reasons to use Lisp in writing Web-based applications is that you can use Lisp. When you're writing software that is only going to run on your own servers, you can use whatever language you want. [...]
- amadeuspagel 3y ago> What do you mean by characterizing Snap! and its HTML extensions as a "custom-made visual programming kit"? This is what I mean by custom-made: > Undergraduate Fuchun Wang created a great set of blocks explicitly designed to look like SQL for manipulating CSV files. We used these blocks to talk about queries and database design in the class. To me the fact that someone had to create this for this class indicates that this is not a common and well-supported way to build database-backed websites. > Are Lisp macros a "custom-made domain specific language", therefore it's bad to make websites with Lisp if you use macros because they're "custom-made"? I'm not saying that making websites with any tech is bad, but I think students should learn how to make websites using standard tech. And that's how I understood the goal here: My students build websites. And maybe a freelance web developer would be a better teacher then a CS professor.
- Dalewyn 3y agoThe history professor doesn't want to teach what a website is, she wants to teach why you might want a website; in this case to present information in a database. Therefore, how you make that website is completely irrelevant; the website is not the end here, it is a means. You, on the other hand, are asking why she isn't teaching what a website is. So yes, you're seeing computers as the end to a means while the history professor is asking how computers could be a means to an end.
- strken 3y agoDoes "boring technology" in a university context mean Sqlite and JS, which the students have never seen before and which the university doesn't use for teaching introductory courses? Or does it mean the existing education tool Snap which is already in use and familiar to students?
- mcpackieh 3y agoI bet more Freshmen already know basic SQL and JS than Snap. I know some primary/highschools teach Snap, but a lot more must be teaching JS. SQL as well, I know at least some highschools teach the basics and tbqh basic SQL queries are basically requests phrased in English. And it should be easier than ever now that LLMs are pretty good at taking requests actually phrased in English and turning them into valid queries. You don't need to learn relational algebra to learn 'select name from patients where age > 50;' Did you know in the 70s and 80s, common undergrads (not CS students) used to program Fortran on punchcards? My mother was an undergrad biology student, when she learned I was interested in programming she pulled a dusty box of punchcards out of the attic to show me programs she had written. If colleges are using Snap instead of asking students to write some basic SQL queries, I think they're damning those students with faint expectations.
- vcg3rd 3y agoNot only that, but the history professor is gearing the goals towards particular professional goals and using the students to further them. I.e: "What do you want your humanities students to know about computers? How to help me professionally." If any of those students in humanities need to do data science later for their own careers how does building websites with Snap help them?
- detourdog 3y agoWhy not use the lingua franca tools of the university website.
- dahart 3y agoPeople definitely use this idea of choosing boring technology to justify the use of visual languages and/or domain-specific tools when building systems, instead of general-purpose programming. Lots of people might say go for FileMaker or Access over writing your own lower-level JS & SQL, if you want to generate a site or use a database to generate any kind of automated report or output.
- zer8k 3y agoTo be honest, these types of posts come off with a level of smugness that I don't have words for. It's this holier-than-thou attitude that prevents us from getting people to use their computers better. Yes, there are 1,000 better options than a visual programming language. But to your point about "using boring technology" the professor chose the most boring technology available that will convey the message effectively. When considering an audience of Non-CS, possibly non-technical, people you will look like a jackass trying to tell them life will be better learning something more complicated. Not everyone wants to spend 6-12 months learning something just to start what they want. It may humble you to go volunteer to teach adults how to program. Once you're outside the bubble of technically minded people it becomes very obvious how intractable the problem can become. If you're smart, you will arrive at the same conclusion the professor did. In some cases it's often better to start people off with PlaySkool My First Language than immediately plunging them into the depths of language hell. Especially if the goal is simply to improve their productivity. An example from my personal life. I have taught business people how to think about programming. I generally will sit them down and teach them about Excel, Excel macros, etc. I don't use these in my daily life. I might prefer R, Pandas, or something else. If I recommended those to a non-technical person they would learn nothing. But if I teach them something they can click, play with, etc they will not only be more effective but perhaps eventually be inspired to spread their wings a little. It's not a hit to my ego and I don't look down on them.
- amadeuspagel 3y ago> It may humble you to go volunteer to teach adults how to program. Indeed I've never done that. I would have thought that college students are young and intellegent enough to learn to code, but if that's not the case, and they're supposed to learn how to make websites, then they should learn wordpress, or some other CMS that's actually used. > An example from my personal life. I have taught business people how to think about programming. I generally will sit them down and teach them about Excel, Excel macros, etc. Yes, Excel is a tool that's used in the real world, and that's the kind of tool people should learn.
- Dalewyn 3y ago