Programming is not as hard as you think. At its most basic, it's the skill of sending instructions to a computer. These instructions have to be written in a language the computer will understand. Just like human languages, computer languages share many of the same basic building blocks. This course will introduce you to those building blocks, and begin to teach you a language you can use to build programs for the web.

The language we will be learning is called JavaScript, or JS for short. JS is the language found in every modern web browser. We'll use it to introduce fundamental concepts found across computer languages. We'll touch on other languages where appropriate to give you a good overview of the variety languages available to programmers, and give you a sense of their strengths and differences.

Of course, in the end, you'll want to build things. We'll take advantage of JS's central place on the web to start building useful programs very quickly. By the end of the course, you will know how to program a web browser and have a foundational understanding of programming on top of which you can begin to build a career as a programmer in whatever language you choose to pursue.

Want to take this class?

We’ve launched so many amazing programmers into the wild. Will you be part of the next crew?

This course will be part of our upcoming course set. More information on specific dates and times are coming soon.

Let Us Know

Career and financial assistance is available during signup.
Learn More.

Alison Major


Alison Major

Getting her start as a graphic designer, and later found her groove as a practiced programmer. As an application developer for Sysco Corporation, Alison shines in front end development and spends much of her efforts working toward a positive user experience. She's mastered using hex codes, test driven-development, components, and responsive layouts to make the digital world a more beautiful place. She resides in Holland, MI with her husband Chris and loves to make jams and jellies or bake breads and goodies in her free time.

Kendell Joseph


Kendell Joseph
Elevator Up

Kendell honed his skills using web technologies creating a diverse set of products from web apps to robotics and wearables. His exploration of the digital frontier has taken him to the edge of design, development, and data storage trends. He enjoys sharing his expert knowledge with learners of all ages. He teaches a course to 7th and 8th graders at Trinity Episcopal School in Austin, TX and he's currently a Software Developer at Elevator Up. He's an accomplished musician and when he and his wife Laurel put their son to bed, he spends time building things and discovering more about our amazing universe.

Supplement Your Learning

As part of the Community
Check out The Factory's event calendar for upcoming events

And over Coffee With Creators
Every Wednesday morning at The Factory from 8:00am-9:30am


Course Goals

Life of a Project

A successful project hinges on good communication with your client. Learn how to establish with your client the minimum viable product, user stories, and regular status showcases along the way. We'll also talk about how to choose the right language for your program.

Programmer's Toolkit

Ready to start? What tools do you even need? Modern developers have a variety to choose from; we'll cover a few of our favorite text editors, how to use the terminal, and developer tools in popular browsers.

Version Control

An absolute necessity in any project life is version control. During this course you’ll create your own GitHub account and learn how to use commits, branching, pull requests, and issues to help keep you on task and give you rollback options when something doesn’t go right.

Data & Control Structures

Programming languages need a way to store data. We’ll cover strings, integers, floats, and more. Don’t know what this means? Don’t worry. That’s what this class is for! We’ll also cover how a program makes decisions and manipulates or uses the data that we provide to it.


As a program grows more complex, bits of logic need to be encapsulated. That's what functions do. You'll learn how to use them.

Objects & Databases

Object-Oriented programming is used in many modern programming languages. We'll learn why objects are so useful, and how to write your own, and how to store the data that your program is accessing.

Frameworks, Libraries, and APIs

No program lives in isolation. Programs stack on top of each other, talk to each other, and rely on each other. We'll learn about this stack, where our program fits in, and how to find and talk to other useful programs.

Testing and Refactoring

Great software isn't an accident. Good programmers test their code. We'll explain why this is so important, why even a beginner,especially a beginner, should learn to test. We'll also address the challenges of programs as they mature, and describe why testing and refactoring go hand-in-hand in building and maintaining programs over time.

A Day in the Life

We'll go over what work is like, day to day, as a professional programmer. We'll talk about how to collaborate with colleagues, how to read documentation, how to stay focused, and why programming is such a great career.

Before Class You Should Know

How to open a web browser. How to install software on to your computer. That's about it. You don't need to have ever programmed in your life. We'll teach you how.

After Class You Will Understand

  • What programming is.
  • How a program is structured.
  • How programming languages differ, how programs are stacked on top of each other, and how they communicate.
  • How to write a basic JavaScript program.
  • What to learn next to accomplish whatever goals you have in your programming career.

Tell us about yourself

Connect with us to learn more about how coLearning can support your development.

Let's meet up