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.
This course is delivered as part of the National Centre for Computing Education.
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.
- 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 several days.
How will you learn?
Scheduled live, interactive online sessions led by an experienced practitioner. Flexible facilitator-supported, participant-led tasks, involving deep exploration of the subject content.
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