Learn core JavaScript concepts and prepare for your software engineering career.

Learning JavaScript Online

This part-time, remote program aims to build your core JavaScript knowledge, improve your technical communication, and develop your engineering toolkit.

CS Prep is a 2-week program covering JavaScript concepts, engineering best practices and technical communication. The program includes live-online instruction, daily problem-solving workshops, and a passionate coding community to help you prepare for top coding bootcamps, such as Codesmith’s selective Software Engineering Immersive programs, and solve real world problems.

Program Overview

Learn Core JavaScript

Cement fundamental JavaScript concepts in live-online lectures, such as the call stack, functions, and closure.

Online Instructor
Expert Instruction

Learn from experienced instructors who are both passionate about coding and love to teach! With experience both in the field and in the classroom, you will be learning from the best.

Computer Science Learning
Start Thinking Like an Engineer

Computer science concepts help you understand the abstract ideas behind programming. CS Prep will help you to learn to code & think like an engineer to build efficient software.

Offering Scholarships
Scholarships & Rollover Tuition

Finances shouldn’t keep you from learning to code. Scholarship applications are available upon acceptance to CS Prep and are awarded on a rolling basis. The remaining CS Prep tuition paid will roll over to one of our Software Engineering Immersive Program's tuition upon acceptance.

Supportive Coding Community
Passionate Community

Be a part of a fun, yet dedicated community of coders who are collaborative, supportive and passionate individuals learning an in-demand skill set.

Build Your Engineering Skill Set
Build Your Engineering Skill Set

Start learning and utilizing current engineering tools and practices. Gain the skills to debug your code, create awesome projects, and communicate effectively.

Curriculum Overview

The CS Prep curriculum will go under-the-hood of JavaScript, challenging you to learn coding fundamentals, refine your analytic problem-solving and build a technical communication skill set. By the end of the 2-week bootcamp prep, you will have developed the essential knowledge of a software engineer, gained engineers best practices, and you will have built 2 awesome projects.

arrow previous
arrow Next

When learning a new skill, you always have to start somewhere! CS Prep begins by laying the foundation of JavaScript tools to help you build your own web applications.

Functions running

Functions & Their Execution

Functions allow developers to manipulate data and are a quintessential tool in an engineer’s toolbox. You will learn how local and global memory, the execution context, and the call stack are crucial to implementing functions within applications.

Data Types

Data Types

By delving into the underlying architecture of JavaScript, students acquire a deeper understanding of how data types and primitives can be used to create more complex data structures.

Get a deeper understanding of the flexibility and versatility of JavaScript and why it is one of the most powerful programming languages!

Coder typing JavaScript


Higher-order functions enable you to abstract functionality in order to create more modular and efficient code. You will not only learn to implement them, but will also learn to recreate higher-order functions from the ground up.



The concept of closure is widely misunderstood, yet it affords JavaScript a degree of flexibility that has made it an incredibly powerful programming language. You will learn the benefits of closure in order to utilize them in your own functions.

While a computer science background is not necessary to become a valued member of a software engineering team, the fundamentals are extremely helpful to solve complex problems efficiently.



Algorithms allow programmers to solve problems by accomplishing systematic tasks. You will learn about Big O Notation to measure time and space complexity, and to make informed decisions when considering the algorithmic efficiency of a given function.

Object-Oriented JavaScript

Intro to OOP & Prototypal Inheritance

During CS Prep, you will acquire an introductory understanding of object-oriented programming principles, such as inheritance, abstraction, and encapsulation, in addition to their distinct implementation in JavaScript with the prototype chain.

Codesmith emphasizes creating well-rounded engineers. Begin refining this set of core capacities by learning effective technical communication & analytic problem-solving skills.

Engineers Talking

Technical Communication

A key competency of software engineers is technical communication. Throughout CS Prep, you will practice your ability to clearly and concisely describe your code and approach strategy through pair programming and technical presentations.

Problem Solving and Debugging

Problem Solving & Debugging

Understanding how to effectively find and solve a bug is an incredibly sought-after trait in developers. You will learn debugging best practices and develop a toolset to find even the most hidden errors.

