Current Curriculum

The following is a list of all Modules and Lessons currently in the course, as well as lessons that are in development, or planned for future relase. If you see a icon then that lesson doesn't have a video, but still has text. If you see a icon then it's being worked on. Finally, if you see a then it's being planned and might change.

This is list of modules is not final. I am currently planning the entire course. Right now it's about 50% planned with many more modules coming soon. I may also decide to remove modules or reorganize them based on student feedback.

First Steps Module

Installing required software and advice for beginners.

01: Welcome to The Course

A quick introduction and welcome to the course with some key information to get started.

02: Course Motivation and Overview

The grand vision of the course as of March 2021.

03: Common Misconceptions About Programming

Learning a programming language is different from other things you've learned. In this exercise I give you helpful tips on how to better succeed.

04: Setup for Windows

Getting your Windows 10 computer ready to code.

05: Setup for OSX

Setting up your OSX/Mac computer for code.

06: Setup for Linux or WSL

Getting a Linux system ready, or using Windows Subsystem for Linux.

07: PowerShell Basics

Learning to use enough PowerShell to complete the course.

08: Bash Basics

A quick introduction to bash if you run Linux, WSL, or OSX.

09: Available Help Resources

The general technical help resources available for you as a customer of the course.

10: Next Steps

What you should be doing next.

Upgrading is Easy

Register today for the Beginner Basics course and get the new releases by just paying the difference. There's also special discounts for existing customers when new courses are released.


HTML Basics Module

Learn how browsers structure the content you see using HTML tags.

01: Elements

Introducing basic terminology for HTML.

02: Tags in Detail

A quick reference of the major HTML tags you'll use the most.

03: Attributes

Learn about how attributes modify tags, and aren't used much anymore.

04: Links

Learn how to link to another HTML document.

05: Important Attributes

A list of the major attributes on tags you'll most likely use.

06: The DOM

Explain the Document Object Model and how nested tags work.

07: Tables

Focus on tables for tabular data.

08: Forms

Focus on forms for collecting information from the user and submitting it.

09: Custom Tags

An explanation of using your own tags, why that's the easiest way to work, followed by a challenge.

10: On to CSS

Bridging from HTML to CSS and how CSS walks the tag tree.

Upgrading is Easy

Register today for the Beginner Basics course and get the new releases by just paying the difference. There's also special discounts for existing customers when new courses are released.


CSS Basics Module

Learn a simple way to use CSS to style HTML.

01: CSS and HTML

The relationship between CSS and HTML.

02: The Setup

Setting up the JavaScript gear you need to use.

03: Rule Sets

The initial format for a CSS rule, and how selectors work.

04: Simple Styling

An initial set of useful properties for CSS that should cover 90% of your uses.

05: Value (Not Color) Codes

Using monochrome values instead of color codes to simplify your process.

06: Variables

Using variables to simplify CSS and making changes easier.

07: Flexbox Basics

Introducing Flexbox for consistent modern layout.

08: Grid Basics

Introduction to using CSS grids for uniform layout.

10: Frontend Development Process Stages 3 and 4

Breaking away from blockstart.css to create the final look of the subject website from Exercise 9.

09: A Frontend Development Process

I explain a process for taking your front end ideas (or copy subjects) from nothing to working user interface using blockstart.css.

Upgrading is Easy

Register today for the Beginner Basics course and get the new releases by just paying the difference. There's also special discounts for existing customers when new courses are released.


JavaScript Level 1 Module

Introduction to all of the basic elements of JavaScript.

00: Gearing Up

Getting the software you need to finish this module.

01: A First Program

Your very first JavaScript program.

02: Comments

How to comment out parts of your code and write help for your future self.

03: Simple Math and Strings

Doing simple math and creating displayable text in strings.

04: Variables

Variables for storing and referencing information.

05: Constants

Constants are variables that you claim will not change.

06: Escape Sequences

When you write a string how do you put a string in it?

07: Prompting Input

Asking a person for input from the terminal.

08: Command Line Arguments

Accepting input from the user as command line options on your script.

09: Files

Reading files with the fs (filesystem) module.

10: Files, Args, and Variables

Combining reading files with accepting command line arguments.

11: Functions

Creating small pieces of code and jumping to them with functions.

12: Functions, Files, Variables

Combining everything learned so far with functions, files, and variables in one.

13: Modules

Packing a group of related files into a single component called a module.

14: True and False Tests

The start of logic comparison operations.

15: If and Else

The introduction of branching with if and else.

16: While Loops

The concept of repeating a block of code with a while-loop.

17: Sequences and For Loops

Lists of data and enumerating them with a for-loop.

18: More Arrays

Studying Arrays even more and becoming proficient at nesting them.

19: Data Objects

First step with objects just for key/value data.

20: First Game

Creating a little game to combine everything learned thus far.

21: Simple OOP

Going from Data Objects and Functions to Object Oriented Programming.

22: More Complex OOP

Using the new ES6 style of classes is much better than the last exercise's classes.

