2017/2018 Programming Study Plan

Hello everyone!

Since I’m now working as a full-time .NET/COBOL developer, I’ve re-arranged my goals and study plans to match up with my personal interests, as well as further my current job and career.

I decided to delete the old programming plan, since most of it was just TreeHouse projects and no real meat. I’ve moved any code left over from those days in the new “programming-practice” repository, and will post any future scribbles in that repository.

I’ve also made a separate repository named Hacking, based off of Hack-With-GitHub’s Awesome Hacking Repository. There’s a lot of resources in here, and I felt like it was a big enough topic that it deserved it’s own spot.

I’ve left in the OSS fork, since I may still dabble in some MOOC’s and general programming study throughout the year, but it will no longer be the primary focus.

You may also notice I left out TreeHouse courses from my current study. Since I’ve been away it seems like PluralSight has really been stepping up their game on course visibility and structure. The new layout is great, and makes it easy to find most things. Most courses you have to dig for are very outdated. I still wish the game development and artistic content on the site had more Paths.

Feel free to look over the list on my GitHub, and if you know any other resources let me know.

2017-11-08 15_24_36-TheAlecJustice (Alec Justice)

I Got The Job!

I’ve been so excited I actually forgot to update the site!

I received and accepted an offer last month to begin working at my current company as a Software Developer. I’ve been working here in the new position for almost three weeks, and am really enjoying it!

Hard work pays off, and the learning I’ve done so far (and will continue to do) helped we get here.

I plan to continue my learning path, although maybe at not such an intense level as before. It may be more structured towards my current job and technologies, but we will see where things take us.

Open Source Society

2017-08-08 11_38_36-GitHub - open-source-society_computer-science_ Path to a free self-taught educat

Planning out my MIT challenge I mentioned in my last post, I stumbled upon a much more structured MOOC self-teaching curriculum called Open Source Society University.

I will be working in this instead of the MIT Challenge I intended to complete before, and have written out a year-long schedule for it already:

2017-08-08

Once I finish up with Pre-calculus this month, I’ll get started and we’ll see how it goes!

July: Finishing Up TreeHouse

The month of July is at an end, and I’ve completed the main courses I wanted to finish on TreeHouse. I was able to finish Web Design, Front-End Web Development, SQL, and Full-Stack JS. I feel like I’ve got enough of a handle on these topics to start working on some larger projects, instead of checking boxes on course lists.

I had originally intended to work on TreeHouse courses for the rest of the year, but by the end of the past few months, I was burnt out and tired of the fast pace of my plans. The remaining courses I have not taken are tracks that I added out of interest to fill up the year, not necessarily pertaining to my career goals.

The Coming Months

From here on my focus will be on my portfolio, which will be pretty much a requirement since I do not have a degree in C.S. I’m hoping to clear the gap with my next self-teaching challenge: the MIT Challenge.

The MIT Challenge was a study plan designed by Scott Young that uses MOOCs, matched to the MIT CS and EE degree, to learn the same content for free. He bought all the textbooks, did all the projects, and took all the finals until he passed. And he did it all in 12 months.

I plan to do the same with much more focus. Instead of taking most of the extra-curricular or gen-ed classes, I’ll focus soley on pre-reqs and the courses most related to C.S. I will take Calculus and other required math courses as much as they are needed to study algorithms. So far the course list looks like this:

  • Calculus I
  • Intro to EECS
  • Math for C.S.
  • Computational Structures
  • Introduction to Algorithms
  • Software Construction
  • Computer System Engineering
  • Machine Learning
  • Artificial Intelligence
  • Automation, Computation, and Complexity
  • Design and Analysis of Algorithms
  • Computer Graphics
  • Database Systems
  • Performance Engineering

It’s a lot to take in, but I think I can do it. Most of the courses are stretched out over two months, while taking two at a time. I should be able to complete this at that schedule in a little over a year. The goal is to complete everything by the end of 2018.

August Plans

I’ve already started working through some used Precalculus textbooks, using the amazing Slader.com (seriously, check this site out) to match answers and homework. I’ve been picking it up pretty fast so far, and I remember Algebra and Trig being MUCH harder when I took college classes in High School. Regardless I hope to finish this up and start on Calculus immediately after, since it’s a traditional First Semester course at MIT, alongside Intro to EECS.

Wish me luck!

June: A Much Needed Break

 

The month of June is almost long gone!

Our vacation was great, minus the sinus infection I picked up on the last day. We didn’t take many pictures, since most of the time was spent either on the crowded boat or rushing to ports and buses. Here’s a couple of good ones I picked up, though:

19467918_10209819468264258_4896755129925001666_o19467979_10209822210812820_4893185944544221739_o19620448_10209822249493787_4782537432048446827_o


I decided later on last month to make July’s study a bit more interesting. Since one of my main goals with learning programming was Game Development, I’ll focus this month on learning some basics for software I’ve been meaning to get around to. I’ve got enough empty months left on the calendar to move things around a bit, and I’ll still be on track for all the other goals I have lined up. I’ll go ahead and read through Design Patterns since I don’t have much going on in the way of books.

This month I will probably use any birthday gift cards to order more books on mathematics, so that I can start the math study I planned out for the last half of the year. I hope to pickup on Algebra/Trig again, as well as teaching myself Calculus using open course-ware and used textbooks.

