Current in bold. Completed in strikethrough.
Learn a variety of commonly-used programming languages:
- Write a program in Ruby
 
- Write a program in Python
 
- Write a program in C
 
Write a program in C++ 
Write a program in Java 
- Write a program in Objective-C
 
Write a program in C# 
Write a program in Clojure 
- Write a program in Perl
 
- Write a stand-alone program in Javascript
 
Learn a variety of not commonly-used programming languages:
- Write a non-trivial program in Brainfuck
 
- Write a program in Lua
 
Learn a variety of frameworks:
- Write a web application with Rails
 
Write a web application with Django 
- Write a program with .Net
 
- Write a program with OpenGL
 
- Write a program with DirectX
 
- Write a program with Cocoa
 
Learn a variety of editors/IDEs:
Use vim exclusively for a month 
- Use TextMate exclusively for a month
 
- Use emacs exclusively for a month
 
Use Visual Studio exclusively for a month 
Use Eclipse exclusively for a month 
- Use XCode exclusively for a month
 
Learn a variety of programming paradigms:
- Write a program in assembly language
 
Write an application in a functional language 
Write an application in an object-oriented language 
Write an application in a prototype-based language 
- Write an application in a logic programming language
 
- Write an application using the Actor model
 
- Write an application in Forth
 
Experience the ins and outs of programming for different platforms:
- Write a nontrivial web app
 
- Write a nontrivial desktop app
 
- Write a nontrivial mobile app
 
- Write an embedded app
 
- Write a realtime system
 
Enhance your understanding of the building blocks that we use as developers:
Write a networking client (e.g., HTTP, FTP) 
- Write a device driver
 
- Write a B-tree database
 
- Wrap an existing library to provide a better (more pleasant) user experience
 
- Write an application or framework that provides a plugin model
 
- Write a testing framework
 
- Write a programming language
 
Enlighten yourself with koans, katas, and the wisdom of ages:
Program in the open:
- Contribute to an open source project - Mozilla Firefox my tickets on bugzilla
 
Have a patch accepted 
- Earn commit rights on a significant open source project
 
- Publish an open source project
 
- Perform a Refactotum of an open source project