~ NEA Task 1 (OCR GCSE COMPUTING) - Create a Form Tutor Management System


Sample Project

*Teachers with subscriptions will have access to all solution code (python files) Please see www.teachyourselfpython.com, your one stop site for all things python and for several more mini projects and worked examples with videos

Introduction

This tutorial/set of challenges assumes you have worked through the Solve and Learn Series 1 to 3 (on teachyourselfpython.com), and that you are ready to tackle a full blown challenge!

The Task (brief overview)

There's a form tutor (for those of you not familiar with the term, that is a teacher who looks after a group, registers them in the morning, checks they're okay, etc.) and he needs a computer program in order to manage the information he has on his form group. It's a simple task, but utilises almost all of the basic skills you would have learned in Python.

Download the full task and read through it carefully below

Download Task

...or read it here:

Image result for school cartoon transparent wikimedia

Summary of task:

When new students arrive at Tree Road School, they are assigned:

● a unique ID number

● a tutor group

● a unique school email address

A tutor group contains approximately 25 male and female students. Mr Leeman is a form tutor and wants a simple computer system to manage his tutor group. Mr Leeman wants to be able to have a user friendly interface that allows him to log into the system and carry out the necessary administration.

The details of the students that Mr Leeman needs are:

● unique ID number

● surname

● forename

● date of birth

● home address

● home phone number

● gender

● tutor group

● unique school email address.

Analyse the requirements for this system and design, develop, test and evaluate a program that allows Mr Leeman to:

1. log in with a username and password

2. access a menu system

3. enter and store the students details

4. log out

5. retrieve and display the details of any student when Mr Leeman enters the student’s unique ID number.

* 6. create at least three different reports that Mr Leeman might need, and describe how he would use each one.

7. produce these reports when selected from a menu.

All the best!

Analyse

Write your own summary of the problem. What are your objectives? List the success criteria

Remember Decomposition? Breaking the problem down?

Well, hopefully you've done that for the entire problem - have a read of the introduction and task again, if not. We have broken it down ourselves, but you may have a different method. Always try it yourself, before looking at the suggested answers

There is no one perfect way to solve a problem, but we're going to take you through a possible solution, and try it yourself to see if you can do better, for each step! 

The problem could be broken down into the following sub-problems. We are going to solve (or try to) each one:

1. Create a Login Screen

2. Create a Main Menu and define all the functions/sub programs needed in the program

3. Create a registration feature (need to save this to a file)

4. View all Student details (read from file)

5. Create a "Search by ID" feature

6. Create a "Produce Reports" feature

7. Search by Birthday (OR DOB) or Address feature (this is a report)

8. Create a report for Males and their emails

9. Create a report for all Females and their emails

10. Final Solution - reflect! How could you improve it? Test it!

Design Tools

Systems Life Cycle (in a nutshell): Analyse - Design - Create - Test - Evaluate. Designing something or writing out some pseudocode before you actually write code is always a good idea! Get in to the habit of doing so! You can draw your flowchart here and screenshot it.

Try it yourself

Testing Table

You may want to read a little about Testing first. A teacher may go through some examples with you. Feel free to fill in the test table here, and screenshot it in to your powerpoint. Testing is absolutely essential once you have created a program!
Test No. Description Test Data(input) Expected Outcome Actual Outcome Further Action?
1
2
3
4
5
Coming soon!