The program is actually pretty interesting (by school standards). The course used to be in Java, but switched to Python two years ago. It's intended for complete beginners and aims at explaining basic CS concepts through Python.
I'm supposed to give them both individual and small group assignments in Python. I found some stuff on the Internet of course, but do you recommend any website, resource, idea for young newcomers?
[0] https://eduscol.education.fr/cid144156/nsi-bac-2021.html
Looking back at the learning process, the most useful parts of Automate the Boring Stuff with Python were the mini-projects: web scraping, GUI automation, and other immediately visible tools that helped a student to build tangible things. Once he had those, my little brother could figure out his own projects, like automating redundant tasks in the video games he plays.
Conversely, the least useful part of the book was its fundamentals. In retrospect I should've started him on a different tool like Codecademy. The instantaneous "correct/incorrect" feedback was a better fit for clearing the initial hurdle in understanding syntax.
Poll anything they might have a preference on (and not all the same) - movies, music, internet celebrities or what not - and build a system that asks someone's opinion on 5 things and then outputs suggestions.
I don't think you need anything fancy, but just counting "same entries" in the preference matrix would work to get basic collaborative filtering. Depending on the depth allowed, you can cast that more mathematically and maybe even discuss the idea of rank 1 factorizations (i.e. assign each person / thing a vector and attempt to approximate the matrix entries as scalar products) or optimization of that stuff.
As outlook, you have word2vec that works similar but has the added complication of the matrix being huge. Use that for a information retrieval or toy chat bot or whatever.
I did teach this to non-experts, but not high school kids. I imagine it would work similarly. Unfortunately, I don't know of a website that covers this for school kids.
I have a Pi Zero with an environment that can give you temp/pressure/etc and blink LEDs. I also have an automation hat that provides the ability to interface with stepper motors or other things. They use Python. There are quite a few projects related to these online, covering various domains and skill levels.
https://microbit.org/get-started/user-guide/python/
Having a hands on project is pretty cool for kids.
Why? Are they all comfortable with the english language? Why not find a french language PL and teach them that?
https://en.wikipedia.org/wiki/Linotte
I'm guessing all the libraries, documentation, etc would be in french.
> It's intended for complete beginners and aims at explaining basic CS concepts through Python.
Why would you use a programming language to teach basic CS concepts? Also, does it have to be fun? Must we be having fun at all times?
It’s a hard business, teaching someone super young that it’s really worth staring at a bunch of code blocks all day.
It’s even harder to prove to them that not only is it useful, but it’s not boring.
Kids need fun and exploration to pique their interest in a topic. No, it doesn’t have to be fun all the time, but good luck getting them started with “build me a calculator in C please”.