HACKER Q&A
📣 Eugeleo

Project ideas for hands-on year-long programming class?


I’ll be leading a non-compulsory programming course at my local high school during the next academic year. There will be around 10 eighteen-year-olds which all have one-year experience with Python (i.e. they know the basics: loops, functions, datatypes etc), most of them wanting to continue their education at a university in CS or related field. I’ll have 90 minutes per week for the course.

I think the best way for them to continue their foray into programming would be to do a large project that would help me demonstrate the more advanced programming concepts like architecture, testing, and model design, and also some of the things closely related to commom programming work, like build tools, git, and basics of command-line.

My current idea is to group them to teams of two or three people and let the teams choose a project from a small selection of related projects. During the year they’ll be working on different parts of the project, with the lectures being mostly filled with discussion about that weeks’ “task” and maybe a short presentation on the topic by me. I’d also like to give detailed feedback on the code during the year (that’s the reason I want three teams rather than 10 individuals).

Firstly, do you think it’s a good approach to a programming course? And if so, which projects do you think would fit, considering they ought to be “iterative” in nature (so that we can split them up to parts), interesting and should demonstrate some common programming patterns?


  👤 verdverm Accepted Answer ✓
YES, this is a great approach. The last class I taught was a flipped graduate level machine learning. The students loved it, learned the material exceptionally well, and we had near perfect attendance. We gave the providence and they responded with perseverance.