College Computer Science Curriculum for Jobs in Coding
What courses will you need to take in college to get a coding job? College CS courses offer a sweeping survey of entire computer systems from the hardware used to allocate memory to the high-level software that runs programs and the theories used to write that software. As a result, you gain a great sense of why computer systems behave as they do, which gives you the foundation to advance a technology or a programming language when the need arises.
This approach differs dramatically from the learning you’d typically do by yourself or in a boot camp, where the focus is only on software development in a specific language such as Python or Ruby. Given the typical 12-week duration of a boot camp, there isn’t much time for anything else.
The core CS curriculum across universities is similar. This table compares select core curriculum classes required as part of the Computer Science degree at Stanford and Penn State — a private university on the West Coast and a public university on the East Coast, respectively. Both have introductory classes to acquaint you with programming topics, math classes that cover probability, hardware classes for low-level programming and memory storage, software classes for designing algorithms, and higher level classes that cover advanced topics such as artificial intelligence and networking.
|Course name||Course description||Stanford||Penn State|
|Programming Abstractions||Intro to programming using C++ with sorting and searching||CS 106B||CMPSC 121|
|Programming with web Applications||Intro to graphics, virtual machines, and programming concepts using Java||N/A||CMPSC 221|
|Math Foundations of Computing||Topics include proofs, logic, induction, sets, and functions||CS 103||CMPSC 360|
|Probability||Probability and statistics relevant to computer science||CS 109||STAT 318|
|Algorithms||Algorithm types (e.g., random) and complexity||CS 161||CMPSC 465|
|Hardware systems||Machine registers, assembly language, and compilation||CS 107||CMPSC 311|
|Computer systems||Storage and file management, networking, and distributed systems||CS 110||N/A|
|Operating systems||Designing and managing operating and system tasks||CS 140||CMPSC 473|
|Computer and network security||Principles of building and breaking secure systems||CS 155||CMPSC 443|
|Intro to Artificial Intelligence||AI concepts such as searching, planning, and learning||CS 121||CMPSC 448|
|Intro to Databases||Database design and using SQL and NoSQL systems||CS 145||CMPSC 431W|
Until recently, universities generally did not teach web programming courses. As web programming has increased in popularity, this has begun to change — for example, Stanford offers a web programming class (CS 142) that teaches HTML, CSS, and Ruby on Rails, and Penn State has a similar class that teaches web programming with Java.