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 analysis, design and evaluation of a working solution.
During this course you’ll develop your understanding of how to analysis a set of requirements, including spotting patterns of which programming techniques maybe required, how to interpret these requirements through the use of abstraction and decomposition and learn how to develop decomposition diagrams to aid the planning of a programming project.
You’ll also explore how to effectively design a program, based upon your analysis of the requirements. You’ll build algorithms represented as either pseudocode or flowcharts to represent your designed solution.
Finally, you’ll learn how to effectively evaluate whether your programming project has been a success. 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.
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.
Recommended next steps:
To compliment this course we also have: Python programming: advanced subject knowledge, implementation and testing available. It’s recommended that you complete this course alongside, to give you the knowledge of the full software life cycle.
Do you prefer to learn in a classroom? If so, take a look at: Python programming: analysis, design and evaluation - face to face
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 | Analysis of programming project - Explore how to interpret a set of programming requirements effectively, you’ll learn more about abstraction and decomposition and how to apply these concepts when analysing the requirements of a project. During this session you’ll learn how to develop a decomposition diagram to support your planning of the project.
- 02 | Decomposition – During this session you’ll learn how to create decomposition diagrams based upon a set of user requirements.
- 03 | Designing a solution - In this session you’ll begin designing an algorithm to tackle the analysis completed in the first session. You’ll explore how pseudocode and flowcharts can be used to represent a design to a solution.
- 04 | Algorithms – Using the knowledge developed in the previous session, you’ll begin creating your algorithm, either as a flowchart or using pseudocode.
- 05 | Evaluating a solution - In this session you’ll explore how to evaluate the success of a program, this session will also explore how to write a report for a programming project.
How long is this course?
This course is approximately five 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.
Learn the importance of the implementation and testing stages of the software development life cycle
Learn how to apply abstraction and decomposition to a programming project during the analysis and design phases
Understand how to create suitable algorithms to represent a design to a solution
Develop confidence in leading your students as they develop their programming skills