Courses I've taken so far in my computer-science MS degree at Boston University:
Mobile Application Development (Eric Braude and Ron Czik, spring 2013): An introduction to programming for Android devices using the Android framework in Java. As a project for this course I developed the first stage of my longer-term Brouillon text editor project. I've uploaded two of the final requirements for that course: the comments and responses on my specification of the project, and my final project description with screenshots.
Computer Networks (John Day, summer 2013): The theory and practice of computer networking. I wrote a term project critically examining the flaws in IP, the Internet Protocol, and examining how they could be fixed or replaced.
Operating Systems (Yuting Zhang, summer 2014): The theory and details of computer operating systems. I wrote a term project examining the fact that every major non-Windows operating system available is now Unix-family, and what that actually means. I realize now there is some conceptual confusion in it (about what is kernel-level and what isn't) but I think it's still a helpful paper for those who are interested.
Software Design and Patterns (Jie Lu, fall 2014): The most common recognized design patterns in object-oriented programming, including model-view-controller. A good way to think about how to program in a way that takes account the likelihood of future changes.
Before beginning my MS degree, I also completed a BU undergraduate prerequisite certificate in computer science, made up of the following courses:
Computer Architecture (Dave Hendrickson, summer 2012)