Code 301: Intermediate Software Development

Code 301: Intermediate Software Development



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.

Daytime and Nights & Weekend tracks are each 160 hours total. Course hours include lecture, lab, and coworking.


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

  • Collaboratively design and create a single page web application from scratch using MVC architecture built with clean HTML, CSS, and JavaScript that satisfies stakeholder requirements captured in user stories.
  • Have the skills to 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 Routing and Single-Page Application Development
  • 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
    • Stacks


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

Environments and Tools

  • Unix and the Command Prompt
  • Git and Github
  • Atom
  • Chrome Dev Tools

Material Requirements

Students are required to bring their own laptop with plenty of free space on the hard drive. Most students use Macs, simply because they are easy to work with. Others install Linux on their laptops. Windows machines are allowed as long as they have 64-bit Windows 10 OS. By the first day of class, students will need:

If you would like to set up your Windows machine to dual boot to Linux, check out these guides:

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 published class / lab hours.

Apply Now