---
title: "Programming thinking — ZudoJS Academy"
description: "Think like a programmer before you write serious code: break problems down, design algorithms in pseudocode and flowcharts, reason with logic and a little mathematics, and solve problems step by step."
source: https://zudojs.oyinlola.site/learn/programming-thinking
---

LEVEL 1 · THINKING

Course Foundation

# Programming thinking

Think like a programmer before you write serious code: break problems down, design algorithms in pseudocode and flowcharts, reason with logic and a little mathematics, and solve problems step by step.

- **18 lessons**
- **13 h** to read and try
- **Before this:** nothing, start here

0 of 18 lessons done

[Start lesson 1 →](https://zudojs.oyinlola.site/learn/welcome)

## When you finish, you can

- Break a vague problem into small, concrete problems
- Name the inputs, outputs and edge cases of a problem before solving it
- Write an algorithm as pseudocode and as a flowchart
- Evaluate and simplify boolean conditions with truth tables and De Morgan's laws
- Use sets, percentages, sequences and counting to reason about data
- Explain why a broken algorithm fails, and fix it

**You build:** A notebook of solved problems, each reasoned in plain language and pseudocode before any code

MODULE 1

## Start here

1. [1**Welcome to ZudoJS Academy**What ZudoJS Academy is, who it is for, its six tracks and 19 levels, the projects you build, how the pages work, and where you should start.15 min](https://zudojs.oyinlola.site/learn/welcome)
2. [2**Your developer environment**Meet the tools a developer uses every day, the terminal, a code editor and the browser's developer tools, and learn to move around your files by typing commands.35 min](https://zudojs.oyinlola.site/learn/dev-environment)
3. [3**How programs run**What happens between the code you type and the result on the screen, what JavaScript engines and runtimes are, and the difference between a syntax error and a runtime error.25 min](https://zudojs.oyinlola.site/learn/how-programs-run)
4. [4**How the web works**Follow a request from your browser to a server and back, and learn what clients, servers, IP addresses, DNS, ports, HTTP, HTTPS, APIs and databases are.30 min](https://zudojs.oyinlola.site/learn/how-the-web-works)

MODULE 2

## Think like a programmer

1. [5**What programming is**Learn what programs, instructions and algorithms are, see every program as input, processing and output, and solve a real problem with the problem-solving loop.40 min](https://zudojs.oyinlola.site/learn/think-programming)
2. [6**Breaking problems down**Split a problem as big as "build a bank" into pieces small enough to solve, order them by dependency, and build a money transfer from small, tested steps.40 min](https://zudojs.oyinlola.site/learn/think-decomposition)
3. [7**Algorithms**Learn what makes a method an algorithm, the three shapes every algorithm is built from, and the everyday algorithms for searching, counting, filtering, transforming and sorting.45 min](https://zudojs.oyinlola.site/learn/think-algorithms)
4. [8**Pseudocode and flowcharts**Write an algorithm as pseudocode and as a flowchart, trace it by hand, find its missing paths, and translate it line by line into working JavaScript.45 min](https://zudojs.oyinlola.site/learn/think-pseudocode)
5. [9**Reasoning about programs**Ask what you know, what you assume and what must stay true, build edge-case tables, and use invariants to show a program works for every input, not just a few.50 min](https://zudojs.oyinlola.site/learn/think-reasoning)

MODULE 3

## Logic and mathematical thinking

1. [10**Boolean logic**Reduce program decisions to true and false, combine them with AND, OR, NOT and XOR, and let a loop build truth tables that check every case for you.40 min](https://zudojs.oyinlola.site/learn/logic-boolean)
2. [11**Conditional reasoning**Turn written business rules into exact conditions, invert and simplify them safely with De Morgan's laws, and restructure them as guard clauses that explain every refusal.45 min](https://zudojs.oyinlola.site/learn/logic-conditions)
3. [12**Sets**Reason about groups of things with sets: remove duplicates, test membership, and combine permissions, tags and mailing lists with union, intersection, difference and subsets.45 min](https://zudojs.oyinlola.site/learn/logic-sets)
4. [13**Mathematical reasoning**Use expressions, functions, equations, ratios and percentages to compute discounts, VAT and interest, and keep money exact by counting in kobo instead of decimals.50 min](https://zudojs.oyinlola.site/learn/logic-math)
5. [14**Sequences**Spot the pattern in a list of numbers, compute arithmetic and geometric sequences with loops and formulas, and see why compound interest and exponential growth surprise people.45 min](https://zudojs.oyinlola.site/learn/logic-sequences)
6. [15**Counting**Count things with loops and frequency tables, count possibilities with the multiplication principle, permutations and combinations, and see why trying every option quickly becomes impossible.45 min](https://zudojs.oyinlola.site/learn/logic-counting)

MODULE 4

## Problem-solving fundamentals

1. [16**Problem workshop: beginner**Solve ten everyday problems, from even or odd to a tax calculator, by reasoning about inputs, outputs and edge cases first, then coding and testing each one.55 min](https://zudojs.oyinlola.site/learn/solve-beginner)
2. [17**Problem workshop: intermediate**Solve eight problems on lists of real data, from duplicate payments to stock levels, reasoning about edge cases and the amount of work first, then coding and testing.60 min](https://zudojs.oyinlola.site/learn/solve-intermediate)
3. [18**Why doesn't this work?**Diagnose broken algorithms that run without errors but give wrong answers, using trace tables, predictions and boundary tests, then fix each root cause.50 min](https://zudojs.oyinlola.site/learn/solve-broken)

## Course checkpoint

Prove you can move on. The checkpoint picks 20 questions at random from every lesson in this course. Get 16 right to pass. Your result is saved in this browser only.
