SMALL STEPS
One small step at a time.
97 core lessons + 3 Image lessons. Read, try the examples in the desktop IDE, and make them your own.
Choose a part to explore its lessons.
Small Steps I — Creating with Text and Numbers01–35 · 35 lessons
- 01Showing text on the screen
- 02Running from top to bottom
- 03Calculating and displaying numbers
- 04Giving a value a name
- 05Changing a stored value
- 06Calculating with a remembered value
- 07Storing values with fractional parts
- 08Multiplication and calculation order
- 09Quotients and remainders
- 10Storing strings too
- 11Asking for a name while running
- 12Calculating with an entered number
- 13Making a small calculator
- 14Running only when a condition holds
- 15Doing something else when a condition is false
- 16Choosing one of three branches
- 17Remembering true and false
- 18Combining two conditions
- 19Repeating the same instructions
- 20Repeating while a condition holds
- 21Stopping or skipping an iteration
- 22Drawing several rows of stars
- 23Naming a task you created
- 24Passing values to a function
- 25Receiving a function's result
- 26Using separate variables inside a function
- 27Joining strings
- 28Taking out one character
- 29Taking part of a string
- 30Including quotes and newlines
- 31Keeping several values together
- 32Looking at array values one at a time
- 33Creating an array by choosing its size
- 34Naming a value that will not change
- 35Shorter ways to update a value
Small Steps II — Making Things36–53 · 18 lessons
- 36Opening a window
- 37Asking an object for information
- 38Drawing with coordinates
- 39Adding colors and text
- 40Moving while a key is held
- 41Changing once per key press
- 42A circle that follows the mouse
- 43Responding to mouse buttons
- 44Changing position and drawing again
- 45Bouncing by changing direction
- 46Measuring elapsed time
- 47Moving according to actual time
- 48Playing sound effects
- 49Waiting for a sound to finish
- 50Running a function when it is time
- 51Displaying a timer's value
- 52Combining what you learned into a small game
- 53Adding a score to a game
Small Steps III — Thinking with Programs54–69 · 16 lessons
- 54Adding values in order
- 55Counting matching values
- 56Remembering the largest value so far
- 57Remembering a value's position
- 58Searching for a value
- 59Handling the not-found case
- 60Ordering from smallest to largest
- 61Ordering from largest to smallest
- 62Showing numbers as bars
- 63Watching a sort happen
- 64Halving the search range
- 65Seeing which values were compared
- 66How much work does more data require?
- 67How many times can a range be halved?
- 68Finding the second-largest value
- 69Counting occurrences of the largest value
Small Steps IV — Saving and Loading70–73 · 4 lessons
Small Steps V — Making Your Own Types74–78 · 5 lessons
Small Steps VI — Growing into C++79–88 · 10 lessons
- 79Using tools that already exist
- 80Finding the magnitude of a negative number
- 81Meeting standard strings and arrays
- 82Adding elements and reading them one by one
- 83Writing down the tools you need
- 84Showing where a name belongs
- 85Writing the real entry function main
- 86Cleaning up the window before the runtime
- 87Greeting without Small
- 88Using the same procedures in standard C++