Just as professional software engineers work, you will be given a loose set of directions to guide you as you create meaningful projects from the ground up.
Analyzing data on computer


You will spend the first Saturday analyzing big data, using higher-order functions, like map, filter, and reduce—a mini version of work done by many data analysts at top companies in the US.

Project building

Final Project

Students spend the final weekend of CS Prep working in small groups to plan and execute a project completely from scratch. Recent projects include a Texas hold-em game, a modern version of The Oregon Trail, and a soccer management simulator.

Daily Schedule

CS Prep operates on an alternating schedule between PST-based and EST-based cohorts. See below the approximate daily schedule breakdown.

6:30PM - 7PM


You will work through the solution of the previous day’s challenge, often live-coded by the instructor, and discuss as a group the various approaches to solving the problem.

7PM - 7:45pm


During this time, the instructor will teach and walk you through a new JavaScript or computer science concept. CS Prep teaches in the “Codesmith Style,” meaning, the lectures are highly interactive and often include diagramming to really break down these complex concepts.

7:45pm - 8:45pm


Codesmith believes pair programming is one of the best ways to learn! You will work with a partner to tackle an intricate coding challenge, where you will experiment with your new coding knowledge and refine your problem-solving skills. Your instructor will be meeting with each pair through this time to talk through any questions that may arise as you practice your programming.

8:45PM - 9:30PM


This is a time for you to ask your instructor questions, get tips for technical interview prep, and discuss your future career in software engineering. At the end of each class, you will receive an algorithm question to help you cement newly learned concepts and help you prepare for the technical interview at Codesmith. These problems will be reviewed during the following class session. Although the official class is over at 9:30pm, it is common to continue working through challenges and discuss the newly learned concepts with your peers.

12pm - 3pm


During this time, the instructor will review the previous Problem of the Day and will give a lecture on Callbacks & Higher-Order Functions.

3pm - 6pm


The second half of the class is spent pair-programming through a longer challenge, where residents use the concepts covered in class to analyze a large data set. The Problem of the Day is then released at the end of class.

12pm - 3pm


On the second Saturday, the instructor will review the previous Problem of the Day and give a lecture on JavaScript Closure.

3pm - 6pm


The second half of the class is spent pair-programming and taking the assessment. After a short lunch break, the students are assigned to their groups for the final project and will spend the rest of the class working on it.

Upcoming CS Prep Start Dates

CS Prep runs Monday - Wednesday and Saturday for two consecutive weeks, with a 1.5 hour presentation on Monday of the third week. Weekday sessions will run from 6:30-9:30pm in the local time zone (either EST or PST) and Saturday sessions will run from 9am-3pm PST (12pm-6pm EST).

Eastern Time

Waitlist Only


Applications closed


Application deadline: Jan 09

Phone screen deadline: Jan 13


Application deadline: Feb 06

Phone screen deadline: Feb 10

Pacific Time


Application deadline: Dec 26

Phone screen deadline: Dec 30


Application deadline: Jan 23

Phone screen deadline: Jan 27

Meet Your Lead Online Instructors

Allison Jacobs

Allison Jacobs

Senior Software Engineer @ Ally

Cindy Chau

Software Engineer @ Level Access

Dominic Ameneyro

Software Engineer @ The Action Network
Gregory Palasciano

Gregory Palasciano

Full Stack Engineer @ Diamond
Helen Regula-1-1

Helen Regula

Full Stack Developer @ BigID
Junie LeRocque

Junie LeRocque

Software Engineer @ BloomBoard
Matt Peters

Matt Peters

Front End Engineer @ Cvent
Mila Hose

Mila Hose

Senior Software Engineer @ Thirty Madison

Terry Tilley

Full Stack Developer @ NPR

Tuition, Scholarships & More

Codesmith has a variety of tuition assistance options for you to ensure this accelerated JavaScript education is accessible to all.

The total tuition for CS Prep is $875.00. Tuition covers 2 weeks of live instruction from experienced instructors, daily coding challenges, project building, and access to a supportive community of coders!

Paying Tuition

When you are accepted into the Full-time Software Engineering Immersive or Part-time Software Engineering Immersive, your CS Prep tuition rolls over to your full-time program tuition.

