(评论)
(comments)

原始链接: https://news.ycombinator.com/item?id=41047110

用户创建教育资源,包括 Unix 管道、机器代码、C 指针游戏、Python 卡和缓冲区溢出汇编游戏,例如“溢出”、“蛇和梯子”(可打印)和“恐慌”。 后者包括适合标准扑克牌的实用恶作剧。 用户免费提供这些材料并鼓励其他人下载和改编它们。 他们提到了与社交媒体应用程序和繁重的学校日程等数字干扰相竞争的挑战。 用户的目标是通过参与活动向孩子们传授基本的计算概念,从理解寄存器、指令、流程开始,然后分解事物以解决问题、学习和批判性思维技能。 用户批评现代用户界面限制了对程序、文件和操作系统的控制,从而剥夺了用户的权力。 他们的灵感来自旧的 Commodore 64 用户指南,用户可以直接访问硬件和软件,从而实现创造力和实验。 他们认为,个人不应该仅仅使用技术,而应该通过自己编程来控制技术,以获得更多乐趣。

相关文章

原文


I make those decks (https://punkx.org/) to help me teach my daughter, and so far they seem very effective, especially the unix pipes one and the 4917 machine code https://punkx.org/4917/ and the pointers deck https://punkx.org/c-pointer-game/ , from the python deck I use only 10 cards or so

btw, you might also like https://punkx.org/overflow/ which is a buffer overflow riscv assembly board game, or depending on your kid's level you can also play snakes and ladders with gotos https://punkx.org/overflow/build/snakes-and-ladders.pdf

Also if you have kids, I would recommend you print https://punkx.org/panic/ which has amazing pranks that fit in one poker card (e.g. randomly hitting backspace or space every 30 seconds, or pressing W randomly if minecraft is open)

I am donating a lot of the decks to teachers and schools, so if you are interested send me an email.

PS: I am in London for 1 more week, so if you order decks now the shipping will be delayed, but I will make sure I add 1-2 extra decks in the package because of it.

PPS: the unix pipes expansion deck is all about process substitution, but I don't think its useful for kids, though I think it contains nice puzzles



This is really cool!

One thing I noticed: in the game there are tasks like print the second line and print the seventh line. But both of those lines are empty. So technically e.g. a non-matching grep is a correct solution. :)



I ordered 1 of all your available decks a few months ago, my daughters are too young for them still, but I think they are great, and I can't wait to bust these out in 8+ years



So cool! I'm ordering a few of these after rework tonight.

Out of curiosity, how do you handle printing? DIY? POD? Order in bulk and ship yourself? I'm always so interested in how people handle physical product sales at a small scale.



Yea that's the fault of the scoring method (Count pipes). Character count would be better... either that or play within the spirit of the game and learn the tools for their intended purpose. I use a lot of awk/sed for quick one-time processing and I use a similar mental model for how I do most of my processing. Build a input stream, use sed to structure the data into records, use awk to process records, massage the output (e.g. sort/uniq). In many cases I could use sed or awk to replace eachother but that makes it take longer to visualize and also harder to re-use.



> In many cases I could use sed or awk to replace each other

I always felt that way too. I don't do a ton of command line processing of stuff now, but got pretty proficient with them back in day specifically for a unix class in college. A lot of the seemingly simple command line tools have overlapping feature sets or can be coerced into doing extra stuff.



The great thing about this game is that whoever knows UUoC will be the winner.

cat file.txt | tr a-z A-Z | sort (loser)

tr < file.txt a-z A-Z | sort (winner!)



Are kids these days actually able to grasp things like this? I don't have kids and am never around them, so please take this question as genuine and in good faith.



I think it depends a lot on the kid and the parent, I am teaching my daughter since she was 10, and I try to spend time every day doing something, you can see our progress here: https://github.com/jackdoe/programming-for-kids/blob/master/...

It is difficult because I have to compete with snapchat and google/meta for her attention, and school is quite exhausting. Snapchat has this super annoying 'streaks' and the more friends you have the more streaks you have to keep alive, so you have to send like 400 messages per day.. its non stop. I teach her that there are 100_000 developers and psychologists and product owners and etc, that they go to work every single day thinking how to extract the most value out of her attention, and she has to constantly be aware of what is the "algorithm" making her do.

