CAS Community   >   Resources   >  

Logo lesson suite

Inspire: Discover resources to support and encourage students in computing. Find in-class lesson plans and opportunities beyond the classroom to give students valuable computing skills and experiences. - See more at:

Simon Humphreys

Created by Simon Humphreys
last edited Feb 05 2016 by Simon Humphreys



Discover resources to support and encourage students in computing. Find in-class lesson plans and opportunities beyond the classroom to give students valuable computing skills and experiences.

Explore’s collection of interactive pre-university computing lessons below.

Recursion: Smaller Sibling Pyramids

In the first of two sessions (at most an hour each), students are asked to calculate a simple summation by themselves, based on a procedure they are given. Then, through a guided role-playing procedure, students are asked to do the same problem by pushing a sub-problem off onto a ‘little sibling’. In the second session, they use a divide-and-conquer approach to understand a simple formula for summation. During this session they also talk about the big ideas behind these three problem solving methods.

View Lesson


Young people take the Internet for granted. Through a serious of web-based explorations and kinesthetic exercises students explore the basic principles of graph theory and how it applies not only to their social connections but to how information is passed around.

View Lesson

Graphics: Calculating Color

In a digital world we take color for granted. Through off-computer activities, students learn the difference between additive and subtractive color, and how images are generated on screen and transferred to physical print.

View Lesson

Graphics: Bits and Points

Computer graphics dominates young people’s lives. Their worldview is heavily influenced by pixels. This lesson uses age appropriate experiences to explain the difference between bitmap (raster) and vector graphics. The lesson covers how information is lost when it is digitized, and how computer graphics techniques can both enhance images, and provide vehicles for corrupting them. It also introduces some ideas on how to efficiently schedule a task.

View Lesson

Fibonacci via Recursion and Iteration

This lesson introduces how to calculate an arithmetic series, specifically Fibonacci. In the first of two hour-long sessions, using a spreadsheet (e.g. Microsoft Excel or Google Drive Sheets), students are shown how to calculate a series based on two prior values (the iterative solution), and by using a user-defined function (the recursive solution). With a large enough domain, most computers will exhibit real delays in calculating the recursion for values greater than 30. In the second session, they will explore why the iterative solution is faster, and why the recursive solution significantly slows down for large values. This lesson assumes that the teacher is well versed in using spreadsheets, including copy-down formulas.

View Lesson

Encryption – All About Code

Students learn how alphanumeric symbols can be encoded for a multitude of fun purposes. In the first of two sessions (each 2 hours long) they learn about codes, and are asked to make their own with a limited number of symbols. In the second session they are asked to break each other’s codes and discover the relationship among encryption, decryption, and shared keys.

View Lesson

Concurrency Means Cooperation

This lesson provides a number of kinesthetic exercises that illustrate how teamwork can contribute to efficient problem solutions. The lesson includes practice in figuring out how to divide up a problem, and reassemble it. Students also explore how scientists use the Internet and idle computing power to do calculations on volunteer machines. If possible, with sufficient teacher expertise, students set up a computer to contribute to solving such a problem.

View lesson

Circuits and Boolean Expressions

Boolean logic is essential to understanding computer architecture. It is also useful in program construction and Artificial Intelligence. This lesson is a gentle introduction to formal logic using Boolean notation, and Circuits. Students learn the basic rules by playing the role of logic gates in a half adder and full adder. Free logic gate construction software available online can be incorporated optionally.

View lesson

Boolean Algebra is Elementary

Sherlock Holmes delighted in saying ‘It’s elementary, my dear Watson’. This lesson provides a brief overview of how Boolean algebra provides the basis for artificial intelligence reasoning. The rules of propositional logic are introduced in the context of the kind of ‘AI’ found in role-playing games both on the computer and off.

View lesson

AI Search: Lions and Gazelles

This is an introduction to Artificial Intelligence (AI) ‘state-space search.’ It is a diversity sensitive version of “Missionaries and Cannibals” a very old problem solving puzzle. The entertaining story line provides necessary background justifying the classic rules. Students will write and perform a skit that solves the problem using pre-made paper props, as they explore the concept of state representation. This is followed by an informal analysis of state-space, state representations, depth- and breadth-first search, and shortest path. The history of the problem and the social/ethical issues involved in creating such puzzles is also discussed.

View lesson

“Program Your Own Game” Lesson

The “Program Your Own Game” activity explores the work of software engineers and allows student teams to develop their own computer game using free and simple software. Teams present their game to their class, evaluate other games, and reflect on the engineering experience.

View lesson

The “Arduino Blink Challenge” lesson explores how computer and software engineers work to solve the challenges of a society, such as providing systems for turning lights on and off automatically. Students work in teams to set up and program an Arduino board to turn a light on and off at a 5 second on and 2 second off interval. Teams build their system, program and test it, reflect on the challenge, and present their experiences to their class.

View lesson

“Computing in the Cloud…” Lesson

This lesson starts with an early history of cloud computing, describing its early forms, and how it has been transformed to its present state. This lesson provides guidelines for students to use some cloud facilities such as CloudMe, a file sharing utility, and also teaches them how to install multiple guest OS in a host OS to introduce virtualization i.e. the key concept behind cloud computing.

View lesson

“Fun with Sorting” Lesson

Fun with Sorting introduces pre-university students to sorting, one of the most basic and fundamental problems in Computer Science. Students are first introduced to smaller versions of the problem, which form the building blocks of the algorithms they themselves develop later. The problem is given the form of instructor-moderated in-class demonstrations and discussions, followed by group exercises and inter-group competitions.

View lesson

“Solving a Simple Maze” Lesson

The activity involves the design of an algorithm for solving a 4x4 simple maze. The problem statement is just to design an algorithm and implement them using flow chart. If the background of students permits the use of basic programming, implementing the algorithm in a preferred programming language is recommended.

View lesson

“Search Engines” Lesson

The “Search engines” lesson explores the technology that makes a search engine possible, and takes a look at its variations. Students work in teams to build their own search queries. Students study how different search engine algorithms work.

View lesson

“Solving Problems with Decision Trees” Lesson

This lesson activity explores how simple computing concepts/algorithms have contributed to solving real life problems. Students will also learn solving problems with decision trees. Students will have the opportunity to work in teams to explore an example of how the decision tree can be used for detecting subscription fraud.

View lesson

“Complexity – It’s Simple” Lesson

The Complexity lesson allows students learn about complexity through illustrative games, teamwork activities and design tasks. Students will gain an intuitive understanding of different growth rates and how they determine the performance of algorithms such as sorting. Advanced students can also develop skills in analyzing the complexity of algorithms.

View lesson

“Give Binary a Try!” Lesson

The “Give Binary a Try!” lesson explores how binary codes work, how it is applied by computer engineers to computers and other electronic equipment including clocks. Students learn how to use the code, read binary clocks, and advanced students can build their own binary clock from a kit.

View lesson

“Choose Your Best Way” Lesson

The “Choose Your Best Way” lesson explores how to build a mathematic model that helps solve real problems and how to realize algorithmic thinking in computers. Students work in teams to build a graph model of their city map. Students then try to solve a real problem based on the model, evaluate their solutions, and present their reflections to the class.

View lesson

Feedback and Comments

Available when logged in (join via the front page, for free):
  • View 3 comments on this resource.
  • View resource history, links to related resources.
  • Leave feedback for the author(s), or help by editing the resource.