I'd be elated to see a school program which just gives out PI Zeros.
At 10$ each kids can lose or break em. Now I'm imagining some super programmer origin story, where a old Unix coder gives a poor kid a PI and said kid ends up at Google later.
Back before I got my first salary job I was building apps on a old laptop. While struggling with Windows , Ubuntu ran like a champ.
I largely learned to program on that thing, got my first salary job and now I can buy whatever computer I want.
Check out the BBC micro:bit origin story. It's a fantastic little board that was given out to about a million 7th graders in the UK starting in 2016. It would be great to get more devices out so kids can learn to tinker and code. We are fortunate that each of our students has access to a computer that works well for coding. And Python runs on just about anything. :)
I'm not sure. Given that it was in 2016, most of those students are just probably going on to University this year. So I'm hoping we'll see some of that data come out soon.
The Pi is an excellent environment for learning to program - I love how it puts programming front and center. I imagine many poor kids couldn't do much with it until they got a keyboard, mouse, and monitor from the school as well. Some of these items can easily be found for free but perhaps not as much in poor neighborhoods.
It's really tough in a lot of places. The good news is that there are some new Pis that address that. For example, the Raspberry PI 400 looks like it could be a great way to get a computer in front of a student and all they need is a TV or monitor. (just like an old Commodore 64 or Apple II like I first fell in love with)
There are some amazing after school programs that are trying to address the uneven distribution of resources in computer science education, but we definitely need a more comprehensive approach in the US.
I have a Pi 400. It's a lot of fun but it's also $100 - a big jump up from $10. Also it's not really intuitive to navigate Raspbian without a mouse as a beginner, although mice are dirt cheap.
I've been looking for teaching Python to middleschool kids as well. Most of them are commercial, few free. We ended up starting with Minecraft Educational Edition, Python 101, since the kids already loved Minecraft.
https://education.minecraft.net/en-us/resources/computer-sci...
I'd like to see a Python course for kids using Google Colab, so you don't have to install stuff and jump straight to the lessons.
That's a great idea. We've seen some challenges in 2021 with Google Colab in school environments and they've only recently been resolved.
We love using Colab for teaching coding. The Jupyter notebook environment is great for learning, and the familiar Google Docs interface makes our students feel comfortable right away.
I'd love to make a Colab-based course for kids. Just haven't been able to devote the time to building it out fully. We have most of our Python basics materials in a Colab and we use it for our returning students to get back up to speed at the start of a new course.
Hi this is Sean from Teaching Python. Kelly has been commenting as KellyPared on this thread. We're so excited and touched that so many of you are interested in our show.
I see they've both been using Python for several years. The headline made me think it would be an interesting exercise if the instructors set out to learn something concurrently with their "students" -- it would be a way of showing learning techniques and how to go about finding resources. It could follow along with an external curriculum so that there are regular goals.
I'd been working with technology my entire life prior to starting to teach in 2018. When we started the podcast, it was because we were learning so much with our students that we needed a way to discuss and organize all of it.
When I look back on it, it's incredible how much I learned WITH my students. What we're really teaching them is not Python, it's how to learn new things, especially when it's difficult.
I think you could revolutionize education if you did this.
Consider this - learning is not about receiving factual information. Rather, it's about transitioning through a series of states that take you from being someone who does not know a thing to someone who does.
It's fairly obvious that for most people, receiving a snippet of factual information does not trigger those state transitions! Usually, what does trigger those state transitions is experimentation.
Experimentation increments you through those states. But effectively nobody records those intermediary states and state transitions. Egregiously, services that could sort-of do this, like stack overflow, explicitly do not.
Having that history would provide two things: more relevant information for learners, and data that would be useful for teachers to engineer a better curriculum.
You're hitting on the most important role of a teacher. It's not about providing the answers. It's about guiding the learner through the process of acquiring new knowledge.
We did a fascinating episode on the way we learn with Barbara Oakley. (https://www.teachingpython.fm/68). She taught us a lot about how the brain works through acquiring new knowledge and skills. I didn't realize how much of learning is a combination of creating surprising experiences and practicing the skills and behaviors that we want to develop.
So when we immediately provide the answers to a learner's question, we're not practicing the behavior of thinking through a problem or experimenting and researching to come up with effective solutions.
We also like to practice an iterative process for problem solving that encourages our students to quickly improve their understanding. When we include a reflection on what they learned as part of the process, it's amazing to see how fast they build confidence and competence in the coding.
If we just gave them the answers, they're not really learning anything other than to ask us!
It's a great question. I couldn't learn the basics twice, so what I always tried to do was have something new that I would learn with the students. So for one cohort, I'd learn about Turtle. The next, I'd learn about PyGame Zero. Or we would do new things with CircuitPython boards.
The best moments are when students learn something new and blow my mind. I had one student figure out how to make a really elegant Python for loop that would create a full rainbow of RGB colors using the colorsys library.
I had been writing this in 5-6 lines of code. She did it in two (plus the library import)
for i in range(255):
color = colorsys.hsv_to_rgb(i/255, 1.0, 1.0)
You could play with our PyBullet library, for simple robotics and physics sim/game experiments. It has docs and examples, single line install, and works in a colab:
pip install pybullet
Maybe I'm a pessimist, but with high-stakes standardized testing I can't see this ever working. Teachers need to optimize their time with students to ensure they are prepared for the test questions.
Hi, so what happened was---I was a bio teacher/tech educator and was asked to teach Python. No computer knowledge really, a little HTMl and File Maker but mostly used for educational reasons- absolute coding newbie (block code really doesn't count!)!
Practiced for a few months in the summer and started teaching. Really scary and in year 4, I am still learning. It is hard, it is humbling, it can be very humiliating at times, but isn't learning something new always like that! I have enjoyed the thread. The kids no my journey and Sean and I promote active learning and discovery in the classroom. Happy to answer questions. Thanks Scott for the point to! - Kelly
Looks like this is 82 episodes in. Are there any specifically high value ones that people have heard to point me in the right direction? I have some young kids and would be interested in some of this but don’t have hours to devote to a podcast. Thanks!
Depends on what you are interested in-- for your own kids, maybe the latest about Digital Citizenship is really for anyone associated with kids.
But we have an episode about hardware 78, 67 the Mu editor, 56 AI and Machine Learning with Kids, Pythonic Parenting with Anthony Shaw,Episode 13 Block Base programming with Edublocks and Josh Lowe...
While it helped build my career, it struggled to get investment and was the only public school in the county with these courses. I would have expected for it to be replicated.
I feel the same way. One of the limiting factors in the growth of these programs is not just the funding for hardware and software, it's the lack of qualified teachers that can effectively develop and run the programs.
Finally, one of the reasons we started the podcast (and our school has been VERY supportive) is to share as much as we can about our experiences to help support and inspire other teachers. We're lucky that we could learn and work together. Many computer science teachers don't have any peers in their subject area. We wanted to make a podcast that allowed them to be the third person in the room as we talked through the challenges, successes, and lessons learned from our teaching experience.
I went to four different Broward County high schools: McFatter Tech, Fort Lauderdale Preparatory, Western, and Sagemont. No idea what they're like now, but 20 years ago it was like something out of a bad movie.
First a network administrator frames the kid and gets him expelled, claiming that the slow, buggy Mac network is due to the kid hacking it with AOL Punters. Next school, the computer teacher has no idea how to even write HTML, and tells the kid to write the school's website and a calendar app for the teachers (for no pay of course, that would be child labor!). The kid removes viruses and fixes incorrect proxy settings in school computers, and is subsequently banned from the computer labs. Any computer issue is blamed on the kid, because his permanent record says he was expelled for hacking. Finally he's sent to a private school where everyone gets a laptop, and proceeds to learn how to scam ad companies, write networked programs to remotely share the homework answers with all the kids (p2p), and in his spare time builds parallel computing clusters and router linux distros that fit on floppies. After 9th grade he drops out, because clearly he wasn't learning anything!
Maybe we shouldn't even teach advanced computer classes, and instead just let the kids go wild. Maybe having a set curriculum takes away from them learning how to teach themselves and pick their own interests.
Nowadays I'm so stuck in my ways (and burned out on 'development') that I can't get myself to pick it up... as wonderfully useful as I know it would be
Respectfully, I think we need to stop with this idea of "You can pick up the basics of Python in an afternoon."
I think it's more specific than that. You can pick up the SYNTAX of python in an afternoon, if you have experience in coding in other languages. If you're also learning programming concepts and computational thinking skills, then it can take much longer. And that's a good thing!
One of the frustrations I see with students is that they think they are stupid for not picking up things as easily as I do. I have to remind them that I started coding more than 20 years ago. They didn't see all of the years of frustration and struggle when I was first learning how to code.
We need to normalize that everyone proceeds on their path with coding at different paces. It's great if you can learn a ton in an afternoon. It's also great if someone learns the same amount in a week, or a month, or a year.
While they're right, I can probably pick it up in an afternoon... that's really not my goal.
There's this weird behavior I've found in myself, where I don't just want to get started/be familiar, but I want to be good. I think this is common, and it simply comes with practice.
That's more where my... burnout from development comes in. I could pick up the basics quickly, but unless I can get past this urge to stick with what I truly know in order to practice, it's another likely source of 'imposter syndrome' (for lack of a better term)
Maybe it's time to try doing something totally different than "development?" Have you done anything with Python hardware like CircuitPython with Adafruit's boards? You may find it refreshing to think about coding in the hardware space where the mindset is different than pure development....
I definitely think I could, and I appreciate the boost!
I'm generally aware of some Python rules already through associates, and a lot of scripting/proper programming - so I definitely agree. I could pick it up quickly.
I personally just find it difficult to get the gumption to pick up development-style things anymore.
I can tolerate a good bit of (bash) scripting, Ansible, etc - but Python gets a little too close for me ('factories' to make objects of objects, etc).
While it would be useful, the amount of 'practice'/grey matter shaping necessary to get good enough to get there... harder to undertake (when my current habits have done 'okay')
At 10$ each kids can lose or break em. Now I'm imagining some super programmer origin story, where a old Unix coder gives a poor kid a PI and said kid ends up at Google later.
Back before I got my first salary job I was building apps on a old laptop. While struggling with Windows , Ubuntu ran like a champ.
I largely learned to program on that thing, got my first salary job and now I can buy whatever computer I want.