Curriculum

Programming Foundations

Unlike other courses that emphasize syntactical details of a specific language, we provide a strong language-agnostic foundation that will allow you to master the most difficult topics in software engineering.

Though made with beginners in mind, many experienced programmers find it challenging as well. This is because it was designed to combat subtle misconceptions that are widely held by programmers of all levels.

Exclusives:

  • Our diagramming process for understanding the intricate nuances behind how memory is stored and allocated (with specialized exercises)
  • Our “circles and arrows” system for reliably analyzing scope in any situation
  • Our “expectations versus reality” system for methodically working through tricky situations
  • Our requirements-based approach to feature development
  • Advanced usage of commercial debuggers for analyzing code
  • How to strategically read documentation on sites like MDN

Technical topics:

  • JavaScript (we use a compact subset of language-agnostic features)
  • Variables, assignment, and essential operators
  • Major primitive and compound data types
  • Iterative logic and conditional structures
  • Functions, methods, scope, parameters, arguments, and return values
  • Arrays and nested object structures
  • Higher-order functions and callback functions
  • HTML and DOM manipulation
  • Browser UI development, event listeners, and managing browser input

Algorithms Track

There's no shortage of algorithms resources. Courses from the best universities are freely available, and there are unlimited practice problems on LeetCode. But people can go through everything and still not be able to pass interviews.

What’s missing is the right kind of practice. Our program helps you nail the subtle parts of learning that are crucial but hard to get right. These considerations are deeply ingrained into our program and take the guesswork out of high-quality training.

Exclusives:

  • Assessments are hand-graded by experienced engineers, simulating the process of code reviews that you’ll encounter at top firms like Google and Facebook
  • Our curriculum nudges you to derive classic algorithms on your own on so that you learn them more deeply than ever
  • Mastery-based system where you must pass clear standards on time complexity, space complexity, and overall design
  • Extensive practice with Big O analysis (time and space) for every single problem, plus dedicated quizzes and guides
  • Exhaustive solutions with detailed thought-process walkthroughs, live sample answers, performance analyses, and mathematical proofs

Technical topics:

  • Math for CS: Formal Logic, Proofs, Logarithms, and Sets
  • Performance Analysis and Big-O Notation
  • Arrays, Dictionaries, and Strings
  • Sorting and Searching
  • Dynamic Programming and Recursion
  • Stacks and Queues
  • Linked Lists, Graphs, and Trees

Web Development Track

Instead of focusing on high-level frameworks that come and go, we focus on the timeless ideas that underpin them. You'll apply these fundamental concepts to build a series of increasingly complex applications on your own.

The goal is to help students get acclimated to the challenges of professional programming, where it is easy to become overwhelmed by a wide range of tools and technologies. More advanced students may choose to work on established open-source projects instead. For example, we’ve had several students make significant contributions to the Firefox Browser, including the “Watchpoints” and “Restart Frame” features.

Exclusives:

  • We’ll work with you individually to help you develop custom portfolio projects based on your interests and skill level
  • Interactive assessments that give practical experience designing complex database schemas
  • Hands-on practice with implementing database systems using low-level SQL rather than high-level ORMs
  • Assessments that simulate company “take-home” interviews

Technical topics:

  • HTTP requests, authentication, sessions, and routing
  • Classic server-side driven web applications
  • Architecting single-page-applications with JavaScript
  • Backend development with Node and Express
  • Modeling relational data, entity-relationship diagrams, and SQL
  • Object-oriented programming with JavaScript classes

Career Track

We're by your side every step of the way, from crafting a resume that sells, to application strategy, to interview post-mortems, to offer negotiation. If you're already in the industry, we'll help you get the promotion or that new role you've been eyeing. This is where all of your hard work comes together.

Exclusives:

  • Technical and behavioral interview post-mortems: we'll objectively assess how you did on actual interviews so that you can make the most of every opportunity
  • We’ll work with you individually to refine your resume over multiple rounds of feedback until it’s as strong as it can be
  • Dedicated behavioral interview training
  • Personalized application strategy with ongoing check-ins so that you can improve your tactics with more data
  • Create a compelling online presence with a personal site and Linkedin profile

Friday Sessions

Every week we meet as a group and tackle a new problem. Students independently develop solutions, which are then meticulously discussed and critiqued by both students and faculty. This is a whole new way of practice that more effectively simulates what companies are actually looking for—those that can truly think on their feet.

Exclusives:

  • Weekly cadence turns high quality practice into a recurring ritual
  • Custom problems that change based on real-time data we have about actual interviews that are happening today
  • Get experience solving and talking about problems live
  • Practice making and defending complex technical arguments
  • Meet with peers at various levels and see how others think about and approach problems

Faculty support

You get direct access to us via email, Slack, and unlimited 1:1 office hours (no teaching assistants ever). We carefully manage the size of our student body to make this possible because we believe educational quality is more important than the bottom line. No other institution, public or private, offers this level of service at any price.

Exclusives:

  • Get direct access to us (Gordon and Lily); we don’t outsource support to teaching assistants
  • You can directly book sessions with us on Calendly Monday through Friday; we adjust our schedules so that there are always slots available
  • We’ll support you through any curriculum or career-related issues

Our weird newsletter

  • Hear our raw, unfiltered thoughts on programming
  • Attend events exclusively for newsletter people