Develop deep knowledge of Data Structures & Algorithms to understand the intricacies of memory allocation, and learn how to effectively communicate your process.


Hone your data organization and technical communication skillset by going under the hood with Data Structures & Algorithms.

Data Structures & Algorithms Under the Hood is a part-time, remote course consisting of four weeks of live instruction and supplemental challenges. In this course, you’ll learn strategies for algorithmic thinking and how to optimize the resources of space and time. You’ll focus on what it truly means to save/organize data and how different data structures allow us to access it - understanding their use cases and tradeoffs. The course focuses heavily on pair programming to hone your skills in effectively communicating about data structures and algorithms.

Program Highlights

Caalendar Icon
Understand patterns in how to save and access data

Build the foundational knowledge needed to understand any new data structure or algorithmic challenge you encounter.

Reason about the tradeoffs between space and time

These two fundamental resources underlie computing. You’ll learn how to consider space vs. time to optimize different situations.

Prepare for mid or senior Software Engineering roles

Focus on pair programming and technical communication will improve your ability to reason and speak about the principles of data structures and algorithms and apply them across multiple contexts. The strategies and concepts covered in this course are crucial for individuals preparing for a path to mid- or senior-level coding roles.

Curriculum Overview

The curriculum takes you on a deep dive into the patterns and logic that underlie the most used algorithms and data structures used in the industry today. Lectures provide a conceptual framework, illustrating tradeoffs commonly contemplated by engineers such as memory allocation vs CPU workload.

Throughout the course, you’ll continually reinforce your knowledge and apply what you’ve learned through pair-programming challenges and diagramming. The objective of this course is to facilitate a deep understanding of how algorithmic decisions made by engineers have a direct and critical impact on the effectiveness of code.



Computing relies on two fundamental resources: space and time. We’ll break down what this truly means - how data is stored in memory, how memory is allocated, what it means to think about space and time complexity and how to establish a compromise between these resources.

Data Structuress


In computing, we can use a wide variety of different data structures to store information (e.g. arrays, linked lists, graphs, heaps, hash maps, trees, tries, stacks, queues). We’ll explore how these data structures allow us to store and retrieve information and come to understand their use cases and tradeoffs.



We’ll cover important algorithms (such as sorting and searching algorithms) and strategies such as dynamic programming. Learn how to effectively think about algorithms in relation to space and time.



Explore practical use cases for these data structures and algorithms, learn how to apply your knowledge, reason about and discuss them in a language-agnostic manner that can be applied across a multitude of interview settings.

Upcoming Data Structures & Algorithms Under the Hood Start Dates

Data Structures & Algorithms Under the Hood course runs Monday - Wednesday for four consecutive weeks.

MTW 5-7:30pm PT / 8-10:30pm ET


Applications opening soon

Phone interview deadline: Aug 02

Course Tuition

Course Tuition

The tuition for Under the Hood Courses is $1,400. If you are a Codesmith Immersive graduate, you will receive 75% off your tuition. Please reach out to our admissions team at if you have any questions.

Apply Now

Who is Data Structures & Algorithms Under the Hood for?

Learning is a journey

This remote course is aimed at developers who wish to better understand data structures and algorithms - whether to prepare for job interviews or simply sharpen your knowledge. Advanced programming experience is required - however, the course is designed to be language-agnostic, so we welcome those with backgrounds in any language.

Learning is a journey

Our application process is designed to determine that students have the prerequisite knowledge to succeed in the course and we can provide additional learning resources if needed. We are looking for team players who are motivated and committed to furthering their coding expertise.

The Curriculum Team

Codesmith's team of curriculum creators are all dedicated to creating and maintaining an exceptional program curriculum, designed to teach you aspects of the technologies you can use immediately in your current role, or to help you land your next one.

Alex Zai led curriculum development for the Data Structures & Algorithms course. He is one of the Co-Founders @ Codesmith, a Co-Founder @ Loop, author of the book “Deep Reinforcement Learning in Action” and was formerly a Machine Learning Engineer @ Amazon and Software Engineer @ Uber.



Co-founder & Software Engineer @ Uber & Amazon
Will Sentance

Will Sentance

Co-founder & CEO


Online Instruction Advisor Software Engineer @ Google


Online Instruction Advisor Software Engineer @ Arcadia
Allison Pratt


Software Engineering Curriculum Developer

Admissions Process

First Step

Online application

For those applying to Data Structures & Algorithms Under the Hood, advanced programming experience is required - however, the course is designed to be language-agnostic, so we welcome those with backgrounds in any language. The application consists of one short essay question and an optional coding challenge. Please note - you must have at least a high school diploma or equivalent (i.e. GED or placement exam) to enroll in this course.

Second Step

Phone Interview

If your application is successful, you will be invited to complete a phone interview. In the interview, we will chat about your background and knowledge of the prerequisite core technologies for this course.

Third Step


After completing your phone interview, you will receive an admissions decision within 2-3 business days. If you are accepted into the program, you will receive all the details to confirm your enrollment.

Frequently Asked Questions

Why would someone want to learn Data Structures & Algorithms?

Data structures and algorithmic logic are highly important aspects of computing that are applicable to any form of programming - both during interviews and in practice on the job. Having a solid understanding of how to most optimally store and access data and write efficient algorithms is crucial to being an effective developer.

When will the next Data Structures & Algorithms cohort start?

After the first cohort in Fall 2021, the next Data Structures & Algorithms Under the Hood course cohort will be offered in Winter 2021-2022.

What are the other courses in Codesmith’s Under the Hood Series?

In addition to Data Structures & Algorithms Under the Hood, we also offer Node.js Under the Hood. To find out more information about that course, including syllabus, start dates, and application dates, take a look at the Node.js Under the Hood page.

What if I have other questions?

If you have more questions, please reach out to our admissions team at