4 ms·
This is so timely! I am teaching CS to some high-schoolers and they just got introduced to Python, I want to hook them by getting them to make something that th
by raghavtoshniwal 6y ago
This is so timely! I am teaching CS to some high-schoolers and they just got introduced to Python, I want to hook them by getting them to make something that they can play around with. Could use this there :D
Somehow, it feels like, CS education is getting both easier as new low friction tools are being made available each day and getting harder because the sheer complexity and number of things to know to really understand anything at all the levels of abstractions is getting more complicated.
- gljiva 6y agoAs a former high-school student who has done many little projects with tkinter at that time, I would recommend against dumping tkinter altogether for several reasons: - with higher complexity comes higher versatility. I liked how it enabled me to be creative - there are two well-written reference websites for learning it easily despite complexity (and that's important if you want your students to like/learn to read the docs) - the tkinter being shipped with Python meant quite a lot to me However, the reason I did that many projects is that part of my class wasn't really into programming, so if you think that learning and using this will be significantly easier than tkinter basics, go with it, but I would recommend leaving tkinter at least as an option for "those who want to know more", i.e. students who are considering studying CS.
- GeorgeTirebiter 6y agoWhat are the URLs for those two well-written references you mention? Thank you.
- smt88 6y agoHonestly I would advise against this for beginning coders. It's very "magical" -- there's no easy way to see how the text translates into a UI. It gives them no additional understanding of GUIs at all, really. Whenever you encounter a new programming topic for the first time, it helps a lot if you encounter it in a fairly universal format. I'm not sure about Python, but in most languages, there are simple GUI libraries that accomplish both of your goals: exciting students with interactive programs and helping them more deeply understand how GUIs are usually built and maintained.
- atoav 6y agoI would advise to use processing.org in python mode. You can draw shapes like lines and rectangles on your own and use it to visualise the programming flow (e.g. draw many lines at different positions with a for loop, but change the color on every fifth to red). Stuff like this is IMO the best way to learn programming for average people, because the first two blockers are usually: * you don't understand what problem you are trying to solve * it is all to abstract and you don't know what the thing you are doing actually is Seeing what you do is a good way to deal with these points, because then programming can feel more like drawing a doodle instead of doing your taxes. Once they got the basics you could still dive into the rest.
- atoav 6y agoDo you know this: https://py.processing.org/tutorials/ https://py.processing.org/tutorials/ ? IMO this would be the best way to start learning any programming language, because there is an simple IDE with examples, it is very visual and helps to convey basic programming structures just by doodling around. If I (as a open source python dev) had to teach teenagers I would start with this