Skip navigation

(Last update: 2/21/2012)

Here is my curriculum of self-study for computer programming and electronic engineering. Note that the computer programming part is much more filled out than the EE part; this will change as I learn more about the subject.

I begin with some open loops – projects I’m working on and would like to finish before doing anything else. I’ll be doing one at a time, 2 hours a day until finished.

Once I feel like I’ve gotten a satisfactory grounding in Linux commands, I’m going to begin creating a pipeline of projects, mostly games, using whatever code I happen to know at the time. I will be devoting one chunk of time per week on whatever project I’m working on. I will be drawing from various libraries (pygame, pyglet, SDL, OpenGL) as needed, rather than devoting time to a tutorial.

Then I will begin my regular study again. I will be spending two hours a day, five days a week on programming study. I will be following two tracks, alternating back and forth as I satisfactorily complete a topic.

At this time I will hopefully have gotten together the necessary tools to begin studying electronic engineering.

Finally, I have a list of projects that haven’t fit in with “the plan” yet. I’ll be adding them (or maybe using them to replace things I already have up) as I learn more. A lot of these are subjects that have to do with CS and EE without being about them directly (e.g., all the math topics) or that get really theoretical.

So here it is. Expect changes.

Open Loops:

Basic Python / Programming Skills:

1. Python Programming: An Introduction to Computer Science, John Zelle – COMPLETED
2. Learn Python the Hard Way, Zed A. Shaw, – In Progress

Basic Linux Skills:

1. A Practical Guide to Linux Commands, Editors and Shell Programming, Mark G. Sobell – In Progress
2. Command Line Inteface Crash Course, Zed A. Shaw, – (Just as a review – should not take very long)
3. Bash Scripting Tutorial (Couldn’t get the full name due to site blackout) – – (same note as above)

Regular Study:

General Programming Topics:

1. Python; Text: Programming in Python 3, Mark Summerfield
2. C++; Text: C++ Programming Today, Barbara Johnston (Note: this is a very expensive textbook for a college course that I was required to buy – not recommended for self-study) – In Progress
3. C; Text: Kernighan and Ritchie; if completed by this time, Learn C The Hard Way, Zed A. Shaw
4. At this point I’d like to be at least familiar with Regular Expressions (Regex); hopefully Zed’s tutorial will be up and running by this point.
5. Java
6. Ruby
7. C#

Web Dev Topics:

1. HTML/XHTML & CSS; Text: Brilliant HTML and CSS, James A. Brannan
2. SQL (at least basics)
3. PHP
4. JavaScript; Text: Head First JavaScript, Michael Morrison

Electronic Engineering:

1. Basic Arduino skills; Text: The Arduino Tutorial,; then move on to
2. Fundamentals of Electricity and Electronics; Text: a college textbook I have sitting on my shelf.

Extra Topic Pipeline:

1. Algebra
2. Trigonometry
3. Calculus
4. Symbolic Logic
5. Fundamentals of Electrostatics – The Works of Farraday and Maxwell
6. Ruby
8. Objective C
9. Advanced computer science topics


  1. Holy cow… you’re really a self-learner! This is awesome; looks like a neophyte uberhacker to-do list 🙂 . EE is really interesting to me but, shoot, I’ve got so much to do…. I’m subscribed man, so keep me updated! Cheers from Triple Chevron!

    – Anthony

  2. Dude this is looking good.

    You should check this you:
    It’s a guy on track to do the entire MIT computer science/EE curriculum from their open courseware in 12 months ;).

    Best of luck with everything
    -Hugo (triple chevron)

  3. @Anthony – Yes, I’ve got so much to do, too… “Slow and Steady” is going to have to be my mantra here.

    @Hugo – Holy Crap – I’ve got to check that out. I’ve signed up for the MITx introduction to EE course and am awaiting details – I actually didn’t know there were more open courses available.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: