The most fun computer science related projects I've found are (1) learning new languages and (2) writing new languages.
For (1), I picked up the book Seven Languages in Seven Weeks[0] and learned to write (really basic) Ruby, Io, Erlang, Prolog, Scala, Clojure and Haskell. I didn't write anything great, but it was a lot of fun to play with new ideas.
For (2) I decided a couple of weeks ago to implement my own Lisp[1]. I know almost nothing about Lisp and so I'm making a lot of mistakes and re-inventing the wheel a lot, but having a language whose syntax or semantics is changeable on a whim is just so much fun. Want a syntax for function literals? You can add it. Always thought that hashmaps should be a special case of functions? You can add that too. I can't recommend this enough as a way to rekindle your interest in computer science. I'm going to work on the language in my spare time for a couple more weeks, and then try to write a compiler for it. I've never written a compiler before (I was a math major, not computer science). I have no idea how you do it. But I'm pretty certain it's going to be fun.
Comments
The most fun computer science related projects I've found are (1) learning new languages and (2) writing new languages.
For (1), I picked up the book Seven Languages in Seven Weeks[0] and learned to write (really basic) Ruby, Io, Erlang, Prolog, Scala, Clojure and Haskell. I didn't write anything great, but it was a lot of fun to play with new ideas.
For (2) I decided a couple of weeks ago to implement my own Lisp[1]. I know almost nothing about Lisp and so I'm making a lot of mistakes and re-inventing the wheel a lot, but having a language whose syntax or semantics is changeable on a whim is just so much fun. Want a syntax for function literals? You can add it. Always thought that hashmaps should be a special case of functions? You can add that too. I can't recommend this enough as a way to rekindle your interest in computer science. I'm going to work on the language in my spare time for a couple more weeks, and then try to write a compiler for it. I've never written a compiler before (I was a math major, not computer science). I have no idea how you do it. But I'm pretty certain it's going to be fun.
[0] http://www.amazon.co.uk/Seven-Languages-Weeks-Programming-Pr...
[1]https://github.com/chris-taylor/Haskeme