Saturday, February 23, 2019

Course Order Recommendations

I just posted this on reddit and thought anyone who finds these posts would want to know it as well. So here are my course order recommendations for WGU's BSCS program. They're more for students without a prior background in Computer Science topics.

  • Network and Security Foundations - I don't recommend taking this early but it will often fall into the first term without your input. There aren't any other courses that will help you pass this one. The only upside to this course is, Security will be cake by the time you're done.
  • Fundamentals of Information Security - if you managed to transfer in Networking, congratulations! This one should be easy and can be saved for when you need an easy course. If you had to take networking, you might as well get this one done while the info is fresh.

... This group is pretty much your introduction to programming. I would take these three in this order if I had to do it over again. They don't need to be taken back-to-back. Feel free to shove any general ed between them as needed.
  • Data Structures and Algorithms I - this used to require Software I first but most mentors have relaxed this rule due to a lot of feedback from people like me ... if they're giving you trouble, mention me, rofl
  • Scripting and Programming Applications - DSA1 is a better introduction to programming than this course, I highly recommend taking that one first
  • Software I

  • Discrete Mathematics I - This can be taken as early as after Calculus I, though some prefer to take both DM's back-to-back. It's a stand-alone course for the most part though I don't see the point in learning the trees segment without knowing the contents of what you learn in DSA1 first.

  • Discrete Mathematics II - working out the pseudocode in this course is really rough if you haven't worked with real code before which is why I recommend taking all the courses in the intro to programming group beforehand. The algorithms part is more difficult than the questions you get in DSA1 so review those notes if you were able to pass while skimping those topics.

  • Data Management Foundations
  • Data Management Applications
  • Structured Query Language
  • Software II - this project requires a lot of SQL. I had a lot of SQL experience so I took these early to get them out of my way. For those of you who don't, it makes sense to learn it right before putting it to use in this course without giving yourself time to forget it. I don't think it's necessary to take Software I close to it. Those with programming experience is more likely to take them back-to-back to avoid switching between languages but as beginners, we're already doing that.

  • Data Structures and Algorithms II - this can be taken either before or after the Software II group of courses. It's a matter of preference. I moved this later because I wanted more pieces in place before taking it on --being the most heavily tested topic in technical interviews. Also, if statistics is in your degree plan, be sure to take that before this one!

  • Introduction to Artificial Intelligence - this can be moved to anywhere after DSA2 because it is a prerequisite.

  • Computer Architecture - Don't take this before Discrete Math I. Take it any time after the intro to programming group. It may have been helpful if I waited until after Software II ... I recommend attempting to read Chapter 3 before deciding whether or not you want to take it after the Software II group. It references a lot of coding topics and issues that was difficult for me to integrate at the time.
  • Operating Systems - I recommend taking this one right after Computer Architecture because a lot of those topics are revisited. The main challenge of this group is getting through the technical jargon. This specific course is easy if you can get passed the reading and translate it into proper English. Attempt a random paragraph in any chapter to see what I mean. It will be helpful to review those networking notes. If WGU didn't insist on having Networking so early in the degree plan, I'd recommend the three back-to-back.

  • Technical Communication - not everyone will have to take this course and it's not necessary to take it later, though it is more useful if you take it close to capstone

  • Software Quality Assurance - kind of an odd course that isn't hard but it has very little room for error. You can take this earlier but it's easy to miss cut if you don't quite have all the pieces in place. I recommend taking it any time after Software II.

Today I am thankful for Amazon and my Amazon friends. May you become more than that to me again some day. 

Monday, February 18, 2019

Heading Back

My term break is nearly over and I was able to complete the reading for my remaining courses; there's one book left but I'll have that done before March 1st. 

I originally planned to work on programming more but I found myself having to look for more work and it took a few weeks to land the position I wanted. Luckily, working on programming seemed to become less necessary as I worked through my reading to fill in the blanks. At least I noticed that I was able to complete SoloLearn for Java with much greater ease than C++ and I expect Python to give me even less issues. 

I'm working full time and I don't expect that to change at all in the next few years. So finishing BSCS in another term might be a bit of a stretch. I figure if anything, I should be able to complete all but capstone and then complete capstone a few months into the new term. I still want to apply to Georgia Tech in September since completing a BSCS is not actually necessary to get in. 

I still want to earn my CPA so if Georgia Tech doesn't happen, that's where I'm headed next. And if GT does happen, I'll work on the CPA afterward.