Back when I started at university, I'd be able to immerse myself in projects. I accomplished quite a few things, one project at a time.
Now things are different. I'm taking only four courses this semester, but three of them have semester-long projects. I am currently working on:
- An Internet version of the game Pit, using the Twisted Python framework for the Internet part and client. The end goal: code an AI player for the game (language undecided: either C++ or Python, probably).
- A simulation of a distributed computing network. This involves a simulated local network of processes (using an event queue) as well as a real network component (using MPI). Language: C++.
- A sticky-notes application. I really like this one. Language: Java.
- (Work, not school:) A medical-imaging application, using Qt, VTK, and ITK. Language: C++ (and each of the libraries has a different idea of how C++ should be written, leading to acute pains in my neck.)
Switching between projects takes a change in mindset. As soon as I get immersed in one, I discover I've neglected another. It's a real pain. Not only that, but I strongly dislike C++.
Also, I've had to shelve some projects I would have enjoyed. If I had more time, I would code the following:
- A Java applet (complete with AI player) for Black & White, a game I had to code (in C++) for a recent AI assignment. Apparently my cousin Corey visited my
web
and was disappointed; I figure putting a game on it would gain his interest. Language: Java. - Integrating SQLite with Epiphany's History and Bookmarks. It would give speedup and code cleanup. It would also make extensions easier to write and more powerful. Language: C.