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. Scholarships are available to cover up to 100% of tuition and your CS Prep tuition rolls 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.

CS Prep Prepares you for Codesmith's Software Engineering Immersives

CS Prep prepares you extensively for advanced coding bootcamps and their technical interviews. If you pass the assessment at the end of CS Prep you're given a special application that allows you to bypass the first non-technical interview and guarantees you a technical interview.

Codesmith classroom


12 Weeks | Currently Conducted Remotely in PT, CT, & ET

Advance your software engineering career with our top-rated flagship program. Interactive lectures, pair programming, and project building will be the center of your education for 6 days a week.

Learn More

Learning from Home

Part-time Immersive

38 Weeks | Remote Setting

We designed this immersive to be more accessible to those only able to commit to part-time learning, this program teaches the same top-rated curriculum on Mon-Thurs evenings and Saturdays.

Learn More

Upcoming CS Prep Start Dates

CS Prep runs Monday - Wednesday and Saturday for two consecutive weeks, with a one hour presentation on Monday of the third week.

Please note the start times for the upcoming cohorts:

January 18th - M-W 5-8 pm PT / 8-11 pm ET and Sat 9-3 pm PT / 12-6 pm ET
January 31st - M-W 3:30-6:30 pm PT / 6:30-9:30 pm ET and Sat 9-3 pm PT / 12-6 pm ET
February 14th - M-W 6:30-9:30 pm PT / 9:30 pm-12:30 am ET and Sat 9-3 pm PT / 12-6 pm ET


Applications closing soon

Phone screen deadline: Jan 12 (limited availability)


Application deadline: Jan 21

Phone screen deadline: Jan 26


Application deadline: Feb 04

Phone screen deadline: Feb 09

Meet Your Lead Online Instructors

Allison Jacobs

Allison Jacobs

Senior Software Engineer @ Ally
Camera Kendall

Camera Kendall

Software Engineer @ AnagraphQL
Gregory Palasciano

Gregory Palasciano

Full Stack Engineer @ Diamond
Helen Regula-1-1

Helen Regula

Full Stack Developer @ BigID
Matt Peters

Matt Peters

Front End Engineer @ Cvent
MJ Lafontant-1

MJ Lafontant

Software Engineer @ Notion

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 Remote 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 enrollment in the cohort and are due 10 days before the start date.


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

To celebrate the growth of Codesmith community on YouTube, the new $10K for 10K special scholarship offers 8 full-tuition CS Prep scholarships to Codesmith’s YouTube subscribers! Check out the scholarship page to learn more about the application process and eligibility. 

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

Apply to CS Prep by answering a few short questions about your goals and coding experience. To be qualified to apply to CS Prep, you must have at least a high school diploma or equivalent (i.e. GED or placement exam). Additionally, complete the OPTIONAL coding challenge to give us an understanding of your experience level. Not completing the coding challenge has no impact on your application. Please note that CS Prep has rolling admissions, and cohorts do fill up. If you are shooting for a specific cohort we recommend applying sooner rather than waiting for the application deadline.

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.

Phone Interview
Third Step


An admissions team member will reach out within a week of your interview. If accepted, this is a time to ask about scholarships and start preparing for the course. Please note that to secure your spot in a certain cohort, you must pay your tuition. If that cohort fills up before you have paid you will either be placed on a waitlist, or given the opportunity to join the next cohort.

Codesmith Decision
Apply Now

Prepare for CS Prep

Student working on code

CSX Pre-Course - Part 1

Free online JavaScript learning platform

The first part of the pre-course is designed to give an introduction to core JavaScript functionality, such as variables, data types, and strings, so you can move on to tackle more advanced challenges.

Start coding now

Student working on two screens with code

CSX Pre-Course - Part 2

Free online JavaScript learning platform

Building on the first part, Part 2 of the pre-course advances you into arrays, objects, loops, and control flow - key concepts in JavaScript and programming as a whole.

Learn core JavaScript 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.

Learn More

Students listening to instructor

Beginner JavaScript Workshops

Free workshops hosted in LA & NYC 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 Unit (Part 1 and 2) and the Functions and Execution Context Unit 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?

CS Prep students must possess a High School Diploma to participate in the course. We also recommend an understanding of introductory JavaScript, please see above for the recommended pre-course work.