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.
Who is it for?
This course is for current or prospective teachers of GCSE computer science, to undertake this course it is advised that you have a strong understanding of the fundamentals of the Python language.
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.
To compliment this course ‘Python programming projects: analysis, design and evaluation’ is also available. It’s recommended that you complete this course alongside, to give you the knowledge of the full software life cycle.
What does it cost?
This course is fully funded for participants from maintained schools in England. If you are from an independent school or from an organisation outside England, then the course fee is £220.
01 | Advanced subject knowledge - develop your Python programming skills by learning about advanced techniques including authentication, randomisation, sub-routines, nested selection and iteration, data structures and string formatting.
02 | Implementing a solution - in this session you’ll use your advanced Python knowledge to develop a working solution to a set of requirements, you’ll be able to use your existing and new advanced Python knowledge to program a working solution.
03 | Testing a solution - testing is an important part of the software 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 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 will be 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 the course?
This is a one-day course which consists of five hours of teaching time.
Recommended next steps:
This course forms part of the NCCE CS Accelerator programme. To compliment this course ‘Python programming projects: analysis, design and evaluation’ is also available. It’s recommended that you complete this course alongside, to give you the knowledge of the full software life cycle.
- 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.