Becoming a well-rounded developer is much more than learning language syntax.

In this intensive course, you will study the common core of software development, including MVC architecture, object-oriented and functional programming, and computer science fundamentals such as basic data structures and algorithms. Come learn how to create and launch web apps in HTML, CSS, and JavaScript, with the help of third-party APIs and libraries from around the web.


At the end of this course, students will be able to:

  • Collaboratively design and create single-page web applications from scratch using MVC architecture built with professional-grade HTML, CSS, and JavaScript.
  • Work with string, array, and object data structures and algorithms to solve code challenges with pure JavaScript programming.
  • Design dynamic frontend and backend applications which can function together or independently and are deployed to cloud platforms.
  • Explain the fundamentals of how the world-wide web works, over the internet.
  • Utilize dependency management techniques to build with third-party libraries such as ExpressJS, jQuery, EJS, and Handlebars.
  • Persist one-to-many relational data across multiple tables in a SQL database, sourced from third-party APIs, user-generated content, or loaded from the filesystem.
  • Follow agile software development practices during week-long sprints, including pair-programming, stand-ups, daily retrospectives, project management with Kanban boards, regular refactoring, and working in a shared code base.
  • Enroll in a Code 401 course or attain an entry-level website development job or internship by completing the course requirements.


  • Code 201
    • Students with previous experience can test out of this requirement in their application. If you'd like to test straight into Code 301, please make sure you have experience with all of the topics listed on the Code 201 course page.


Once you are accepted into the course, please complete the Code 301 Prework.



  • MVC Architecture
  • Responsive Design
  • SQL
  • Client-Side and Server-Side Routing and Rendering
  • Services and APIs
  • Functional Programming
  • Relational Data
  • AJAX/JSON and Asynchronous Programming
  • APIs and Middleware
  • Heroku and Deployment
  • Daily Practice in Data Structures
    • Strings
    • Arrays
    • Objects
    • Functional Programming


  • Advanced HTML Templating
  • Intermediate CSS
  • Intermediate JavaScript
  • jQuery Events and DOM Manipulation

Environments and Tools

  • Unix and the Command Prompt
  • Git and Github
  • A Text Editor
  • Chrome Dev Tools

Material Requirements

You are required to supply your own laptop that meets the below requirements. Chromebooks are not suitable for this course, since you can’t directly control installed software. Most students use Macs. You are responsible for the upkeep and maintenance of your computer throughout the course. The course pre-work will have specific instructions for configuring your computer to be ready for the first day of class.

  • 64-bit Operating System, like macOS or Windows 10.
  • Fully up to date, with the latest version of the operating system and all security updates installed.
  • At least 50GB of free space on the hard drive.
  • At least 8GB of RAM. 16GB RAM strongly preferred.
  • Free of viruses, and in general working order.

By the first day of class, you will need:

Stacked Modules

Concepts in each of our courses are taught using stacked modules, where a new concept is introduced in each class session, building upon what came before it. This is a challenging style that requires persistence, practice, and collaboration, but allows more concepts to be introduced over the length of the course. This method helps students learn and retain more information in a short period of time. Learn more about stacked modules »

Homework Policy

In order to pass the class, students must attain at least 90% of available points.


Register Now