~/overview/design-overview

A Prince Sultan University system that measures course demand.

The system takes students’ course registration records and computes the demand for each course. It works in three major phases.

Data collectionProcessingDocumentation
00 · At a glance

Three phases.

01

Data collection

Gather and check the registration records.

02

Processing

Calculate a demand score for every record.

03

Documentation

Write the scored results to a new file.

01 · Data collection phase

Gather, check, then organise.

The system starts by gathering students’ course registration records from Prince Sultan University’s database, about 3,000 entries in all.

What each record holds

The student’s basic information: ID number, the course they’re enrolling in (identified by its course ID), their current study level, and the enrollment time.

studentID;courseID;level;time;
2020299;ENGL227;3;10;

Careful checks

Each record is checked and reviewed to make sure its information is correct and complete. The records are then sorted and put into a readable format.

A strong foundation

This gives the system a solid basis for understanding students’ requests, identifying course demand and trends, and informing decisions in later phases.

02 · Processing phase

Demand score calculation.

For each node, the demand scorer calculates a score for each student based on four criteria.

01

Base score: 50

The starting score every student begins with.

02

Class multiplier

The base score is multiplied by a factor that depends on the student’s current level:

  • Freshman ×0.75 (−25%)
  • Sophomore ×0.90 (−10%)
  • Junior ×1.10 (+10%)
  • Senior ×1.25 (+25%)
  • Graduate ×1.50 (+50%)

Students close to graduating, and graduates, get high priority. Freshmen get lower priority because they have more semesters left to register for courses.

03

Time of registration

Early registrations earn bonus points and late ones are penalised:

  • 6:00–8:00 AM: +5
  • 8:00–10:00 AM (peak time): +10
  • 12:00–2:00 PM: no bonus or penalty
  • 2:00–4:00 PM: −5
  • 4:00–8:00 PM: −10
  • After 8:00 PM: −15 or more
04

Course ID priority

Some courses weigh more than others:

  • High priority: course code ends in an odd number, e.g. CS311: +20
  • Low priority: course code ends in an even number, e.g. CS210: −10
Try it · DemandScorer —
Academic level
09:00
0demand score
    03 · Documentation (writing) phase

    Record the results, leave them unsorted.

    Write and update

    Once all the data has been analysed and processed, the system writes the final results to a new file. Each student’s record is updated with its demand score, a measure of how much demand there is for that course.

    Ready for testing

    After saving the updated records, the system reports that the registration requests have been processed. The data stays unsorted at this point so the sorting algorithms can be performance-tested later.

    04 · Why it matters

    From records to smarter decisions.

    These phases show how the prototype turns raw records into useful information by analysing demand, supporting smart decisions about registration.

    Capacity

    Better course capacity and less overcrowding.

    Timetabling

    Timetables that match what students need.

    Planning

    Future planning, with resources allocated according to student demand.

    Overall, the result is more efficient course registration management and a better student experience, through a data-driven, intuitive registration system.