Skip to content
PlayOwl

Find a course

Search every subject world, from Preschool to Grade 12. The first five courses of every subject path are free.

16 courses

Courses found

Coding · Grade 7

Decompose a Larger Problem

Using a realistic field-trip organiser, learners break a large problem into a decomposition tree, describe each piece with inputs, process and outputs, use abstraction to keep only the details that matter, and generalise repeated patterns into parameterised functions. They then order the build by dependencies, connect the parts in a short main program, and decompose a new problem in a reviewed write-up.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 7

Python Functions and Data Structures

Learners extend their list skills with insert, remove, pop, slicing, in and sorting, then meet dictionaries for looking values up by key, including tallying with counts. They see how functions interact with mutable lists and dictionaries, and decide when a list, a dictionary or a combination of both best fits a task.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 7

Structured Input and Validation

Learners discover why programs must check input, using a coding-club sign-up form that keeps crashing. They classify presence, type, range, length and format checks, write checks with string methods, build validation loops that re-ask until input is valid, handle conversion errors with try and except, and choose normal, boundary and invalid test data.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 7

Algorithms for Search and Organization

Learners trace linear search and binary search, counting comparisons with an interactive search tracer, and see why binary search needs sorted data. They sort lists with bubble sort pass by pass and compare algorithms by how their work grows, deciding when sorting first pays off.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions
Free starter

Coding · Grade 7

JavaScript and Interactive Events

Learners read JavaScript by comparing it with Python, then learn how event-driven programs wait for clicks and key presses and respond with handler functions. Using a small event simulator, they trace how handlers change program state, and they debug the classic event bugs: calling instead of passing a handler, = instead of ===, resetting state inside a handler and forgetting to render.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 7

HTML and CSS for Interface Construction

Learners build the structure of a coding-club web page in HTML (elements, nesting, attributes, head and body), choose semantic elements that work for keyboard and screen-reader users, style pages with CSS selectors while predicting which rule wins in the cascade, and calculate box-model sizes. Accessible design (alt text, labels, contrast and focus) runs through the whole course.

  • 4 lessons
  • About 80 min
  • Quiz: 8 questions

Coding · Grade 7

Automated Tests, Debugging and Version History

Learners write automated tests with assert and test functions, design test cases from a specification that catch hidden buggy versions, and follow a systematic debugging process (reproduce, isolate, fix, re-test). They finish by using version history (commits, messages, diffs and reverting) to find when a bug appeared and to keep a project safe.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions

Coding · Grade 7

Build an Original Interactive Application

A guided project course: learners turn an original idea into user stories with priorities, design the interface and state with an events table, build and trace JavaScript handlers using a worked example (Flashcard Flipper), and finish with a test plan, user feedback and iteration. The reviewed project plan asks each learner to design their own original application.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions

Coding · Grade 8

Specify and Decompose a Software Project

Using a community-garden booking app, learners write and classify functional and non-functional requirements and constraints, identify stakeholders, and turn vague wishes into testable Given/When/Then acceptance criteria that become code checks. They decompose the system into modules with clear responsibilities and data flow, then plan an MVP, milestones and risks, and write a reviewed mini specification for a project of their own.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 8

Functions, Modules and Structured Data

Learners design functions that are easy for teammates to use (default and keyword arguments, docstrings, returning several values), organise code into modules and use the standard library, represent real data as lists of dictionary records with nested fields, and process records with filter, aggregate, transform and key-based sorting.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 8

Algorithms, Efficiency and Tradeoffs

Learners count the basic operations algorithms perform, classify growth as constant, logarithmic, linear or quadratic from the shape of the code, and predict how running time scales. They explore trading memory for time with sets and caching, and weigh efficiency against input size, frequency, clarity and resources when choosing an approach.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 8

Objects and Program Organization

Learners model the garden app with classes: they create objects from a class blueprint, write and trace __init__ and methods that use self, and build programs where objects contain and work with other objects, including the surprise of two variables referring to the same object. They finish by designing classes with single responsibilities, deciding which data and behaviour each class owns.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 8

User Interfaces, Events and State

Learners design interface behaviour as state machines with named states, events and allowed transitions, and separate the model (state) from the view (a single render function) so the screen never disagrees with the data. They trace longer JavaScript event sequences with guards and counters, and design helpful feedback: clear status messages, disabled controls and an undo stack.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions
Free starter

Coding · Grade 8

APIs with Controlled Mock Services

Learners discover how programs request data from other programs through APIs, using a local mock weather service so that no real network calls are made. They read requests, responses, status codes and JSON, parse JSON in Python, write code that checks status codes and missing fields with safe fallbacks and caching, and use APIs responsibly by protecting keys, minimising personal data and respecting limits.

  • 4 lessons
  • About 85 min
  • Quiz: 8 questions

Coding · Grade 8

Testing, Debugging and Secure Design

Learners make the garden app trustworthy: they design thorough unit tests that cover normal, edge and invalid inputs and every branch, debug systematically with tracebacks, minimal failing examples and assertions, and apply secure design principles (input validation, least privilege, safe defaults, failing securely, careful error messages). They finish by seeing why passwords are stored as hashes and why data must be kept separate from commands.

  • 4 lessons
  • About 90 min
  • Quiz: 8 questions

Coding · Grade 8

Build, Document and Demonstrate a Capstone

The Grade 8 capstone course guides learners from a specification to a finished, documented and demonstrated project. They plan milestones with a checkable definition of done, write documentation for different readers (README, docstrings, comments, user guide), gather honest evidence from tests and checklists without overclaiming, and plan a clear demonstration and a reviewed reflection.

  • 4 lessons
  • About 95 min
  • Quiz: 8 questions