College Computer Science Curriculum for Jobs in Coding - dummies

College Computer Science Curriculum for Jobs in Coding

By Nikhil Abraham

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.

CS Select Core Curriculum at Stanford and Penn State
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.