In August I’ll pick back up on Java WebDev and finishing out Full-Stack JS, since all that’s left are MEAN stack courses.

July Goals:

  • Read Design Patterns
  • Finish Blender Course
  • Finish Unity and Unity VR Course

May: Refactoring and the MEAN Stack

May is one and done! Here’s what I had planned for the month:

  1. Complete the Network Monitor in full.
  2. Learn the Vi and Vim editors and start using them.
  3. Complete the Full Stack JavaScript track on TreeHouse.
  4. Finish Refactoring by Martin Fowler. 
  5. Have a large chunk of Front End complete for ticketing system.

This month has been crazy hectic with work, and with the summer vacations taking up a chunk of time, I wasn’t able to meet all of them.

Work hasn’t allowed any of the development projects to move forward, since some people are out of office, and my own projects are keeping me pretty bogged down.

Full Stack JS

fs

I was able to complete all but 15 hours of the Full Stack JS track on Treehouse, mostly because the latter half was brand new tools and resources I’ve never used. Gulp, Node.js, and Express have slowed down the learning.

This shouldn’t be much of an issue, since I have several free months at the end of the year, and lots of leeway on what gets studied. Most of my later studies are things I don’t use, but were added to the list because they sounded interesting.

Books

I was able to finish the Refactoring book just fine, and what a great one it is. Both a reference library of techniques and a general guide to cleaning up existing code, it’s a must have for anyone in my opinion.

As for vi and Vim, I’ve been using the editor on all of my computers without issue. I’ve yet to master the shortcuts and the command mode in depth, but am still relying on the mouse and menus for most tasks. I have yet to start the book itself, and hope to pair it up with Practical Vim later on.

Next Month

With all the crazy stuff I’ve had going on this month, and also feeling a bit burned out, next month will probably be a month off. I’ll pick up and continue the learning missed this month if I do anything. I’m going on a cruise for 1/4 of next month, and will be off for about 10 days, so that will take up a large portion of the time. Once I’m rested and back in the groove of things, I’ll tackle the rest of the year.

In July, I’ll be finishing anything left behind from this month, and start on the Java and Java Web Development tracks through TreeHouse. If I have time, I’d also like to look through the famous Design Patterns book.

 

April: Front-End Development and COBOL

A little late, but April is one and done! I feel like this month was probably my most productive so far, but a lot of this mood change is probably due to some changes in my own personal philosophies over the past three weeks. I’d like to start posting about books that I’ve read outside of programming, but I’m not sure if I’ll do that on this site, or on another, more personal site. Regardless, here were the goals for April, and whether they were completed or not:

  1. Complete the Network Monitor in full. (Not Complete)
  2. Complete the Front-End Web Development track on TreeHouse. (Complete)
  3. Complete the Beginner SQL track on TreeHouse. (Complete)
  4. Have a large chunk of Front End complete for ticketing system. Back-end is mostly finished as of this post! (Not Complete)
  5. Finish Murach’s Mainframe COBOL and our company in-house conventions manual. (Complete)

Work Projects

This months wasn’t all too productive towards work projects. With some minor setbacks and waiting on other things to come through, just not much got done. Plus with an added workload with recent changes, things have gotten pretty bogged down. I’ll aim a bit more realistic next month (plus, the setbacks should be done soon).

TreeHouse Learning

Enough with the negatives! TreeHouse learning went great this month! I completed the Front End Web Development track a week early, and have already been working on Full-Stack JavaScript for next month.

2017-04-24 16_54_02-Treehouse _ Tracks

Most helpful was learning Git on the command line, something I’ve put off time and time again, since the web GUI always worked for what I needed. But with the things I’ve been running into at work, it’s time to pick it up. Most of the time, the GUI within Visual Studio’s Git plugin worked fine, but like PowerShell it’s just going to make me 10x faster and more knowledgeable.

COBOL

Photo Apr 24, 10 42 31 AM

COBOL learning went well, although I decided to tone it down and just get a general overview. I focused more on the in-house guide we have at work (aptly titled “ALL I NEED TO KNOW IS IN THIS BOOK”), using Murach’s as a supplement where the reading didn’t make sense or wasn’t in depth enough for me. I don’t have a working knowledge of the language, but I know the structure and function of it well enough that I should be able to pick it up easily if needed. I’ve also got a book on IBM DB2 that I have on retainer in case I need it.

So What’s Happening Next Month?

I’ve decided to pick up some books for reading in the next few months, and I’ll be starting with Martin Fowler’s Refactoring: Improving the Design of Existing Code. I feel like this will be a great start for me, allowing me to get better at cleaning up my code, and typing it efficiently in the first place.

I’ll also be going through Learning the Vi and Vim Editors from Arnold Robbins. Since this is a universal text editor, it would be good to learn, and faster than most available. I considered getting UltraEdit, but Vim is free and already installed on Unix systems. For Windows I have GVim installed. Eventually I plan on moving towards Linux System programming, so it will be useful for each of my studies.

 

I’ll also try to complete the work projects as much as possible, while continuing my tracks on TreeHouse to get proficient at mainstream web development.

So in total, next month will see the following goals:

  1. Complete the Network Monitor in full.
  2. Learn the Vi and Vim editors and start using them.
  3. Complete the Full Stack JavaScript track on TreeHouse.
  4. Finish Refactoring by Martin Fowler. 
  5. Have a large chunk of Front End complete for ticketing system.