Syllabus
Unit 1: Your First Computer Program (Week 1)
In this unit you’ll create your very first computer program! You’ll be introduced to basic programming
concepts and you’ll familiarise yourself with Scratch.
Algorithms.
Sequence.
Selection: if-then.
Iteration: infinite loops.
Incremental development of programs.
Simple software testing.
Scratch: interface, motion palette, looks palette, coordinates.
Unit 2: Code Gone Loopy!
In this unit you’ll keep working with control structures, you’ll find out how to use events in your programs
and how to incorporate visual and sound effects in Scratch. You’ll also start thinking about the
requirements and the design of your program.
Iteration: count-controlled loops, decision-controlled loops.
Selection: if-then-else.
Event-driven programming.
Computational thinking: abstraction, decomposition.
Software engineering: requirements, design.
Scratch: control palette, events palette, pen palette, sound palette, sensing palette.
Unit 3: Remixing Games
In this unit you’ll have a go at modifying and extending existing games to create new versions. You’ll also
learn about software engineering practices for testing and documenting your programs.
Variables.
Complex conditions.
Nested loops.
Software engineering: documentation, testing, maintenance.
User interaction.
Scratch: data palette, operators palette, comments, paint editor, remixing.
Unit 4: Reusing Your Code
In this unit you’ll be introduced to procedures and cloning in Scratch, and you’ll apply these ideas to reuse
your code.
Procedures.
Good software properties: modularity, flexibility.
Computational thinking: generalisation.
Scratch: more blocks palette, clones, backpack.
Unit 5: Think Like a Software Engineer
In this unit you’ll follow all the steps of software development to create a fun computer game. You’ll also
learn about message broadcasting and concurrency.
Software development process.
Software development approaches: waterfall model, iterative and incremental, prototyping.
Coordination: concurrency, message broadcasting.
Computational complexity.
Other programming languages.
Scratch: message broadcasting, publishing project