23: Inheritance

Learning about the concept of inheritance in OOP.

24: OOP Game

Creating an OOP version of our little game.

25: Functions and Recursion

Studying a complex use of functions calling their self to do a loop.

26: Transforming Data

Processing Arrays with handy functions and callbacks like map and reduce.

27: Applying Functions

You can chain sequences of functions together to perform more complex sequences of operations.

28: Scope and Closures

The concept of scope in ES6 vs. older JavaScript and why you should use let and const instead of var.

29: Partial Application

A more complicated technique to push your understanding of callbacks and filters.

30: Callbacks, Events, Promises and Async

This exercise covers the many, many, many ways that JavaScript handles asynchronous events.

31: Modules and import

The final exercise covers the use of import and modern ES6 modules.

Upgrading is Easy

Register today for the Beginner Basics course and get the new releases by just paying the difference. There's also special discounts for existing customers when new courses are released.


JavaScript Level 2 Module

A set of 10 small projects that refine and practice your JavaScript skills.

00: Introduction

A series of projects that practice what you've learned so far.

Exercise 01: CSV is Easy...Right?

Learn about Promises while learning about CSV parsing.

02: Filter a Log File

Learn about RegExp while learning about parsing log files.

Replicate ls

Learn more about the fs module while replicating ls.

Replicate find

Learn about directory traversal while replicating find.

Solve Markdown, then Design

Apply what you've learned so far to a static blog generator.

06: A First Web Application

Learn how to learn another project's API while making your blog more dynamic.

07: Access a SQLite3 Database

Learn about database access from JavaScript using knex.js and testing.

08: A TODO List Website

Apply what you've learned so far to create a database backed full stack application.

09: A Fully Dynamic Blog

Apply what you've learned so far to add comments to your blog.

10: A Simple JSON API

Revisit the TODO app to learn about web applications that access JSON APIs.

Upgrading is Easy

Register today for the Beginner Basics course and get the new releases by just paying the difference. There's also special discounts for existing customers when new courses are released.


Web UIs Level 1 Module

It's now time to learn how to create Reactive web UIs using Svelte.

00: Introducing Svelte

Introducing the module and getting Svelte setup.

01: .svelte File Structure

Creating your first .svelte file.

02: Template Variables

How to get your variables into the HTML.

03: Reactive Assignment and Blocks

How updating your variables with equality updates the DOM.

04: Logic and Looping

The classic if-statement and each-block in Svelte.

05: onMount and Await Blocks

Controlling when things happen using onMount and await.

06: Events

Handling event from the browser with on: syntax.

07: Bindings

Bidirectional variable binding with bind:

08: Svelte Project Part 1

Applying what you know to a real project.

09: Svelte Project Part 2

Working on the next UI elements for the project.

10: Svelte Project Part 3

Making the UI interact with a JSON API.

Upgrading is Easy

Register today for the Beginner Basics course and get the new releases by just paying the difference. There's also special discounts for existing customers when new courses are released.


Web UIs Level 2 Module

Learning how to use components in Svelte for more advanced UIs.

00: Introducing Advanced Svelte

Introducing the module and getting Svelte setup.

01: Components in Svelte

Breaking up your UIs with discrete components.

02: Svelte Lifecycle

How Svelte (probably) loads your code.

03: Component Properties

Adding export properties to your components.

04: Component Events

Creating events from your components with dispatch.

05: Custom Bindings

Binding components, and a trick for getting at functions.

06: Dynamically Building Components

Loading components dynamically rather than with a tag.

07: CSS class and style Binding

Binding CSS classes to components (or anything) based on variables.

08: Component Slot Contents

Allowing components to have child elements with slots.

09: Svelte Project Part 4

Using components in the example app.

10: Svelte Project Finale

Finalizing the application using everything you know so far.

Upgrading is Easy

Register today for the Beginner Basics course and get the new releases by just paying the difference. There's also special discounts for existing customers when new courses are released.


SQL Bascis Module

Introduction to basic SQL databases and how to access them with knex.js.

00: Introducing SQL

A quick introduction to SQL databases with knex.js.

01: Tables, Columns and Rows

Starting off with tables, columns, and rows in SQL.

02: Creating a Table

Creating a table scheme with SQL.

03: Column Types

The different column (data) types in SQLite3.

04: Create, Read, Update, Delete

The Create, Read, Update, and Delete basics.

05: From SQL to JavaScript Objects

How SQL tables and queries translate into JavaScript objects.

06: Primary Keys and Indexing

Using primary keys to link tables and how they get indexed.

07: One-to-Many, Many-to-Many

The two primary ways tables are related.

08: High Concept "Attributed Relations"

A special kind of relation that's not common, but very useful.

09: Migrations

How to migrate a database to change its schema and/or data.

10: Analyze and Migrate a Database

A final challenge to analyze a database and migrate it to change it.

Upgrading is Easy

Register today for the Beginner Basics course and get the new releases by just paying the difference. There's also special discounts for existing customers when new courses are released.