Computer Science · the course
Programming, step by step
One idea at a time. Read it, then practise it.
67 of 126 lessons are ready. The theory side of the course is not written yet.
Java answers can't run on Spine yet. You can still read Java, trace it, and put an answer's lines in order.
Part 1
Programs that talk
0 of 12 lessons done.
- 1.1Print one line2 exercises
- 1.2Statements run top to bottom2 exercises
- 1.3Read a line and print it back2 exercises
- 1.4Join text with +2 exercises
- 1.5A variable holds one value; assigning again replaces it3 exercises in Python1 exercise in Java
- 1.6Read several lines, use them in any order2 exercises
- 1.7Four basic types1 exercise
- 1.8Turn typed text into a number4 exercises
- 1.9Operators and precedence3 exercises in Python2 exercises in Java
- 1.10Whole-number division and remainder3 exercises in Python2 exercises in Java
- 1.11Keeping the fraction; when conversion loses information2 exercises
- 1.12Capstone: several inputs, several results1 exercise
Part 2
Decisions
0 of 10 lessons done.
- 2.1if3 exercises in Python2 exercises in Java
- 2.2Comparison operators2 exercises
- 2.3else3 exercises in Python2 exercises in Java
- 2.4else-if chains; the first true branch wins3 exercises in Python2 exercises in Java
- 2.5Remainder inside a condition2 exercises
- 2.6Comparing text2 exercises
- 2.7and, or, not3 exercises in Python2 exercises in Java
- 2.8Nested conditions1 exercise
- 2.9Trace a branching program2 exercises in PythonReading only in Java
- 2.10Capstone: several rules decide one answer1 exercise
Part 3
Repetition
0 of 10 lessons done.
- 3.1Loop until a stop value3 exercises in Python2 exercises in Java
- 3.2Every loop needs an update; find the infinite loop2 exercises
- 3.3The counting pattern2 exercises
- 3.4Sum and average, with an empty-input guard3 exercises in Python2 exercises in Java
- 3.5Count-controlled loop3 exercises
- 3.6Loop bounds from input; a running total over a range2 exercises
- 3.7Nested loops3 exercises in Python2 exercises in Java
- 3.8Trace a loop: iterations and final values2 exercises in Python1 exercise in Java
- 3.9Read and trace a loop flowchartoptional · 2 exercises
- 3.10Capstone: read a stream, report several statistics1 exercise
Part 4
Functions
0 of 8 lessons done.
- 4.1Define and call a function2 exercises
- 4.2Pass a value in2 exercises
- 4.3Return a value3 exercises
- 4.4Parameter versus argument; returning versus printing3 exercises
- 4.5Several parameters; order matters2 exercises
- 4.6Functions that call your functions3 exercises
- 4.7Local and global scope3 exercises
- 4.8Capstone: split a long program into functions1 exercise
Part 5
Text, lists, stacks and queues
0 of 18 lessons done; 1 more not written yet.
- 5.1Length and one character by position3 exercises
- 5.2Substring by position3 exercises
- 5.3Search, replace, change case4 exercises
- 5.4Loop over the characters3 exercises in Python4 exercises in Java
- 5.5Create a list; index; length4 exercises
- 5.6Update, add, remove4 exercises
- 5.7Loop over a list two ways4 exercises in Python3 exercises in Java
- 5.8Accumulate over a list3 exercises
- 5.9Search a list; find the largest without built-ins3 exercises
- 5.10Split a line into parts; join parts3 exercises
- 5.11Trace list code and state the final contents2 exercises in Python1 exercise in Java
- 5.12Fixed-size arrays versus growable lists2 exercises
- 5.13Two-dimensional lists: rows and columns3 exercises
- 5.14Stack: push, pop, last in first out4 exercises
- 5.15A problem a stack solves2 exercises
- 5.16Queue: enqueue, dequeue, first in first out2 exercises
- 5.17A problem a queue solves2 exercises
- 1 lesson not written yet
- 5.19Capstone: read record lines, split, report1 exercise
Part 6
Errors, testing and files
0 of 6 lessons done; 8 more not written yet.
Part 7
Algorithms
0 of 3 lessons done; 10 more not written yet.
Parts 8 to 10 are not written yet (40 lessons): One class, Several classes (HL only), Abstract data types (HL only).
Computer Science
0 of 67 lessons
Saved in this browser only.