Code 301: Intermediate Software Development



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

In this intensive course, you will learn with AI to study the common core of software development, including the MVC pattern, object-oriented and functional programming, and computer science fundamentals such as basic data structures and algorithms. Come learn how to create and deploy web apps that leverage generative AI capabilities, built with the “MERN” stack (Mongo, Express, React, and Node.js).

This course includes a career coaching curriculum to get you ready for your job search. The course totals 160 hours, including lectures, lab, coworking, and collaborative projects.


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

  • Collaborate with classmates and AI tools to design and create web applications from scratch using MVC patterns, built with professional-grade HTML, CSS, and JavaScript using the React JavaScript library
  • Build a new class of applications, with generative AI capabilities
  • Work with string, array, and object data structures and algorithms to solve code challenges with pure JavaScript programming
  • Build dynamic front-end and back-end applications 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 and React-Bootstrap
  • Persist data in a NoSQL database, sourced from third-party APIs or user-generated content
  • Authenticate users using a third-party OAuth library
  • 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 codebase
  • 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.



  • Software development with AI tools
  • Integration of generative AI models
  • Web Request-Response Cycle
  • Stateful DOM Management with React Components
  • Express.JS
  • JSON and 3rd-party APIs
  • Persistence with MongoDB
  • Styling Libraries
  • Server-Side Routing
  • Services and RESTful APIs
  • Functional Programming
  • AJAX and Asynchronous Programming
  • MVC Architecture
  • Authentication
  • Deployment with cloud services like Heroku

Daily Practice in Data Structures

  • Strings
  • Arrays
  • Objects
  • Functional Programming


  • CSS Frameworks
  • Intermediate JavaScript
  • React

Environments and Tools

  • Unix and the Command Prompt
  • Git and Github
  • VS Code Text Editor
  • Browser Dev Tools
  • HTTP API Clients
  • MongoDB NoSQL Database
  • Auth0 Authentication
  • Trello Project Management

Career Transition Services

Changing careers is about more than learning a new skill. In tandem with your software development education, you will receive powerful career-building strategic training so you can confidently start your job search as soon as (or even before!) you graduate.

Our Career Transition Services provide training, mentoring, leadership, and introductions to industry partners to help you become a more well-rounded software developer and a leader in your field. These services, which start in Code 201 and continue after Code 401 graduation, involve a series of events, workshops, and assignments that help you think holistically about your new career and take actionable steps towards success. Learn More »

Material Requirements

You are required to supply your own computer that meets the requirements specified in our FAQ.

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.


Punctuality, participation in discussions, completion of assignments, and demonstration of professional courtesy to others are required, in accordance with our Code of Conduct. Attendance will be taken at the beginning of every class. Passing requires at least 90% attendance. Students should always contact the instructors ahead of time if they are unable to attend all or part of the published class/lab hours.

Apply Now