Skip to main content

Python programming: advanced subject knowledge, implementation and testing - remote

CP463 Live remote training course

Develop your Python programming skills by exploring advanced programming techniques then implementing and testing these in a working solution.

Skip to course booking
Programming Key stage 4 CS Accelerator
Live remote training course 6 hours

  • Live remote training 14 October 10:00—14 October 2023
  • Live remote training 4 November 09:00—4 November 2023
  • Live remote training 11 November 09:00—11 November 2023
  • Live remote training 14 November 09:00—14 November 2023
  • Live remote training 3 December 09:00—3 December 2023
  • Live remote training 8 December 09:00—8 December 2023
  • Live remote training 17 December 09:00—17 December 2023
  • Live remote training 19 January 09:00—19 January 2024
  • Live remote training 2 February 09:30—2 February 2024
  • Live remote training 9 February 17:00—27 February 2024
  • Live remote training 8 March 09:00—8 March 2024
  • Live remote training 22 April 17:00—29 April 2024
  • Live remote training 7 May 09:30—7 May 2024
  • Live remote training 28 May 09:30—28 May 2024
  • Live remote training 8 July 16:00—12 July 2024

As you progress beyond the basics of Python programming, this course will help you develop an understanding how programs are developed using the software life cycle, specifically the implementation and testing of a working solution.

During this course you’ll develop your Python skills by exploring advanced programming techniques such as authentication, nested selection, data structures, sub-routines etc. whilst applying them into the implementation and testing stages of the software life cycle.

New program code almost always contains errors; you’ll become adept at debugging - testing the functionality of your code then identifying and correcting errors. You’ll become confident at how to test a program through the use of iterative and final testing, using different types of test such as boundary, normal and erroneous.

Mapped closely to the specifications of GCSE computer science, the course will provide you with deepened knowledge and confidence that your students are equipped for assessments.

To compliment this course we also have Python programming projects: analysis, design and evaluation available. It’s recommended that you complete this course alongside, to give you the knowledge of the full software life cycle.

Who is it for?

This course is for current or prospective teachers of computer science, to undertake this course it is advised that you have a strong understanding of the fundamentals of the Python language.

Prior knowledge:

You’ll need to be confident in the essentials of sequence, selection, iteration and working with data files to access this course. It’s recommended that you undertake the following courses prior to this one: Python programming constructs: sequencing, selection and iteration and Python programming: working with data.

If you are entirely new to computer science, we recommend first participating in our one-day course: An introduction to algorithms, programming and data in GCSE computer science.

Topics covered

01 | Advanced subject knowledge – develop your Python programming skills by learning about advanced techniques including authentication, randomisation, sub-routines, nested selection and iteration, validation, data structures and string formatting.

02 | Creating a working program – using your advanced subject knowledge from the first session you’ll create a working program implementing the use of validation and authentication.

03 | Implementing a solution –in this session you’ll learn how to decompose a set of requirements into smaller, manageable tasks, understanding how to link the programming techniques learnt in the first session to the implementation stage of the software development life cycle.

04 | Building a program from user requirements - you’ll be able to use your existing and new advanced Python knowledge to program a working solution, based upon a set of user requirements.

05 | Testing a solution – testing is an important part of the software development life cycle, ensuring that the program functions correctly before being used by users. This session will explore the purpose of testing including the differences between iterative and final testing, and how to use normal, boundary and erroneous data effectively to check a programs functionality.

How long is this course?

This course is approximately six hours in duration, split across multiple sessions.

How will you learn?

Scheduled live, interactive online sessions led by an experienced practitioner.

Flexible Professional Development Leader-supported, participant-led tasks, involving deep exploration of the subject content.


During this course, you will:

  • understand how to implement advanced programming techniques within a working solution i.e. authentication, nested selection & iteration
  • learn the importance of the implementation and testing stages of the software development life cycle
  • understand the differences between iterative and final testing, including the different types of test data normal, boundary and erroneous
  • develop confidence in leading your students as they develop their programming skills

This course is part of the Subject knowledge certificate

Subject knowledge certificate

Our professional development programme, Computer Science Accelerator, is designed to help you develop or refresh your subject knowledge and leads to a nationally recognised certificate.

Find out more

Book this course

You need to be logged in to start the course.

Login to book this course

Not got a STEM Learning account?
Create an account

This course is from the National Centre for Computing Education and is delivered by STEM Learning.

Adapted teaching and effective learning interventions in secondary computing

Develop an evidence-informed approach to education recovery over a sustained period, securing the computing education of young people following a period of great disruption.

Live remote training course

Adapting the Teach Computing Curriculum for mixed-year classes

Explore progression within Teach Computing Curriculum and how to use this to adapt it for your own mixed-age setting.

Live remote training course

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

Create some simple block-based computer programs and discover how to implement them in the text based language Python.

Live remote training course