We often find that it’s difficult to set realistic projects for students who are just beginning to learn to code. They all want to make apps and games just like the ones they use, but those can take months (or years) of work! You need engaging ideas, that are fun to make, interesting for students, use what they’ve learned and hopefully cross-curricular to boot.
So to help we’ve put together this short list of five beginner project ideas you can use with your class (right now!). Each one is flexible, and could be differentiated and extended in a variety of different ways. This means you can also use these projects with higher grades where there is a lot more variation in experience. We find that the best way to run these projects is by pairing them with a Grok course. Our courses can help them practice and develop new skills while the project turns those skills in to a deeper and integrated understanding.
1.Flags of the Classroom — Our short activity Flags of the World is very popular amongst teachers and code clubs wanting to run an Hour of Code, but what to do if you have more than just an hour? Well we’ve seen classes have success with an extended Flags of the World activity. Students can come up with their own Flag (make sure it’s geometrically interesting!) and then figure out how to draw it. You can differentiate the activity with more or less complex seed ideas, and scaffold with the code they used in the Flags of the World activity.
2.Code Your Own Adventure — Zork! This one brings back memories. Though many of your students have probably never tried a text adventure, they can be really great fun (plus, it’s a good cross curricular 😉). Our Dark Tunnel activity can be used to introduce the idea, then it’s up to your students to extend it. For simple extensions have students structure it like a “choose your own adventure” book, with simple branching at each choice. Intermediate extensions might add loops, or paths backwards. More advanced extensions could add items, rooms and actions (like putting a key in a door). This is a useful place to integrate Dictionaries, or Object Oriented design.
3. DIY Chat Bot — we’re enamoured with the Australian Computing Academy’s new Chat Bot course (arrrrr! ⚓️) and it’s a great place to start a project. Students can build their own themed chatbot (personally I’d make Marvin 🤖 from Hitchhikers Guide to the Galaxy), then extend their bot to perform different or more complex actions. Since a lot of the different actions are implemented in similar ways, this is a perfect project for beginners to help students get comfortable with loops and branching. For a fun bonus activity, you could stage a Turing Test! Check out Jane’s article on Language Technology for more ideas in that direction.
4. Hangman — A classic game that most students are familiar with. Although we don’t have a specific activity to start students off, our Introduction to Programming course will give students all the required parts. They’ll need a top level while loop, some words to ask about (start with just the one word), some input and a lot of print statements. Students can come up with their own word lists, or use one from the internet. You can make the game more complex by adding different game modes, scoring systems and a leaderboard, or by introducing features like guessing the whole word. A fun extension project would be to make simple bots that play Hangman, then see which ones play the best! You could even pit human against bot and see who wins (hint: probably the bot 😂).
5. micro:pet— Our micro:bit Virtual Pet activity is a great starter project that has the potential for massive differentiation. Students can extend their virtual pet with sounds, different images and new actions. The hardest part will be picking which to add! For advanced students this project works great when implemented using OO design. To turn it in to a major project, have the students design a communication protocol so that the pets can play with each other. That’s even better than a Tamagotchi!
If you’ve found this article helpful we’d love if you could give us a 👏 (or ten). If you’ve got a coding project that works well in your classroom, send us an email (firstname.lastname@example.org). We’re always keen to see practical projects pitched perfectly!