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

BSCS 1350_Project

The project for the Introduction to Programming course at Dar Al-Hekma University involves developing a Student Management System using Python, which is due on May 10, 2025. Students will work in groups to create a menu-driven application that manages student records, courses, grades, schedules, and registrations, reinforcing programming concepts and teamwork. The project includes specific implementation steps, coding tasks, and submission requirements, including a project report and a live demo presentation.

Uploaded by

haifa derjan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views

BSCS 1350_Project

The project for the Introduction to Programming course at Dar Al-Hekma University involves developing a Student Management System using Python, which is due on May 10, 2025. Students will work in groups to create a menu-driven application that manages student records, courses, grades, schedules, and registrations, reinforcing programming concepts and teamwork. The project includes specific implementation steps, coding tasks, and submission requirements, including a project report and a live demo presentation.

Uploaded by

haifa derjan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Dar Al-Hekma University Page 1

2025 Introduction to Programming Project Due Date: 10-05-2025

Corse Code: BSCS 1350, Course name: Introduction to programming

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

Student Management System


Your team is assigned to develop a Student Management System using the Python
programming language. This system will operate through a text-based menu interface,
allowing users to manage student records, course offerings, grades, class schedules, and
registrations. Users interact with the system using a numbered menu.
The course consists of the flowing menus:
Menu Items
1 - Student Information
2 - Course Information
Main Menu 3 - Grades
4 - Schedule
5 - Registration Press 9 to exit.

1- Display all student information


2- Add student
Student Information Menu 3- Delete Student
4- Edit Student Information.
Press 0 to go back to main menu
1- Display all Courses information
2- Add Course
Course Information Menu 3- Delete Course
4- Edit Course Information.
Press 0 to go back to main menu
1- Display One student’s grade for one course.
2- Display One student grade for all courses 3-
Grades
Display All students grade in one course.
Press 0 to go back to main menu
1- Display One Student Schedule.
Schedule 2- Add to Student schedule.
Press 0 to go back to main menu

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

Start with the following implementation steps:


- When the program starts, display the Main Menu and prompt the user to enter a
number corresponding to a menu option (e.g., entering 1 should navigate to the
Student Information Menu).
- Ensure the program continues running in a loop until the user explicitly chooses to
exit by pressing 9.
- If the user enters an invalid option, display an appropriate error message and re-
display the current menu for a valid selection.
After complete creation of the above menus, below table contain the description for each
item, write code for each item:

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

Menu Task Description

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).

Ask the user to enter Student ID, First Name, Last


Name, Email Address, and Phone Number. Then
Student Information Add student create a list with this information and append it to
the students list.

Ask the user to enter the Student ID, search for it


Student Information Delete student in the students list, and remove the matching
student entry.

Ask the user to enter the Student ID. Then let


Edit student them choose what to update (First Name, Last
Student Information Name, Email, or Phone). Ask for the new value
information
and update the student record in the list.

Display all courses Print all course records from the courses list in a
Course Information information readable, formatted layout.

Ask the user to enter Course Code and Course


Course Information Add course Title. Create a list and append it to the courses list.

Ask the user to enter the Course Code, find the


Course Information Delete course course in the list, and remove it.

Ask the user to enter the Course Code. Then allow


Edit course them to modify the Course Title and update the
Course Information
information list.

Ask the user to enter Student ID and Course


Display one student’s Code. Find and print the corresponding grade from
Grades
grade for one course the grades list.

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.

Ask for Student ID, find their registered courses


Display one student’s from the registration list, and display the matching
Schedule
schedule schedules.

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:

• ✅ Follow Best Practices: Use meaningful variable names, consistent indentation,


and add comments to explain your code logic.
• 🧩 Modular Design: Create separate functions (methods) for each task—such as
adding a student, deleting a course, or displaying grades—to make your code
organized and reusable.
• 🔄 Use Loops and Conditions Wisely: Make sure your menus and input validations
use appropriate loops and if-else statements to handle unexpected inputs smoothly.
• 🗂 Keep Data Organized: Use lists to store and update student, course, and
registration data in a structured way.
• 💬 Add User Prompts and Feedback: Clearly prompt users for input and confirm
actions like "Student added successfully" or "Invalid ID, please try again."
• 🧪 Test Regularly: Test each function separately before integrating it into the full
menu system to catch errors early.

Project Submission & Deadline:


Each team must submit the following by Saturday May 10:

✅ Project Code: [10 points]


Submit your code in a runnable .py format or as a plain text file.
✅ Project Report: [2.5 points]
A brief report that includes:
• A summary of all implemented functions – [1 point]
• A short explanation of your development approach – [1 point]
• Screenshots showing your program in action – [0.5 point]
✅ Class Presentation & Demo: [2.5 points]
Each team must prepare a 10-minute presentation and live demo of their project.
Demo Schedule:

• 📅 Sunday, May 11 2025

(The End)

Project, BSCS 1350 Introduction to Programming, Spring 24-25 Due Date: 10/05/2025, Dr. Ghadah Alghamdi

You might also like