0% found this document useful (0 votes)
163 views

Unit Overview - Intro To Python Programming - Y8

This document provides an overview of a unit introducing Year 8 learners to text-based programming with Python. The unit consists of 6 lessons that start with simple input/output programs and gradually introduce more complex concepts like arithmetic, selection, iteration, and combining multiple control structures. The goals are to support the transition from block-based programming and build confidence overcoming syntax errors. Lessons provide scaffolded activities and examples to illustrate programming concepts and their application.

Uploaded by

Aisha Anwar
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
163 views

Unit Overview - Intro To Python Programming - Y8

This document provides an overview of a unit introducing Year 8 learners to text-based programming with Python. The unit consists of 6 lessons that start with simple input/output programs and gradually introduce more complex concepts like arithmetic, selection, iteration, and combining multiple control structures. The goals are to support the transition from block-based programming and build confidence overcoming syntax errors. Lessons provide scaffolded activities and examples to illustrate programming concepts and their application.

Uploaded by

Aisha Anwar
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Year 8 – Intro to Python programming Unit overview

Year 8 – Intro to Python programming


Unit introduction
This unit introduces learners to text-based programming with Python. The lessons form a journey that starts with simple programs
involving input and output, and gradually moves on through arithmetic operations, randomness, selection, and iteration. Emphasis is
placed on tackling common misconceptions and elucidating the mechanics of program execution.
A range of pedagogical tools is employed throughout the unit, with the most prominent being pair programming, live coding, and worked
examples.
The Year 7 Programming units (Scratch Essentials I and Scratch Essentials II) are a prerequisite for this unit.

Overview of lessons
Lesson Brief overview Learning objectives

1 First steps In this introductory lesson, learners will write and execute their first ● Describe what algorithms and
programs in Python. They will go through the basics of displaying programs are and how they
messages, assigning values to variables, and receiving input from the differ
keyboard.
● Recall that a program written
They will familiarise themselves with an entirely different programming in a programming language
environment than the block-based one that they may be accustomed needs to be translated in order
to. It is an environment where they will need to know by heart all of the to be executed by a machine
constructs that they can use, instead of having the options laid out in ● Write simple Python programs

Page 1 Last updated: 16-04-21


Year 8 – Intro to Python programming Unit overview

front of them. It is also an environment in which errors arise if they get a that display messages, assign
single letter or symbol wrong. values to variables, and
receive keyboard input
One of the main goals of this lesson (and of the unit) is to support them
in this transition, by providing associations with concepts that they are ● Locate and correct common
already familiar with and building their confidence in overcoming syntax errors
common obstacles.

Before doing any programming, learners will be introduced to what


algorithms and programs are, and how they are different. Through this
discussion, they will start to build an understanding of what it means to
express instructions in a formal language, and how these instructions
can eventually be executed by a machine.

2 Crunching numbers ● Describe the semantics of


In the previous lesson, learners were introduced to displaying messages,
assignment statements
assigning values to variables, and receiving input from the keyboard.
This lesson will help them gain a deeper understanding of assignments, ● Use simple arithmetic
and explicitly address some of the common misconceptions around the expressions in assignment
semantics of assignment statements. statements to calculate values
● Receive input from the
Learners will also be introduced to using arithmetic expressions and keyboard and convert it to a
receiving numerical input from the keyboard. These are two key numerical value
components that will allow them to progress to building more elaborate
programs in the lessons to follow.

The main activity in this lesson will require learners to construct their
own short programs for the first time, through scaffolded tasks.

3 At a crossroads This lesson introduces selection and randomness. These are two ● Use relational operators to
features that will allow learners to develop programs with a very diverse form logical expressions

Page 2
Year 8 – Intro to Python programming Unit overview

range of behaviours. ● Use binary selection (if, else


Learners will revisit some of the programs that they have encountered statements) to control the flow
in previous lessons and extend them into more versatile programs that of program execution
use selection. They will develop a simple number guessing game, which ● Generate and use random
will eventually include randomness. integers

4 More branches This lesson progresses to multi-branch selection, then introduces while, ● Use multi-branch selection
the general-purpose iterative structure available in Python. (if, elif, else statements)
Learners will explore problems that will allow them to deepen their to control the flow of program
comprehension of when and how selection should be used. For example, execution
they will build programs that check the weather conditions where they ● Describe how iteration (while
are living and display appropriate responses. They will also be statements) controls the flow
introduced to iteration, making sure that they understand the of program execution
mechanics of how it works, before they go on to build their own iterative
programs in the next lesson.
At times, learners will import and use functions from ‘home-grown’
modules, i.e. modules that have been created exclusively for the
purposes of the lesson. This will give them an insight into how a text-
based language can be more powerful than block-based languages,
without placing additional cognitive burden on them.

5 Round and round In the first part of this lesson, learners will be introduced to counting. ● Use iteration (while loops) to
Counters are important, as they are the simplest example of variables control the flow of program
that are used to compute results iteratively, with each new value execution
accumulated over the previous ones.
● Use variables as counters in
In the second part of the lesson, learners will apply the skills and iterative programs
knowledge that they have developed to create a times tables practice

Page 3
Year 8 – Intro to Python programming Unit overview

game. It is an example that naturally combines iteration and selection,


while also being useful.

