A 3 Instructions

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 3

DownloadA-3 Instructions
Open PDF In BrowserView PDF
420-LCU-05 Programming in Python - Assignment 3
Due April 17th, 2018 at 11:55 p.m.
1- Identification section: The grader and I need this section for the accurate processing of your
assignment. If missing, you may lose up to 5% of the mark.
"""
Your Name and ID
420-LCU Computer Programming, Section #
S. Hilal, instructor
Assignment 3
"""
2- Submission: Submit in 1 Python file, with the extension .py. No need to create a ZIP file. Be
sure to respect other instructions specified in the assignment. An important part of each
assignment is to correctly follow the instructions as closely as possible.
3- Late assignments are accepted up to 1 week from deadline. But late penalty will be applied.
For this assignment, you will develop an application that is very similar to Assignment 2 but will
be using some of the different concepts and data structures that we have been learning.
Learning Objectives:







Defining and using a simple class. Class attributes, instance attributes, and methods
Understanding the concepts of class and instance(s) of a class.
Using objects to store information.
Using a list for temporary manipulation of student information
Using files as an alternative to user input and for permanent storage of program output.
Using structured formatting to print information

The program will enable a teacher to input, analyze and report on the grades of the students in
one class based on their marks in different components of the course. It can calculate a
student’s total grade, letter grade, class average, grade distribution, and give a structured
visualization of the stored data as requested. Your program will be using the Student class that
we have created in Lab-8 with some further updates to add required attributes and methods.
You may also add other functions to your main program outside of the Student class.
Please note that you can reuse most of your menu handling code from A-2. However, some of
this code will not be needed as you move it in the Student class definition. Make sure to
remove unnecessary code.

It is strongly advisable to use the basic structure of your program in assignment 2 to build this
program. You need to determine what to keep and what needs to be removed, slightly changed
or replaced. As a matter of fact, you will notice that this assignment is much easier than A-2.
You need to start working on your program early and seek help as needed in order to complete
your program by the deadline which will be strictly enforced as we reach end of the semester.
1- Program Input and Description of Data:
A student can be identified by a name (first name only) and ID (3-digits). For each student,
there are 6 grades based on 2 tests (/20 each) and 4 assignments (/15 each). The grades are
integers. The program should be able to process input for any number of students but you can
limit your tests to the list of students as provided in the Input file students.txt
The input to your program (students’ data) will be read from a text file (students.txt). Note that
the data in the file is of the same format as the user input in A-2; Separated by commas and
no spaces. Each record is on a separate line.
For each student, your class must have code to calculate and store the total grade and
corresponding letter grade when an instance is created and also following any grade update.
Note that letter grade calculations are same as per A-2
2- Storing students’ data:
students_list = [] # List of all student instances
Each student record is created as an instance of the Student class. students_list will be used as
your storage manager to keep track of all the Student instances. The list will give the entry
point to each student instance and will be used to access the data for all the required tasks.
Each list item provides access to the record of one student.
Running Your Program:
The program starts by giving the user a menu of options to select from. When the program
completes the processing of a given option, the menu will be displayed again for another
selection and continues until the user selects option 6, Exit.
Sample Run:
Welcome to the Teacher’s Simple Class Calculator. Here’s the list of options:
1- Read and process all students’ records
2- Display All student records including total and letter grades and class average

3456-

Display the complete record of a particular student
Update a student’s grade
Display a list of all students who achieved a particular letter grade.
Exit

Select an option by entering its number or 6 to exit:
Description of the Different Options (above):
1- Option 1: Read the text file provided and store student data. Calculate and store total
grade and letter grade for each student. You can assume that all records are valid and that
there are no duplicates. Duplicate names may exist but no duplicate IDs.
2- Option 2: Display the information stored for all students in a table format. Class Average.
3- Option 3: The program will ask the user to enter the name and ID of the student. The
program will print the student’s record. Same format as in option 2. If the name and ID do
not match a stored record, an error message is displayed.
4- Option 4: Similar to Lab-8, update a particular grade for a particular student.
5- Option 5: Display the requested list. Same format as in option 2.
The program will display the main menu following the completion of each option and until the
user selects option 6.
Please add error checking as you see required. Add comments.
Add docstrings to all methods and functions.



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 3
Language                        : en-CA
Tagged PDF                      : Yes
Author                          : Concordia University
Creator                         : Microsoft® Word 2010
Create Date                     : 2019:04:03 13:21:35-04:00
Modify Date                     : 2019:04:03 13:21:35-04:00
Producer                        : Microsoft® Word 2010
EXIF Metadata provided by EXIF.tools

Navigation menu