Unix Pipes she got quite quickly, but doesn't use often, but the idea of one program reading another program's output she got. Also grasping the command line was not that difficult. But I used quite some tricks to help. For example her windows PC I change the shell from explorer to cmd.exe, so it boots in cmd, so she has to navigate and also fix it. I also make scavenger hunts on her filesystem so she has to look for a file using dir and cd and etc, also https://overthewire.org/wargames/bandit/ I bribed her with robux for passing each level of the bandit game

I want to teach her how computers work and how to make them do what she wants. From what is a register, to an instruction, to a program to a process. Kihon no Kihon as they say. But in the process I also teach her how to break things down and how to think and most importantly how to learn. I teach her about the heart of things, so there is no mystery between the keyboard press and the letter appearing on the screen, or how chatgpt predicts the next word (I am working on a RNN board game with 3 neurons and you have to teach it to count https://punkx.org/move-37/rnn.pdf [work in progress])

So in the end I am not sure if it matters what you teach your children :)



Not sure about kids, but I've seen university students that literally did not know how to use a non iOS computing device. Colleagues had to start explaining what a file is, a folder, etc etc, in their courses.

Honestly I don't find that too bad. My guess is that computers will go the same way cars did: Most people will only know the very basics that are needed to operate the thing. Any deeper knowledge will be left to enthusiasts and professionals. Thus computers, while getting more complicated internally, will have fewer and fewer modi of usages.



> what a file is

What is a file, what is a program, how programs run and how programs communicate, is not understood by most people (including most CS students).

> Honestly I don't find that too bad.

I understand what you mean, it is the same with most technology, users just use it, as your example of cars, or even furniture, or forks and spoons, or language, I am not even sure it is related to complexity.

But I disagree on what it means to use a computer, because unlike other machines, it does what you make of it (now even more, with llama 3.1 out), I think to use a computer means to program it. Somehow in the last 30-40 years, user interfaces gave up on their users. You dont own your programs, your files or in many cases even your computer, it doesnt start the programs you want(iphone for example), and you cant debug other programs (e.g. in case of macos you cant gdb -p into signed programs unless you disable the system's integrity protection).

Somehow we managed to squeeze all the fun out of it. As John Carmack says: the distance between what it is, and what it could be, is the opportunity, and I am sure people can have way more fun programming :)

This commodore 64 user guide: https://www.youtube.com/watch?v=J9WnHuGjZ38 is my inspiration.



The first class of my CS degree was "How to use Microsoft Word" and some of the other students had a really, really hard time figuring this out. Including the guy next to me who kept telling me he had a job lined up already to write software for nuclear reactors in Pascal.



This aligns with reality.

To be fair to the other guy, early versions of MS Word sucked when it came to LaTeX representations of integrals and nuclear decay chain notations.

Perhaps more recent versions do better.



Why would using a fancy editor be in any way relevant to writing code? That CS class should be dropped from the curriculum, imo, until such time as bolding a register has some sort of meaning, or perhaps viewing an sql table via "print preview".



There was a post on HN some time ago about a candidate for a senior IT role, who wrote code in MS Word.

I can't find it right now. Maybe I should try Bing search



Great fun with the autocorrected Unicode double quotes.

A customer of mine got bitten on a preproduction server because of a copy and paste from some blog, where ASCII " were converted to Unicode (slanted) "



A good developer I've been working with years ago told me "I really don't know how networking works [and SQL] but... I studied Graphic Design, not CS. While I was studying that I realized that I liked programming more than design so I started doing it and never got a formal education about computer stuff." He was really good at Node and he ended up being the lead developer of the company he was working for. I know good developers coming from all sort of backgrounds, from Philosophy to Agrarian science (if that's the right English term for that.)



Not the same, but I mailed a sweatshirt to a relative in Sweden from the US and it was like $36 and if I wanted it tracked the whole way it would have been something like $55. Granted this was USPS and maybe shopping it around would have been cheaper, but I had no idea that international shipping was so expensive considering you can buy stuff from china and shipping is basically free.

联系我们 contact @ memedata.com