Project Topics
 
Online NUS Bus Guide
Focus
> Bus map visualisation, client-server app.

Requirements

> The system displays bus stops and bus routes in a map.
> User can check bus arrival time at a bus stop.
> User can check bus occupancy (%).
> User can check bus stop crowdedness (# of pessengers).
> Controller can check all the above.
> Controller can check the location of a bus.
> The system dispatches buses automatically at predefined dispatch frequency.
> Dispatch frequency may be different for different routes, time of day, day of year.
> Contorller can dispatch additional buses at peak hours.

Requirements for Future Expansion
> System Administrator can change the locations of bus stops. This occurs very infrequently.
> System Administrator can change the number of buses that service a particular route.
> System Administrator can change the automatic dispatch frequency of a route.

Assumptions
> Bus has GPS to indicate location.
> Bus sends message to Control Station to indicate location and occupancy.
> There is a fixed number of buses that service each route in the Bus Terminal.
> Bus stop has sensors that count the number of students.Note
> Implement a simple simulator to simulate real buses, bus stops, pessengers.
 
Real-Time Surveillance System
Focus
> Video display, basic image processing, client-server app (if network cameras are used).

Requirements

> The system displays live feed of multiple cameras.
> The Operator can pan, tilt, zoom cameras.
> The system automatically compressed live feed videos by removing stationary frames before saving.
> The sytsem automatically deletes saved videos after a predefined time period.
> Operator can replay saved video, with play, pause, forward, backward control.
> Operator can override automatic deletion of saved videos.

Requirements for Future Expansion
> Videos are saved and displayed with time stamps of the video frames in the original live feed.
> System Administrator can add or delete cameras.
Notes
> Have real network cameras for use; limited number.
> Or use webcams and simulate pan, tilt, zoom by manual camera adjustment.
 
Training Workshop Management System
Focus
> Database (or data files), simple AI, client-server app.

Requirements

> A trainee is required to participate in a series of training workshops over the course of 2 years.
> A trainee must complete a training workshop by a specific deadline starting from the beginning of his training.
> A trainee cannot participate in more than one workshop in the same day.
> A trainee should register with the system to participate in a workshop.
> Different training workshops may have different completion deadlines.
> Different training workshops may have different durations, either half a day or one day.
> Some workshops serve as prerequisites to other workshops.
> A trainer organises a number of training workshops at different time.
> A trainer cannot organise more than one workshop in the same day.
> Different trainers may organise different training workshops.
> If more than one trainer can organise a particular workshop, only one of them will organise the workshop at a particular
   period of time.
> The system can be run in either on-line or off-line mode. User authentication is required to run in on-line mode.
> In on-line mode, data in client side is automatically synchronised with those in the server.
> The system keeps track of each trainee's training progress (i.e., completed and uncompleted workshops).
> The system sends reminder to a trainee to participate in a workshop before deadline.
> The system sends request to a trainer to organise a workshop before a specified deadline.
> If the number of trainees participating in a workshop is lower than a predefined threshold, the workshop will be
   canceled. The trainees and trainer involved will be notified of the cancelation. The canceled workshop will be
   rescheduled.

Requirements for Future Expansion
> An administrator can add or delete accounts for trainers and trainees.
> An administrator can modify training workshop requirements and deadlines. This is performed occasionally when
   training requirements are changed.
> A reminder is sent to the trainer to conduct the training workshop that he organises.
> A reminder is sent to the trainee to attend the training workshop that he has registered.
> A trainer can change the reminder period and frequency of each workshop that he is organising.
> A trainee can change the reminder period and frequency of each workshop that he is participating.

Notes
> Design the system to use a database.
> In the implementation, you may use simple data files to simulate a real database. In this case, your system should
   be designed to easily migrate from data files to database.
 
Self-Guided Learning System for Anatomy
Focus
> Basic image annotation, self-learning and self-test, (optional) client-server app.

Requirements

> A teacher can create a new lesson on (a part of the) human anatomy.
> A lesson contains one or more images of the human body of interest, annotations of various parts of the human body,
   a set of explanatory notes, and a self-test with multiple choice questions.
> A teacher can input the image of the lesson into the system.
> A teacher can use the system to create annotations of various parts in the image.
> An annotation consists of a line pointing to a body part in the image and a small box with a short descriptive text of
   the body part.
> A teacher can input a set of explanatory notes and the paging of the notes.
> A teacher can create a self-test of the lesson by entering each question, the choices, the correct answers and the
   passing mark.
> A teacher can modify any lessons, including deleting a lesson.
> A student can go to a lesson to study explanatory notes.
> A student can go to the next or previous page within a lesson.
> A student can click on an annotated body part and the linked pages in the explanatory notes are shown.
> A student can click on a word in a page with a hyperlink and the linked body part in the image is highlighted.
> A student can take the self-test.
> A student can go to the next lesson if he passes the self-test of the previous lesson.
> A student's self-test scores are saved.
> A teacher can check a student's self-test scores to evaluate his progress.
> The system can be run in either on-line or off-line mode. User authentication is required to run in on-line mode.
> In on-line mode, data in client side is automatically synchronised with those in the server.

Requirements for Future Expansion
> An administrator can add or delete accounts for teachers and students.
> A teacher can create a hyperlink from the body part in the image to a page of the notes.
> A teacher can create a hyperlink from some words in a page to a body part in the image.
> A teacher can request the system to compile a summary of a student's performance or all the students' performance.
 
More coming up...

24 Jan 2014