Beginners' summer school for early-career secondary computing teachers - face to face CD245 / A02

Start date
4 Jul 22
3 Days
University of Southampton, Building 100, Room 7013, Highfield Campus, Southampton SO17 1BJ View on Google Map


This summer school is designed for absolute beginners. It will allow you to take your first steps towards teaching computer science and establish a foundational knowledge base of concepts, terminology and classroom practice. 

The course will build your knowledge up across three days, covering three different courses:

  • An Introduction to algorithms, programming and data in computer science (CP228)
  • Representing algorithms using flowcharts and pseudocode (CP220)
  • Python programming constructs: sequencing, selection and iteration (CP223)

This programme is designed to increase your confidence and ensure you will be able to support your students.





Who is it for?

This course is for prospective teachers of computer science who are new to the subject.

What topics are covered?

An introduction to algorithms, programming, and data- 

  • 01 | Introduction to algorithms. From the instructions you might give to make the perfect cup of tea, to the steps needed to sort a list alphabetically, this session will introduce algorithms. You’ll discover the three key constructs that comprise all algorithms at this level, and how to describe algorithms using flowcharts and pseudocode as required by the GCSE examination.
  • 02 | Essentials of computer programming. Computers do not understand English as humans do. To get a computer to carry out the instructions contained in an algorithm, a computer program must be written. In this session you’ll find out how the basics are expressed in a simple block-based language, as well as the text-based language Python.
  • 03 | What is data? Data is all around us, in written and electronic formats. Computers handle data in the form of binary – ones and zeros that can represent the dates, alphabetical characters, images and so on that are important to us humans. You’ll carry out basic data-handling operations through simple programs, changing inputted data into different outputted data.

Representing algorithms using flowcharts and pseudocode- 

  • 01 | Core concepts - get to grips with the fundamentals of algorithms by exploring sequencing, selection, iteration.
  • 02 | Flowcharts - learn how to read and write flowcharts, which can be used to represent algorithms.
  • 03 | Pseudocode - learn how to read and write pseudocode, and use these to represent a range of algorithms.

Python programming constructs: sequencing, selection and iteration-

  • 01 | Inputs and outputs – explore how to utilise inputs and outputs in Python, including the use of variables and efficient use of simple data types.
  • 02 | Selection – learn how to write branching programs using selection. Understand how to apply operators and use nested selection within a program.
  • 03 | Count-controlled iteration – this session will help you create code that repeats using count-controlled loops. You’ll also trace program outputs using trace tables.
  • 04 | Condition-controlled iteration – this session will explore condition-controlled iteration, using logic to dictate how programs run in the Python language.

How will you learn?

You’ll engage with active learning in groups including direct instruction, hands-on activities and challenge-based learning. Examination practice with guidance linked to the specific requirements of the main awarding bodies. The course will model teaching approaches that can be taken back to the classroom.

How long is this course?

This course is 16.5 hours long, and will be taught over three days. 

Who is the course leader?


An Introduction to algorithms, programming and data in computer science-

  • Learn about algorithms, how they are usually represented, and some of their most common applications
  • Understand how human-language algorithms are translated through computer programs into binary, to be executed by a computer
  • Recognise and use the basic building blocks of programming: sequence, selection and repetition
  • Understand how binary, denary and hexadecimal are used to represent numbers, and why this is important for computer science
  • Develop basic programming skills using block-based and text-based languages
  • Develop confidence in subject knowledge, ready to progress further towards becoming a GCSE computer science teacher


Representing algorithms using flowcharts and pseudocode-

  • Learn the key building blocks of algorithms to be executed using a computer.
  • Analyse problems and design algorithmic solutions.
  • Represent algorithms using pseudocode and flowcharts.
  • Gain confidence in tracing and improving algorithms.
  • Take away activities and teaching practice to use in your classroom.


Python programming constructs: sequencing, selection and iteration-

  • Become familiar with the Python programming language
  • Develop some basic program constructs using variables, handling user input and output to the screen
  • Use mathematical and logical operators to build functionality into programs
  • Follow the flow of a program, identifying values held in variables at different stages of execution
  • Create and control indefinite loop structures in programs
  • Begin to evaluate programs and suggest improvements


1 An Introduction to algorithms, programming and data in computer science04 July 202209:30-15:00University of Southampton
2 Representing algorithms using flowcharts and pseudocode05 July 202209:30-15:00University of Southampton
3 Python programming constructs: sequencing, selection and iteration06 July 202209:30-15:00University of Southampton

Share with your CPD booker

Additional information

If the course you would like to attend is fully booked, please contact to express your interest in being added to a waiting list. We will contact you when the course is due to run again.

Interested in this course?

Sign up to receive our emails to hear about the latest CPD available