Design of an Admission Placement System for Faculties of Computing and Physical Sciences
1. Introduction
Admission placement in universities involves assigning qualified candidates to departments based on performance and preferences while satisfying institutional constraints. This work presents a systematic algorithmic solution for automating admission into the Faculty of Computing and the Faculty of Physical Sciences.
The system ensures fairness and consistency by considering student performance, departmental cut-off marks, and capacity limitations.
2. Problem Definition
Design an algorithm that assigns students to departments in:
- Faculty of Computing
- Faculty of Physical Sciences
Each student provides:
- JAMB score
- Post-UTME score
- Ordered list of preferred departments
Each department has:
- A cut-off mark
- A maximum capacity of 500 students
The system must:
- Assign students based on merit (total score ranking)
- Respect department capacity constraints
- Ensure students meet departmental cut-off marks
- Provide clear admission outcomes
3. Inputs
The system accepts:
- List of students
- JAMB scores
- Post-UTME scores
- Ordered department preferences
- Department cut-off marks
- Department capacities (maximum 500 each)
4. Outputs
The system produces:
- Admission status (Admitted / Not Admitted)
- Assigned department (if admitted)
- Reason for rejection (optional)
5. System Structure
Faculty of Computing
- Computer Science
- Software Engineering
- Information Technology
- Cyber Security
Faculty of Physical Sciences
- Chemistry
- Physics
- Mathematics
- EMT
6. Constraints
- Each department admits at most 500 students
- Students must meet departmental cut-off marks
- Admission is strictly merit-based
- Each student can be admitted to only one department
7. Algorithm Design
Step-by-Step Natural Language Description
- Start
- Input all student records, department cut-offs, and capacities
- Validate inputs (ensure scores and preferences are valid)
- For each student:
- Compute total score = JAMB + Post-UTME
- Sort students in descending order of total score
- If scores are equal, break ties using Post-UTME score
- For each student:
- Set admission status to false
- For each preferred department:
- If:
- Student score ≥ department cut-off AND
- Department capacity > 0
- Then:
- Assign student to department
- Decrease department capacity by 1
- Mark student as admitted
- Stop checking further preferences
- If:
- If no assignment is made:
- Mark student as not admitted
- End
8. Pseudocode
BEGIN
INPUT students
INPUT cutoffs
INITIALIZE capacity for each department = 500
// Step 1: Validate inputs
FOR each student:
IF student.jamb < 0 OR student.post_utme < 0 THEN
MARK student as "INVALID"
CONTINUE
// Step 2: Compute total score
FOR each student:
student.total = student.jamb + student.post_utme
// Step 3: Sort students (descending order)
SORT students BY total DESC
IF tie THEN sort by post_utme DESC
// Step 4: Admission process
FOR each student:
admitted = FALSE
FOR each choice IN student.preferences:
IF student.total >= cutoffs[choice] AND
capacity[choice] > 0 THEN
ASSIGN student TO choice
capacity[choice] = capacity[choice] - 1
admitted = TRUE
BREAK
IF admitted == FALSE THEN
MARK student AS "NOT ADMITTED"
END FOR
END
9. Flowchart

10. Sample Data
| Name | Score | 1st Choice | 2nd Choice | Result |
|---|---|---|---|---|
| Musa | 260 | CS | Math | CS |
| Aisha | 210 | CS | Physics | Physics |
| John | 150 | CS | Math | Not Admitted |
11. Algorithm Techniques Used
- Sorting: Ensures students are processed in merit order
- Iteration: Used to process students and preferences
- Conditional Logic: Enforces admission rules
- Greedy Strategy: Assigns each student to the best available preferred department
12. Algorithm Analysis
Time Complexity
Let:
- n = number of students
- p = number of preferences per student
Step 1: Score Computation
Each student’s score is computed once.
→ Number of operations =
→ Complexity = O(n)
Step 2: Sorting
Students are sorted based on total score.
→ Sorting complexity = O(n log n)
Step 3: Admission Process
Each student is processed and compared with their preferences.
→ Outer loop runs times
→ Inner loop runs times
Total operations =
→ Complexity = O(n × p)
Since is small and constant:
→ O(n × p) ≈ O(n)
Final Complexity
Combine all steps:
O(n) + O(n \log n) + O(n)
Dominant term:
\mathbf{O(n \log n)}
Correctness
The algorithm is correct because:
- Every student is processed exactly once
- Departments never exceed capacity due to controlled decrement
- Only students meeting cut-off are admitted
- Each student is assigned to at most one department
13. Conclusion
The proposed admission placement system provides a structured and efficient method for assigning students to departments based on merit, preferences, and institutional constraints. The use of sorting ensures fairness, while iterative and conditional logic guarantees adherence to admission rules. The algorithm is efficient, scalable, and suitable for real-world implementation in university admission systems.