0% found this document useful (0 votes)
2 views

Python assignment 1

The document outlines a Python assignment to design a test management system for first semester students, including modules for student repository creation, test schedule database, test attendance entry, and report generation. It provides detailed algorithms for the first three modules and suggests additional features such as a grading system, question paper generator, and academic support. The report generation module includes functionalities for tracking student attendance and generating various attendance reports.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Python assignment 1

The document outlines a Python assignment to design a test management system for first semester students, including modules for student repository creation, test schedule database, test attendance entry, and report generation. It provides detailed algorithms for the first three modules and suggests additional features such as a grading system, question paper generator, and academic support. The report generation module includes functionalities for tracking student attendance and generating various attendance reports.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Python Assignment-1

Name:Augustine W
Bezalel
Register number:
2210154 Department:
BME
Section: S12
Question 2:
Design a test management system for your current 1st semester
with the following modules.
1. Year and section-wise student repository creation
2. Test Schedule database
3. Test attendance entry
4. Report generation

1. Year and section-wise student repository creation


The details of all the students need to be created with
the edit and update options. The details can be students'
register number, name, mail ID.
2. Test Schedule database
A test schedule database needs to be maintained along with
the details like test type(CAT1, CAT2..etc), date, subject
code, and subject name. Provide edit and update options.
3. Test attendance entry
On the day of each test, the register number of absentees can
be taken as input and store the list of absentees for each
subject for a particular type of test.
4. Report generation
The provision for generating the following reports need to be
given.
a. List of students who were absent for 3 or more tests for
each CAT
b. Student-wise attendance report (get the registration
number as input)
c. List of students who were absent for 2 CATs for a given
subject (get the subject code as input)
Assignment 1
1. Write algorithms for first 3 modules.
Module 1:
Step 1: Start
Step 2: Create a SQLite database called
'Student_repository.db'.
Step 3: Create a table called 'students' which has five
columns: Register number, name, SSN email ID, year and
section.
Step 4: Create a menu by prompting the user to choose between
options 1 to 5 where each corresponds to: 1. Viewing Student
database, 2. Adding new student details, 3. Editing student
details,
4. Deleting student details, 5. Exit menu.
Step 5: If menu option = 1, connect to the database and assign
a variable data to fetch all the student details in the table
which is in the database. Print data. Return to step 4.
Step 6: If menu option = 2, prompt the user for input of how
many students they would like to add. Then for each student,
get the input for register number, name, email id, year and
section of the student and insert the details into the
respective columns in the table. Return to step 4.
Step 7: If menu option = 3, prompt the user for input of the
register number of the student whose details are to be
updated. Then prompt the user to get information on what
student detail has to be edited. Then get the input for
editing the detail and update in the respective table row and
column. Return to step 4.
Step 8: If menu option = 4, prompt the user for input of the
register number of the student whose details are to be
deleted. Then delete the row in the table. Return to step 4.
Step 9: If menu option = 5, Exit from the
menu. Step 10: Print the table with the
student details. Step 11: Stop

Module 2:
Step 1: Start
Step 2: Create a SQLite database called 'test_schedule.db'.
Step 3: Create a table called 'tests' which has six columns:
Year, Semester, Test type, Subject, Subject code and date of
test.
Step 4: Create a menu by prompting the user to choose between
options 1 to 5 where each corresponds to: 1. Viewing test
database,
2. Adding new test schedules, 3. Editing test schedules, 4.
Deleting test schedule, 5. Exiting menu.
Step 5: If menu option=1, connect to the database and assign
a variable data to fetch all the test schedules in the table
which is in the database. Print data. Return to step 4.
Step 6: If menu option=2, prompt the user for input of how
many test schedules they would like to add. Then for each test
schedule, get the input for year, semester, test type,
subject, subject code and test date as input from the user and
insert them into the respective columns of the table. Return
to step 4.
Step 7: If menu option=3, prompt the user for input of the
year, semester and subject code of the test for which the
date must be updated. Return to step 4.
Step 8: If menu option=4, prompt the user for input of the
year, semester, subject code and type of test to delete
that row in the table. Return to step 4.
Step 9: If menu option=5, Exit from the
menu. Step 10: Print the table with the test
schedules. Step 11: Stop.

Module 3:
Step 1: Start
Step 2: Create lists for CAT1, CAT2 and End Semester test
schedules. Then separate the test schedules in the table
'tests' into the respective lists.
Step 3: Prompt the user for the test type for which they are
adding the list of absentees.
Step 4: For test type=CAT1, create an empty dictionary.
Step 5: For the number of test schedules in CAT1 test type,
prompt the user for the date.
Step 6: Then prompt the user for the number of students who
were absent and then obtain the register numbers of all
absentees and add them to a list.
Step 7: Now add the date as key to the empty dictionary and
assign the list of absentees as the value for each
corresponding date key.
Step 8: Repeat steps 4-7 for test types CAT2 and End Semester.
Step 9: Print the three dictionaries which have the date and
the corresponding list of absentees on that date.
Step 10: Stop.

2. Draw the detailed flowchart for report generation module.


a. List of students who were absent for 3 or more tests for
each CAT
b. Student-wise attendance report (get the registration
number as input)
c. List of students who were absent for 2 CATs for a given
subject (get the subject code as input)
3. Suggest some additional features that that could be
added to improve the existing system.
 Marks and grading system: The existing system can have
the provision of storage of marks of each student for
each subject. The system can also have the feature of
automatically calculating the grade when marks are
entered.
 Question Paper generator: The system can have the
feature of creating question papers with different
sequences of questions obtained from a question bank by
taking into account the marks allotted for each question
and the difficulty level of the question.
 Test result analysis: The system can have the feature
of comparing marks and grades with average marks and
suggesting areas in which the student can improve.
 Academic support: The system after analysing test
results can assess the student's skill level and create
assignments that are modified and individualised for
each student in order to help them improve their
subject knowledge.
 Notifications: The system can notify the students and
teachers about the upcoming test schedules, assignment
schedules. Etc.

You might also like