A DIY Junior Year Second Semester in CS.
How to use this guide
Each topic will be labelled as
- AC — Academic. Only necessary if you want a college education equivalent. 95% of programming jobs will not require this skill set.
- BC — Boot-camp. This topic is a must if you want to work in software development.
- ES — Essential. The bare minimum required so that that you can participate in tech meetings and seem knowledgeable.
The following courses are standard junior year second semester fare in most unis.
- Linear Algebra 2 (AC)
- Calculus 2 (AC)
- Computer Networks (AC)
- Computer Architecture (AC)
- Computer Architecture Lab (Hands on introduction to assembly). (AC)
- Advanced Object Oriented Programming (ES)
- Data Structures and Algorithms (ES)
If you’ve made it through semester 1 this will be a breeze!
Counter-intuitively even if you struggled with Calc 1 and Linear Algebra 1 you will most likely find Calc 2 and Linear Algebra much much easier. This is because the hard part is wrapping your mind around this new kind of math. The leap from single integrals to double integrals is not so big. Ditto for Advanced OOP. You are (hopefully) past the initial difficulty of setting up your development environment and compiling and running your first few programs so picking up new techniques and concepts should be much easier.
Let’s jump into it!
In this post I will provide resources for:
Linear Algebra 2.
In CS: ZERO TO HERO PT.3 I sent you to Khan Academy to get an intuitive introduction to Linear Algebra . Many professors will refuse to give an intuitive understanding of these mathematical concepts because they say “The map is not the territory” or something like that. They say it is wrong to envision, for example, a 2 dimensional vector as inhabiting 2 dimensional space since the math is inherently abstract. In my experience however I was able to pick up the concepts much quicker and remember them better than many of my classmates because I supplemented with Sal Khan’s intuitive explanations. From the intuitive understanding I was able to extend my mind past that to the pure mathematical abstraction.
At this point however we will have to let go of the training wheels and move on to a more academic platform. M.I.T. Open Courseware.
If there is something you don’t understand in the M.I.T. playlist I sometimes find PatrickJMT easier to understand (but less mathematically rigorous). Here is his Linear Algebra Playlist.
It’s been a few years and I don’t really remember where Linear Algebra 1 ends and Linear Algebra 2 begins. If you finish the M.I.T. playlist you will be more than covered. In all honesty the original Khan Academy playlist is most likely more than you’ll ever need.
Thanks for joining me. You can see some of my teams work here.
Click HERE for Part 5.
Click HERE for Part 1.
Also published on Medium.