Profile cover photo
Profile photo
Mark Shead
382 followers -
Mark Shead
Mark Shead

382 followers
About
Mark's posts

Post has attachment

Post has attachment
Strange Loop 2016
Photo
Photo
9/17/16
2 Photos - View album

Post has attachment
Photo
Photo
9/17/16
2 Photos - View album

Post has attachment

Post has attachment

Post has attachment

Post has attachment
Photo

Post has attachment

Post has shared content

Post has attachment
I occasionally get asked how to learn programming or software engineering in order to start a new career. Not everyone can afford to take 4 years off work and go back to college.  Here is an overview of what I recommend for people in that situation.

First work your way through this textbook and do every single exercise:
http://www.ccs.neu.edu/home/matthias/HtDP2e/

If you prefer lectures, you can cover some of the material using these free online courses, but still be sure to do every exercise in the textbook:
https://www.edx.org/course/systematic-program-design-part-1-core-ubcx-spd1x-0
https://www.edx.org/course/systematic-program-design-part-2-ubcx-spd2x
https://www.edx.org/course/systematic-program-design-part-3-ubcx-spd3x

If you really focus on it, you can probably get through the textbook and maybe the classes in 4 to 6 months. 

If you haven't done much math, you might want to start working your way through a college algebra class. Do this while you work on the programming classes. This would help make sure you've got a good foundation for some of the concepts you'll run into later. You could do this at a community college or take a free class online. Maybe one of these:
https://www.edx.org/course/introduction-algebra-schoolyourself-algebrax
https://www.edx.org/course/college-algebra-problem-solving-asux-mat117-credit-eligible
(There maybe better classes online, those are just two I found easily.)

Once you've gone through the textbook, you should probably take a course that will help you apply the concepts you've learned to a bunch of programming languages. This will help give you a broad base so you have more options in the future and give you the ability to say, "oh yeah, it has been awhile, but I've worked with that language just a bit."  Harvard's free CS50 is a good course for that.
https://www.edx.org/course/introduction-computer-science-harvardx-cs50x

If you've done everything down to this point, you'll probably have enough information to know what you want to specialize in. For example, if you wanted to go into Java programming, you could take these two classes:
https://www.edx.org/course/introduction-java-programming-part-1-hkustx-comp102-1x
https://www.edx.org/course/introduction-java-programming-part-2-hkustx-comp102-2x

Then get these two books and pass the certifications for Java from Oracle:
http://www.amazon.com/OCA-Certified-Associate-Programmer-1Z0-808/dp/1118957407
http://www.amazon.com/OCP-Certified-Professional-Programmer-1Z0-809/dp/1119067901
If you do all this, at some point (probably right before you take the first Java certification exam) you'll probably be more prepared than many people taking entry-level programming jobs. If you've explored other things that are interesting along the way you may be in an excellent place to start doing programming for a living.

It isn't a get rich quick approach, but most people watch something like 30 hours of television a week. If you invest that time pursuing what I've outlined above, you ought to be able to get through most of that in 18 to 36 months of focused work...and most of that is all free so no debt!
Wait while more posts are being loaded