CS Prep

CS Prep is a 2-week remote course that includes live online instruction, daily problem solving workshops, and extensive technical interview practice. At its core it is a program that teaches JavaScript concepts and engineering best practices. CS Prep will help you develop a deep, yet intuitive understanding of JavaScript and prepare you for your Codesmith technical interview or for interviews for other software engineering roles.

Think like an Engineer

Curriculum Highlights

The curriculum will go under-the-hood of JavaScript, helping you to develop a nuanced understanding of the language itself. It will challenge you to refine your problem-solving and you will learn -

  • How JavaScript actually runs code - call stack, execution context and memory
  • JavaScript operators - from ++ to the spread operator
  • var/const/let, data types, objects and arrays
  • Functions, arrow functions, higher order functions and callbacks
  • Closure - including higher order functions with closures (once and caching functions)
  • Recursion, algorithms and Big(O) notation
  • Technical communication - including recording and analyzing how you talk through coding challenges
  • Debugging techniques to prepare you to build more advanced applications


You will have the opportunity to work on a number of projects focused on the following -

  • Working with big data using functional programming techniques, build Texas Hold’em and simple cryptographic tools

Upcoming Start Dates

  • October 29th, 2018 - Application Deadline: October 17th, 2018
  • November 26th, 2018 - Application Deadline: November 14th, 2018
  • January 7th, 2019 - Application Deadline: December 30th, 2018

Course Structure Overview

CS Prep goes for just over two weeks with this structure -

  • Week 1: Mon-Wed (5-8PM PST/ 8-11PM EST) and Sat (9AM-3:30PM PST/ 12PM-6PM EST)
  • Week 2: Mon-Wed (5-8PM PST/ 8-11PM EST) and Sat (9AM-3:30PM PST/ 12PM-6PM EST)
  • Week 3: Mon (5-6PM PST/ 8-9pm EST)

Daily Structure

Each day of CS Prep has the same fundamental components -

  • Live in depth lecture using an immersive online learning environment that facilitates easy interaction with other students and the instructor
  • Instructor live coding and diagramming through example challenges
  • Pair programming through projects/challenges with a focus on improving technical communication and problem solving
  • Time for Q & A with instructors on concepts, tips for technical interviews, and discussion of how to approach a career in software engineering

Who is CS Prep for?

Those preparing for the Codesmith admissions process. (CS Prep was particularly designed to help applicants develop experience in the 5 key engineering capacities that Codesmith looks for.)

Those preparing for job interviews who want to hone their problem-solving & technical communication skills, as well as their understanding of how JavaScript works under-the-hood

Candidates preparing for a coding school who want to go deeper into JavaScript and problem solving.

Why Apply to CS Prep?

Whether you’re preparing for a top coding program or just getting started on your search for developer roles, CS Prep will help you lay a strong foundation for your future in software engineering. CS Prep offers -

  • Dedicated support from an engineering mentor
  • Guidance in developing the problem-solving skills needed to approach any technology

What You Will Achieve

CS Prep aims to develop you in the following five capacities that make an exceptional software engineer -

  • Analytical problem solving with code
  • Technical communication (can another person implement your code just from your explanation)
  • Engineering best practices and approach (debugging, code structure, patience and reference to documentation)
  • Non-technical communication (empathetic and thoughtful communication)
  • JavaScript language and computer science experience

How to Apply

CS Prep is an intensive, accelerated program that not only teaches JavaScript fundamentals but helps you to develop all the capacities necessary to become an exceptional software engineer as well. As reflected in the 5 capacities, being a skilled software engineer requires that you are as equally skilled in your technical communication as you are in your technical knowledge.

Given the rigor of this program, CS Prep operates a selective admissions process, accepting only the most promising applicants. We look for applicants who show a commitment to coding and excellent problem-solving capacity. The application consists of essays and an optional coding challenge.


Tuition and Scholarships

CS Prep tuition is $750.

If you are accepted into the Codesmith immersive program, the amount you pay for CS Prep goes toward your Codesmith tuition as a credit.

CS Prep strives to be accessible to all candidates committed to excellence in software engineering. In an effort to support our candidates, we offer scholarships to -

To apply for a scholarship, please complete this application AFTER you have submitted your program application (above).

If you are unable to pay your tuition there are payment plans available, you can discuss these plans with the CS Prep Admissions Team due to their case by case nature.

Does CS Prep guarantee me acceptance to Codesmith?

Completing CS prep does not guarantee you admission to the Codesmith Software Engineering immersive program. CS Prep is designed for students preparing for advanced programs and will give you extensive practice in all the capacities Codesmith looks for in its applicants, helping you put your best foot forward in your interviews.

At the end of CS Prep if you pass the assessment you are guaranteed a Codesmith technical interview.

Is there pre work to starting CS Prep?

Yes, before beginning CS Prep you will need to complete the Precourse Unit and the Functions and Execution Context Unit on our free JavaScript learning platform CSX .

These units must be completed for beginning the program, you do not need to have completed 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.