CS Prep offers scholarships to make the program accessible to all candidates committed to excellence in software engineering.  Applications are available upon acceptance to the program and are due 10 days before the start date. Scholarships are awarded on a rolling basis.


To qualify for a CS Prep scholarship you must exemplify a passion for coding, exceptional engineering potential, and bring something special to the community.

The teachers in this program were absolutely amazing and showed passion in teaching the content. The amount of information I learned and practiced in just two weeks was more than I learned by myself in six months. I highly recommend CSPrep for someone who is new to coding and also to people who want to understand what is happening under the hood in JavaScript.


Stone F.

CS Prep Graduate

How to Get Accepted to CS Prep

First Step

Submit Application Online

Set up a time to talk with a CS Prep admissions team member. This is a time for us to get to know you and your background a bit better and an opportunity for you to ask questions about the program and your future in software engineering. The interviewer will ask about the resources you’ve used to learn JavaScript, as well as your progress in CSX. Please have Precourse Part 1 & 2, Functions & Execution Context and Callbacks & Higher-order Functions units on CSX finished prior to your phone interview.

Submitting Online Application
Second Step

Phone Interview

Set up a time to talk with a CS Prep admissions team member. This is a time for us to get to know you and your background a bit better and an opportunity for you to ask questions about the program and your future in software engineering. If you have been invited to schedule your technical interview for the Software Engineering Immersive, you are eligible to receive a fast-track code to bypass the CS Prep Phone Interview requirement.

Phone Interview
Third Step


An admissions team member will reach out after your interview with an admissions decision. Once accepted, you must submit payment for your tuition to confirm your spot in the cohort.

Codesmith Decision
Apply Now

Prepare for CS Prep

Student working on code

CSX Units

Free online JavaScript learning platform

We ask all students to complete Precourse Part 1 & 2, Functions and Execution Context, and Callbacks & Higher-order functions as the Precourse work for CS Prep. These units will help give you the foundational understanding of JavaScript to set you up for success in CS Prep.

Start coding now

Student browsing Codesmith website

JavaScript for Beginners

Remote, Part-Time, Introductory Program

This online, part-time course is a perfect way to kick off your coding education. It's great for those who have never coded, or who are looking to fully cement the fundamental concepts. Once you have completed JSB and passed the assessment, you can gain automatic acceptance to CS Prep and have the tuition you’ve paid rollover.

Learn More

Students listening to instructor

Intro to JavaScript Workshops

Free workshops hosted in LA, NYC, and Online

Our beginner workshop series, Intro to JavaScript, covers concepts that are the foundation of all web development, such basic HTML, CSS, objects and arrays, and much more.


Start learning now!

Dive into functions and execution context with our CEO, Will Sentance. Get a sense of our teaching style, and how much you can do with code.

Frequently Asked Questions

Does CS Prep guarantee me acceptance to the Software Engineering Immersive programs?

CS Prep does not guarantee acceptance, but it is our recommended way to prepare for the immersive programs. CS Prep is designed to teach you core JavaScript fundamentals and covers concepts that are tested on the technical interview for the immersives. If you have questions about this, please reach out to csprep@codesmith.io.

Is there pre-course work to starting CS Prep?

Yes, before beginning CS Prep you will need to complete the Precourse Part 1 & 2, Functions and Execution Context and Callbacks and Higher-order Functions units on CSX, Codesmith’s free JavaScript learning platform. These units must be completed before beginning the program, but you do not have to complete them before applying.

How does the remote classroom work?

CS Prep uses several platforms to facilitate your online classroom experience. You’ll receive access and instructions before the course begins on what you’ll need to have installed. The classroom environment allows you to ask questions during the lecture, collaborate with other students, and personalize your own learning experience through annotation and note taking capabilities. Many past CS Prep students were impressed with the engaging and supportive experience with both their instructor and their peers.

Are there any requirements for taking CS Prep?

We look for students who have a working knowledge of foundational JavaScript concepts, especially those covered in the precourse material listed above. We encourage all prospective students to work through the CSX online learning platform, as well as attend at least one live remote workshop, whether that be Intro to JavaScript or JavaScript the Hard Parts, to get to know the Codesmith instruction style.