6 Putting it all together In this final lesson of the unit, learners will apply and consolidate what ● Combine iteration and
they’ve learnt by extending the number guessing game that they selection to control the flow of
developed previously into an iterative version that allows them multiple program execution
guesses. ● Use Boolean variables as flags
They will then conclude the unit with a summative assessment quiz.

Progression
The fundamental concepts covered in this unit are visually summarised in the concept map for this unit, which can be found in Lesson 1:
First steps. The concepts are organised in a layered hierarchy based on Schulte’s Block Model, and there is a distinction between static
and dynamic aspects of programs (program text vs program execution).

Python syntax and short examples relevant to the contents of this unit are condensed into a set of Python cheat sheets which are part of
Lesson 1: First steps.

Please see the learning graph for this unit for more information about progression.

Curriculum links
National curriculum links (Computing programmes of study: Key Stage 3)
Aims
● can understand and apply the fundamental principles and concepts of computer science, including abstraction, logic, algorithms
and data representation
● can analyse problems in computational terms, and have repeated practical experience of writing computer programs in order to
solve such problems

Page 4
Year 8 – Intro to Python programming Unit overview

Subject content
● use two or more programming languages, at least one of which is textual, to solve a variety of computational problems
● understand several key algorithms that reflect computational thinking; use logical reasoning to compare the utility of alternative
algorithms for the same problem
● understand how instructions are stored and executed within a computer system
● design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical
systems

Assessment
Each lesson includes a set of worksheets that can be used for formative assessment.
Please also see the assessment question and answer documents for this unit. These can be used within the lessons and/or as homework
and/or as a question bank for assembling a summative assessment quiz at the end of the unit.

Subject knowledge
At the end of each lesson plan, you will find lesson-specific notes providing additional background knowledge, as well as links to external
sources.
You may also find the following resources useful for teaching this unit.
● Computer Science Education: Perspectives on Teaching and Learning in School , edited by Sue Sentance, Erik Barendsen, and
Carsten Schulte (Bloomsbury, 2018)
● Teaching Tech Together: How to Create and Deliver Lessons That Work and Build a Teaching Community Around Them by Greg
Wilson (Taylor & Francis, 2019).
● Effective computing pedagogy by the National Centre for Computing Education

Enhance your subject knowledge to teach this unit through the following training opportunities:

Page 5
Year 8 – Intro to Python programming Unit overview

Online training courses


● Programming Pedagogy in Secondary Schools: Inspiring Computing Teaching by the Raspberry Pi Foundation, hosted by
FutureLearn
● Programming 101: An Introduction to Python for Educators by the Raspberry Pi Foundation, hosted by FutureLearn
● Scratch to Python: Moving from Block- to Text-based Programming by the Raspberry Pi Foundation, hosted by FutureLearn

Development environment
Before delivering this unit, you will need to decide which development environment you will be using. You can use a local installation of a
Python interpreter and a learner-friendly IDE such as the Mu editor (codewith.mu), or you can use an online development environment
such as Repl.it. You could also use both, but that may be confusing for learners.
Here are some of the things that you should consider before you make your decision:
● Conceptual understanding: An interpreter is necessary in order to translate and execute any Python program. Learners need a
basic conceptual understanding of what happens when the interpreter is invoked.
○ Local: In a local installation, the interpreter is invoked through the development environment. Learners will probably be able
to understand that the interpreter (as well as their Python program) is executed on their computer.
○ Online: Learners access an online development environment through their browser and the interpreter (as well as their
Python program) is executed on a remote computer. This may make it more complicated for learners to develop a
conceptual understanding of the translation and execution process.
● Code distribution: In many cases, you will need to provide Python code to the learners (e.g. as a starting point for a programming
activity).
○ Local: You will need to distribute .py files to learners, so consider whether this will be practical in your setting.
○ Online: If you use an online development environment, distributing code is usually as simple as providing a link.
● Code collection: It will probably be necessary for learners to submit (some of) their code to you, especially for assessment.
○ Local: You will need to collect .py files from your learners, so consider whether this will be practical in your setting.
○ Online: If you use an online development environment, collecting code will usually involve receiving a link from learners.

Page 6
Year 8 – Intro to Python programming Unit overview

● Module installation: In some cases, you may need to install additional Python modules.
○ Local: Consider whether it will be practical to install additional Python modules in your setting.
○ Online: If you use an online development environment, a lot of additional modules will be readily available. However, not all
Python modules can be used in online environments.
● Network access: In Lesson 3, some of the example code provided requires internet access (making use of web APIs to retrieve
information).
○ Local: If you are using a local Python installation, you will need to consider (or test) whether this is possible in your setting.
○ Online: This should not be an issue when using an online development environment.

Python code
In the lesson plans, all Python code is provided through Repl.it links that are ready to use. If you need to download a local copy of a
program to your machine, append .zip to its URL.
For example, this URL provides access to the last program that learners will develop in this unit:
repl.it/@NCCE/prg4-6-a2-lucky-v6
Appending .zip to that URL will allow you to download the program:
repl.it/@NCCE/prg4-6-a2-lucky-v6.zip

Resources are updated regularly — the latest version is available at: ncce.io/tcc.

This resource is licensed under the Open Government Licence, version 3. For more information on this licence, see ncce.io/ogl.

Page 7

You might also like