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!
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.
...or read it here:
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
● date of birth
● home address
● home phone number
● 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.
Write your own summary of the problem. What are your objectives? List the success criteria
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!
|Test No.||Description||Test Data(input)||Expected Outcome||Actual Outcome||Further Action?|