Computing Progress logo
Community Supported
Section Title Primary information Description and Notes Suggested resources
Lesson Length The expected lesson length will be approximately one hour

Some variation possible.

Assessment Level 1

Students The lesson is suitable for KS3 and KS4 students Since this is a new specification, the lesson is suitable for Year 7 to 9 students and differentiated by outcome  
Overall Focus The lesson focus, as part of a series, will be introducing and consolidating the student's knowledge and practical application of software programs that can illustrate abstraction. The notion of abstraction is central to computing, but not always easy for students to grasp.  The intention is to look work with software programs to help ways to make sure it is firmly understood

Lesson Links: 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39

Key words abstraction, programming language, instruction, open source, digital, file types, validity, accurate These words need to be reinforced throughout the series of lessons  

Develop abstractions to represent physical objects

Use data patterns to represent physical objects

Identify strengths and weaknesses in computer models

As with the previous lessons on abstraction, evidence can be gathered and displayed to show an increasing understanding of using computer tools to create and work with abstract ideas.

Some evidence should begin to be seen that students are aware of the different qualities of the software systems they are using and how effective they are at what they do.

Key Questions Some questions to get learners thinking about the topics The main ideas here will be visual, since we will be working with programming tools, but students will still need to be checked for understanding of the driving concepts, especially abstraction How does abstraction work in computing?  What uses can abstraction be applied to?  How useful is abstraction for developing computer programs?  Using open source resources, what advantages and disadvantages might there be?
Learning Objectives
  • To understand the key aspects of abstraction and be able to give examples of how and where it is used
  • To follow instructions accurately to produce a simple program
  • To describe and explain, with examples, how data patterns and objects can be created on a computer
  • To introduce the idea of open source software

Students will be introduced, or re-introduced, to computer software that allows them to create and use instructions to make the computer (visually or physically) "do as it is told".

Students need to be aware of how important clear instructions are and therefore what "bugs" do.

If you are using the Learning Machine learning system, students can add their comments and material to this site as evidence of their growing understanding.  The site, if used consistently, will show progression via charts of activity and outcomes.
Teaching and Learning Elements
  • Introduction to some examples of computer software that allows programming
  • A teacher led demonstration of using a programming software to create something
  • Students can break into groups and work on their own examples of programs
  • Class discussion and evaluation of the wider uses of abstraction in relation to computers
  • Summarize the key points and reinforce the importance of abstraction and representation

In this lesson we need to introduce the use, in  a very basic way, of abstraction in computer use.  For example, the use of a Turtle in Logo to represent the actor that will be moved by the instructions

The program choice will depend on what you are most comfortable with.  A wide range will show some of the range, but also the similarities.  These can be re-used to hit the criteria for 1.5.  Students can start making notes on the systems they use for 1.5

In programming, you could use the example of classes of things when working from the abstract to the concrete.  For example, if a computer program defined a class called animal.  It would have certain attributes shared with all animals and could be used that way.  Later, that class called animal can be more clearly defined as Pig or Sheep with specific attributes.  The class creation allows you to use that abstraction more in a generic sense.  This makes programs easier to write since you don't have to write the details of animal every time you write a program.

You could start out with some general idea of abstraction. For example, a pizza recipe that stated you need dough and toppings is rather abstract.  What is the dough made from, what toppings etc.  The key idea is going from abstract (representations) to concrete meanings.  The abstract dough, could be more concrete is it is said to be white flour, water, yeast etc.

Find some good examples of abstraction that have been created by computers.  Weather has been mentioned earlier, and you could discuss the "famous" Michael Fish incident when he said there was no hurricane coming, or something similar.  A better understanding of abstractions would have saved his reputation.  The world's most powerful computers are used mostly to model the weather using abstractions of wind and pressure.

You could use the website that models scale in an interesting way here.  It shows the abstractions of atoms and sub-atomic particles.

You can show some examples of computer programs that they will be working on in subsequent lessons and show the main features: Logo, Scratch, Blockly, Squeak, Python etc.

The main focus of the lesson here should be to play with aspects of abstraction to reinforce how useful it can be.

You could build a simple spreadsheet model with a conditional field showing interest rates.  This would be an abstraction in the sense that we don't know what they will be, but it would be useful to see their impact on our finances.

It would be good to introduce some of the elements of data in computers such as characters and integers.

Lesson Structure Possible timings
  1. introduce abstraction in computers and computer programming tools
  2. check pupils understanding, perhaps a quick quiz (handout or learning site based) or verbal check
  3. class based instruction and discussion on using various computer programs.  Recommend Blockly for ease of use and accessible levels, but Scratch or Logo can also be used.  Python can be sued for more advanced students
  4. group work to familiarize themselves with Blocky
  5. discuss what they have learned and what they can apply
  6. discuss homework
  7. highlight next week's focus and issue homework

It would be useful before hand to have a vector based drawing program such as Inkscape added to your network.  You can also download and install the Blockly sample programs (instructions on how to download and install in link, or use ours here).

You can introduce them to flow-charts and how they abstract actions such as placing and order or fixing a flat tyre.  Some examples on this site will help visualise these ideas and how they flow.  This site also has flow-chart demos which are easy to use and have instructions.

Show them some examples of program code and the aspects of abstraction in terms of variables and classes.  Code should be easy to grab from the internet.

Introduce them to Blockly logo and show them the solution to Level 1 of the Maze.  Use  Logo image to build a simple square with instructions.   Once they get this, you can show a more complex design.

Once they get it, let them build a shape themselves and show others in their group.  What instructions build various shapes: square, hexagon etc.

In the plenary, make sure they understand the change of variables and the numbers used as abstractions of movement

Homework Work on the Maze Blockly puzzle or Turtle Graphics. Get them to document and comment on how they solved the levels or what variables they used to build their shape on Turtle Graphics. Use our link page to Blockly, or have your network team install it


Print Friendly, PDF & Email