As 2014 nears, I face the realization that I will have a free summer. If all goes well, it will be the summer after college and before graduate school. I do not think I will be doing an internship so that gives me the freedom to explore some topic in further detail. Given my interests and the realities of my future career options, I thought it would be prudent to pursue a programming project of my choosing.

I have some ideas which I’ll list below, but nothing’s set in stone. (Other ideas are listed here and here.) I’ll probably do a few of them to start and narrow down on one. I’ll do my best to describe the project once it gets started, probably by posting it on Seita’s Place. And if readers have suggestions, feel free to email me (see About).

Making a Game

I might as well discuss this one first, since many programming projects fall into this category. I was thinking of some minor online text-based game, possibly in a role-playing genre. For now, I’ll abstain from getting too involved in graphics and other parts necessary for a game, since I feel like that will detract from the pure programming parts. I’m a little worried that there will be a lot of work in getting simple stuff like saving the game or logging in/out, but perhaps that’s important for me to know.

Making an App

I am interested in creating an app that assists with education, such as an app that describes course notes in a subject I’m comfortable with (e.g., Artificial Intelligence) or one that is like a “mini-textbook.” The downside is that most users will probably just use their laptops if they want to access notes.

Making Basic but Useful Software

What I mean with this is that I’ll attempt to make something that I might actually use in the future. For instance, I could theoretically make my own text editor, and I would use it in the rest of my career. (This is pure fantasy, though, because emacs and vim are perfectly fine for what I do and there’s no way I could build something that complicated.) The difficult part with this idea is coming up with something that could be useful to me or others and hasn’t already been built in a better way.

Do Something Based Off of a Class

The advantage with this idea is that it’s less likely I’ll get lost, since substantial programming assignments as part of a class tend to have specific instructions and starter code. I don’t want to follow a project like this exactly, since that will stifle creativity, but at least things will be more structured. I feel like this is a lame objective to pursue, though….

Join an Open-Source Project

This could be interesting … the questions is, which ones interest me and would be open to a programmer helping this out for a summer?