Last updated 2026-09-20

What each course teaches

Fulfledge has several courses, from how programming thinks through to databases, the command line and Git. This guide covers what each one teaches and a good order to take them in.

The big picture

The Fulfledge courses are lined up so that working through them from the top adds one piece of web-development skill at a time. The goal is to be able to build a portfolio of your own that you can show when job hunting.

Courses come in two kinds: the main route and side trips. Main-route courses build on what the previous course taught. Side trips are not required — skip them and move on, or come back to them later.

Here are the courses available right now, and how much each one contains.

CourseSize
JavaScript
Build the way of thinking that programming runs on
12 chapters · 96 lessons · 1239 questions
Python
Learn how programming thinks, with fewer symbols in the way
12 chapters · 107 lessons · 1376 questions
TypeScript
Add types to JavaScript and catch mistakes before you run anything
9 chapters · 37 lessons · 481 questions
HTML & CSS
Build what a web page looks like
4 chapters · 63 lessons · 805 questions
Build a to-do app
Bring HTML, CSS and JavaScript together into your first working app
3 chapters · 11 lessons · 11 questions
SQL
Get data in and out of a database
5 chapters · 52 lessons · 648 questions
How computers work
Check what is happening underneath your code, using past exam questions
10 chapters · 21 lessons · 273 questions
How web apps work
Read what actually travels between the browser and the server
1 chapters · 3 lessons · 39 questions
The command line
Type into a real Linux running inside your browser and learn where files live
13 chapters · 77 lessons · 998 questions
Git
Commit your changes so you can always go back. Create branches, share them on remote repositories, and get reviewed through pull requests.
9 chapters · 9 lessons · 117 questions

How programming thinks: JavaScript / Python

The first thing to learn is how programming thinks — ideas shared by every language. Pick either JavaScript or Python. There is no need to do both.

Either course builds the same skills:

  • Put values in variables and work with them by name
  • Split work depending on a condition (if statements)
  • Repeat the same work (for and while loops)
  • Hold many values together (arrays / lists, objects / dictionaries)
  • Give a chunk of work a name and reuse it (functions)
  • Create many pieces of data with the same shape (classes)
  • Read errors, and prepare for them

JavaScript is closely tied to web development and leads straight into HTML & CSS and the to-do app project. Python has less punctuation and reads easily, which makes it easier to focus purely on the ideas. Its later chapters go on to Python-specific ways of writing, such as reading and writing files and comprehensions.

Writing with types: TypeScript

TypeScript is JavaScript with types added. Write down "this variable only holds numbers" or "this function returns a string", and it tells you when something is used wrongly — before the program even runs.

It is a side trip that follows on from the JavaScript course. It starts with adding types, then covers describing the shape of objects, union types and narrowing, typing classes, and a first look at generics. Later chapters cover typing the results of asynchronous code and the data you receive from an API, and designing a screen's four states — loading, empty, error and success — with types.

In this course, if a type error remains, the answer is wrong even when the output matches. That is how you learn the value of types by feel.

Web pages and apps: HTML & CSS, the to-do app

HTML & CSS is where you build what a web page looks like. HTML lays out a page's structure — headings, paragraphs, links, images, forms — and CSS sets colors, sizes, spacing and placement. Later on it covers responsive design, which switches the layout between phones and computers, and arranging things with Flexbox. Whatever you write appears in a live preview straight away.

The to-do app project brings together the HTML, CSS and JavaScript you have learned so far into a to-do list app. In this course, each lesson is one step of the build, starting from the finished result of the one before. Adding what you type to a list, removing finished items, rejecting empty input, working on many rows at once — you add the pieces a real app needs one at a time.

The finished app can be exported as files onto your own device. That is your first step outside the app.

Working with data: SQL

SQL is the language for getting data out of a database and changing it. Almost every web app has a database behind it. User details, product listings, published posts — all of it is stored in a database.

This course starts with pulling data out of a table and narrowing it down by condition, then moves on to sorting, aggregating (sums, averages and counts), joining several tables together, and finally adding, updating and deleting data. Along the way there is also a chapter that analyzes something close to real-world data.

The SQL you write runs against a real database inside your browser.

Understanding how things work: computer fundamentals, how web apps work

These two are side trips where you build knowledge rather than write code.

How computers work covers what is happening underneath your code: networks, security, databases, algorithms, operating systems and more. Its questions come from past papers of Japan's national Fundamental Information Technology Engineer Examination, used with their sources clearly cited. Every explanation is written from scratch.

How web apps work unpacks what actually travels between the browser and the server. You come away knowing what happens behind the scenes when you open a page, press a button, or receive data.

Developer tools: the command line, Git

The command line teaches you to operate a computer by typing commands. In this course a real Linux boots inside your browser, and you type actual commands into it. It goes from creating, moving and deleting files, through searching their contents and chaining commands to reshape text, to managing permissions and writing shell scripts. It is an essential skill for working with servers on the job.

Git teaches you to record changes to your code so you can always go back to an earlier state. From commits that record changes, branches that separate work, and remotes for sharing with others, through to pull requests for review, you get hands-on with the whole flow of developing as a team.

Where to start

If you are learning to program for the first time, start with JavaScript or Python. If you cannot decide, JavaScript is the recommendation for anyone who wants to head into web development.

After that, this order builds your skills without strain:

  • JavaScript or Python (how programming thinks)
  • HTML & CSS (building how things look)
  • The to-do app (combining them into an app that works)
  • SQL (working with data)
  • The command line and Git (using developer tools)

Take side trips into TypeScript, computer fundamentals, and how web apps work as your interest and time allow.

If you have already learned another language, or only want to study a particular area, feel free to start from any course. Where a course expects you to finish another one first, its contents page says so.

Lessons to try after this guide

Other guides

All guides · Start a lesson