Code 201: Foundations of Software Development

Code 201: Foundations of Software Development



Build a strong software development foundation and learn how to use HTML, CSS, JavaScript, and various libraries to create fully-functional web apps.

This course guides students toward developing a well-rounded foundation of skills necessary for modern web development. These skills include HTML, CSS, and JavaScript coding; utilizing Git workflow processes; project organization; designing with wireframing; and employing introductory Agile development methods.

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


At the end of this course, you will:

  • Define the structure of a web page utilizing the semantic hierarchical structural conventions of HTML5.
  • Apply CSS and HTML to implement page layout styles including grid, fluid, and responsive techniques; and to style content with color, typography, and images.
  • Utilize Javascript to make web projects interactive, such that user input is stored and processed to create updated and personalized content when a user interacts with a page.
  • Write JavaScript that leverages the fundamentals of Computer Science, the Object-Oriented Programming paradigm, basic data types, data structures, and basic algorithms, so that the code is efficient, error-free, and matches commonly accepted standards and practices of syntax and style, as measured by the code’s functionality and ability to pass a code linter.
  • Utilize industry standard version control tools and workflows, including Git and GitHub, to write functional, properly styled code and to work efficiently and harmoniously in professional environments.
  • Be prepared for a Code 301 course.


No prerequisite classes are required for this course. However, to prepare for the entrance quiz, we recommend the following resources:


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



  • HTML5 and CSS3
  • Object-Oriented Programming
  • Introductory Data Structures & Algorithms
  • Document Object Model (DOM) Manipulation & Traversal
  • Multiple Approaches to Page Layout
  • Using GitHub Repos and Sharing Code With Project Teams


  • HTML
    • Structure
    • Text
    • Links
    • Images
    • Tables
    • HTML5
    • Forms
    • Process
    • Design
  • CSS
    • Color
    • Text
    • Boxes
    • Lists
    • Tables
    • Forms
    • Grid Layouts
    • Fluid Layouts
    • Animations and Transitions
  • JavaScript
    • Loops
    • Conditions
    • Functions
    • Objects (Including Properties and Methods)
    • Object-Oriented Programming
    • Object Extension with Prototypes
    • Events, Event Listeners, and Event Handlers in Callback Functions
    • DOM Manipulation and Traversal Using "Vanilla" JavaScript without jQuery
    • Utilization of an external library such as ChartJS
    • Local Storage and JSON
    • The Basics of MVC

Environments and Tools

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

Computer & 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:

Learn with 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. 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 a class session.

Apply Now