Past and Future Projects
GPN hasn't been around long, but on top of numerous smaller programming puzzles the girls have worked on some pretty funky projects.
MUDs: The term MUD stands for Multi-User Dungeon. There are text-based adventure games where you can move from room to room, pick up items and fight dragons. How this works, any characters, story, locations are up to you and we've been amazed at the MUDs produced.
Pygame: Have you played those (often slightly stupid) crazy flash games with cheesy graphics and simple rules? One of the oldest is whack-a-mole where the goal is to hit moles as they pop out of the ground. We made our own versions of this game, including whack-a-mozzie. From this simple base, and the pygame library, there's a lot of scope for creativity.
Chatbots: Do you use GTalk, AIM, IRC or Windows Live Messenger? Instant messaging has become widely used for keeping in touch with friends and just hanging out. At GPN we built programs which can chat to you. We started from simple bots which act like small children and ask too many questions, and we looked at more complex bots which learn how to talk from everything you say to it.
Android Apps: Do you have a smartphone? You can buy (or download for free) heaps of apps from the AppStore or Android Market. One week at GPN we created some little apps that used touch interaction and sound on Android phones.
Pyglet: Like Pygame (above), pyglet is another library which makes it easy to create games. It handles drawing to the screen and mouse and keyboard input. Pyglet is built on OpenGL which is a graphics library used in a lot of 3D programs like games. This means that we can do 3D graphics in Python too!
Lego Mindstorms: Building robots is fun, it's even more fun when you can build them in Lego and then program them to do things on their own (no remote controls!). We built robots which used sonar and light sensors to follow objects but avoid actually running into them.
Google App Engine: App Engine is a service which makes it easy to create dynamic and interactive websites using Python. It provides tools for storing information in databses and creating custom web pages on the fly. We created apps to search for the names of colours, to create memes with images and text and to help design webpages.
And many more: We've also covered many topics like how the internet works, how we can communicate over a network securely (cryptography), using Google Trends, how barcodes and QR codes work, using HTML and CSS to create pretty web pages and one really fun week where we pulled apart some computers to see how then worked (and then put them back together).
We haven't finalised the cool stuff we're going to tackle next term, but here are just a few ideas that we're throwing around at GPN. If you have an idea which you think would be fun, then let us know!
- The Logo programming language (also known as 'Turtle') is an interesting tool for drawing patterns and mathematical shapes.
- The Python Image Libary (pil): Scaling, sharpening, transforming images, even setting up face detection using PyCV!
- More fun and games with Lego Mindstorms, Android or Pyglet!