CODE2040 is a nonprofit organization that creates pathways to success in technology for underrepresented minorities.

Web Fundamentals

HTML Basics

Fundamentals of HTML

HTML Basics II

Now that you know how to build a webpage, let's learn how to make it look a little nicer. You can add lists, change fonts, and more!


Paragraphs and lists are great, but sometimes you want to lay your webpage out in a more complex way. Enter tables, divs, and spans!

Introduction to JavaScript

Getting Started with Programming

Time to become a coding champ.

Code Your Own Adventure!

Let's create your very own "code your own adventure" game.

Introduction to Functions in JS

This course introduces functions, why we use them, and how to use them. The course also combines functions with other programming concepts previously learned.

Introduction to Python

Python Syntax

This tutorial will introduce you to Python, a general-purpose, object-oriented interpreted language you can use for countless standalone projects or scripting applications.

Strings & Console Output

This course will introduce you to strings and console output in Python, including creating string literals, calling a variety of string methods, and using the "print" keyword.

Lists and Functions

Now that you've learned about lists, let's turbo-charge them with functions.

Introduction to PHP

Introduction to PHP

This tutorial will introduce you to PHP, a server-side scripting language you can use to make dynamic websites and web applications.

Conditionals and Control Flow

Control flow is how a program decides to perform one action instead of another. In PHP, we can use 'if' and 'else' to do this!


Arrays allow you to store lists of information in a single variable.

Introduction to Ruby

Introduction to Ruby

This tutorial will introduce you to Ruby, an object-oriented scripting language you can use on its own or as part of the Ruby on Rails web framework.

Putting the Form in Formatter

Now that you know a little bit of Ruby, let's put together your first project! In this one, we'll write a small program that will format a user's input.

Control Flow in Ruby

Now that we know how to write simple programs, let's learn how to write more complex programs that can respond to user input.