BSCS 1350_Project
BSCS 1350_Project
Value: This project is worth 15% of your final assessment in the unit.
Submission Due Date: 10 May 2025 & Demo on 15 May 2025
Type of project: Group Assignment (4 students in each group)
Aims: This assignment aims to provide hands-on experience in building a structured,
menu-driven application using Python. Students will develop a Student Management
System that allows users to manage student records, courses, grades, schedules, and
registrations through a terminal based interface.
The project reinforces key programming concepts such as input/output operations,
conditional logic, loops, lists, and function design. It also encourages good coding
practices, teamwork, and problem-solving skills. By completing this assignment,
students will demonstrate their ability to design, implement, test, and present a real-
world application aligned with the topics covered throughout the course.
CLOs Covered:
CLO SO
(1) Identify the program 2
structure and its execution.
(2) Differentiate between basic 2
types of data.
(3) Design problem solutions 2
using pseudocode, flowcharts,
and basic programming
constructs (variables,
constants, I/O).
(4) Solve problems using data 2
processing (arithmetic/logic)
and decision statements.
(5) Analyze iterative 2
statements.
(6) Implement functions for 2
code reusing.
(7) Manipulate strings of 2
characters & Use the List
data structure.
(8) Implement a fully 5
functioning project in teams.
Project, BSCS 1350 Introduction to Programming, Spring 24-25 Due Date: 10/05/2025, Dr. Ghadah Alghamdi
Dar Al-Hekma University Page 2
2025 Introduction to Programming Project Due Date: 10-05-2025
Project, BSCS 1350 Introduction to Programming, Spring 24-25 Due Date: 10/05/2025, Dr. Ghadah Alghamdi
Dar Al-Hekma University Page 3
2025 Introduction to Programming Project Due Date: 10-05-2025
Project, BSCS 1350 Introduction to Programming, Spring 24-25 Due Date: 10/05/2025, Dr. Ghadah Alghamdi
Dar Al-Hekma University Page 4
2025 Introduction to Programming Project Due Date: 10-05-2025
Display all student Print all student records from the student list in a
Student Information information clear and formatted manner (e.g., as a table).
Display all courses Print all course records from the courses list in a
Course Information information readable, formatted layout.
Display one student’s Ask the user to enter Student ID and display all
Grades grades for all courses grades for that student.
Display all students' Ask for a Course Code and show all students'
Grades grades in one course grades for that course.
Add to student Ask for Student ID, Course Code, and Section.
Schedule schedule Add the entry to the registration list.
Project, BSCS 1350 Introduction to Programming, Spring 24-25 Due Date: 10/05/2025, Dr. Ghadah Alghamdi
Dar Al-Hekma University Page 5
2025 Introduction to Programming Project Due Date: 10-05-2025
Before building the system, initialize the required lists (students, courses, grades, schedules,
and registrations) to handle all predefined sample entries, below code is doing that:
# ------------------------------
# Student Information
# Format: [ID, First Name, Last Name, Email Address, Phone Number]
# ------------------------------
students = [
["230101", "Sarah", "Alzahrani", "[email protected]", "0551234567"],
["230102", "Mohammed", "Alqahtani", "[email protected]", "0559876543"],
["230103", "Laila", "Hariri", "[email protected]", "0558881122"],
["230104", "Omar", "Saad", "[email protected]", "0556663344"],
["230105", "Huda", "Khan", "[email protected]", "0557779991"]
]
# ------------------------------
# Course Information
# Format: [Course Code, Course Title]
# ------------------------------
courses = [
["CS101", "Introduction to Programming"],
["MATH201", "Applied Statistics"],
["ENG110", "Academic Writing Skills"],
["AI310", "Fundamentals of AI"],
["DB220", "Database Management"]
]
# ------------------------------
# Grades
# Format: [Student ID, Course Code, Letter Grade]
# ------------------------------
grades = [
["230101", "CS101", "A"],
["230101", "MATH201", "B+"],
["230101", "ENG110", "A-"],
["230102", "CS101", "B"],
["230102", "MATH201", "C"],
["230102", "AI310", "A"],
["230103", "ENG110", "B+"],
["230103", "CS101", "A"],
["230103", "DB220", "A-"],
["230104", "CS101", "C"],
["230104", "DB220", "B+"],
["230105", "AI310", "A"],
["230105", "MATH201", "B"],
["230105", "ENG110", "B-"]
]
# ------------------------------
# Schedules
# Format: [Course Code, Section, Days, Time]
# ------------------------------
schedules = [
["CS101", "1", "Sunday & Tuesday", "10:00 - 11:30"],
["MATH201", "2", "Monday & Wednesday", "12:00 - 1:30"],
["ENG110", "1", "Sunday & Tuesday", "2:00 - 3:30"],
["AI310", "1", "Monday & Wednesday", "9:00 - 10:30"],
["DB220", "2", "Sunday & Tuesday", "12:00 - 1:30"]
]
# ------------------------------
# Registration
# Format: [Student ID, Course Code, Section]
# ------------------------------
registrations = [
["230101", "CS101", "1"],
["230101", "MATH201", "2"],
["230101", "ENG110", "1"],
["230102", "CS101", "1"],
["230102", "MATH201", "2"],
["230102", "AI310", "1"],
["230103", "CS101", "1"],
["230103", "ENG110", "1"],
["230103", "DB220", "2"],
["230104", "CS101", "1"],
["230104", "DB220", "2"],
["230105", "AI310", "1"],
["230105", "MATH201", "2"],
["230105", "ENG110", "1"]]
Project, BSCS 1350 Introduction to Programming, Spring 24-25 Due Date: 10/05/2025, Dr. Ghadah Alghamdi
Dar Al-Hekma University Page 6
2025 Introduction to Programming Project Due Date: 10-05-2025
While writing your project code, keep the following tips in mind:
(The End)
Project, BSCS 1350 Introduction to Programming, Spring 24-25 Due Date: 10/05/2025, Dr. Ghadah Alghamdi