Unveiling the Undergraduate Coding Curriculum

Unveiling the Undergraduate Coding Curriculum


2 min read

In the vast realm of technology, the ability to code opens up an infinite multiverse of opportunities. Whether you dream of building powerful applications, diving into data analysis, or creating innovative solutions, learning to code is the key that unlocks these possibilities.

But with so many programming languages, frameworks, and resources available, where to begin?

In this blog, together we will embark on an exciting journey as I introduce a comprehensive curriculum of self-study designed to guide you through the process of learning to code all the way to my personal goal of becoming a data scientist and machine learning engineer.

The Breakdown

I've broken my journey into three College Eras:

  1. Undergraduate,
  2. Master's degree, and
  3. Doctorate.

For the majority of my undergraduate education in Computer Science, I've chosen Codecademy's Computer Science Career Path. The adventure begins with this program as every great journey starts with a solid foundation. There is one freeCodeCamp course in my Senior year - but consider that an elective.

I will begin my coding expedition by exploring the basics of computer science and programming concepts. With Codecademy I plan to gain a deep understanding of algorithms, data structures, and problem-solving techniques that form the backbone of coding. This stage serves as a springboard for all future coding endeavors.

I try and avoid the Udemy code-along courses that are just tutorial hell. If you're not familiar with this term tutorial hell happens when you get used to learning by hand-holding, and can’t learn any other way – which inevitably leaves you stuck at an amateur level unable to even start basic applications on your own.


Like college, the undergraduate program is divided into the following four "years":

  1. Freshman

  2. Sophomore

  3. Junior

  4. Senior

The eight specific courses throughout each phase are as follows:

1. Freshman Year

Intro to Programming: Python

2. Sophomore Year

Data Structures: Linked Lists, Stacks, Queues, Hash Maps

Fundamental Algorithms: Big-O, Recursion, Search, Sort

3. Junior Year

Data Structures Advanced: Trees & Graphs

Databases: SQL and Relational Databases

4. Senior Year

Programming Languages(freeCodeCamp on YouTube and not on Codecademy)

Computer Architecture

Discrete Math

Course Components

It should be noted that each course has the following four components:

  1. Reading Material, Code todos, and Quizzes

  2. Code Challenges

  3. Multiple Projects with a Capstone Portfolio Project

  4. A final exam in the following two parts: multiple choice and coding.

In the next article, I'll discuss what happens after the undergraduate certificate.