Project Topics

Project Teams
 
Map Widget for Animated Display
Humans have accumulated a vast amount of data since we started recording events. Visualising these historical data appropriately gives us deeper insights into the happenings of the world. The goal of this project is to develop a Qt map widget that supports visualisation of data in on a map. The map widget should provide functions for displaying, panning and zooming the map, locating cities by their longitudes and lattitudes, painting map regions (countries, cities, etc.) with different colours to indicate different values, animate a time series of data, etc.

The objectives of this project is to develop a map widget and illustrate its use in an application software. For more details about the project, please consult the instructor.



Grading Criteria
Completeness of functionality.
Ease of use by application programs.
Usability by users.
General look-and-feel.
 
Multi-File Organiser

In comtemporary operating systems such as Linux, Windows and Mac OS, a file is managed as a single entity. In many media-related applications, however, an entity can consist of multiple parts, each stored in a separate file. For example, a 3D mesh model of a skull can contain multiple bones, each stored in a separate file. A volume image in DICOM format consists of multiple 2D slices, each stored in a separate file. A downloaded complete web page consists of a html file and a directory that contains all the images in the web page. It is inconvenient, sometimes confusing, for the user to remember which files and directories belong together. The current workaround is to keep the files the belong to an entity in a separate directory or use the same naming convention.

The objective of this project is to develop a multi-file organiser that organises entities that consist of multiple files and directories as a single entity. It should behave like an ordinary file organiser such as Ubuntu's Nautilus and Windows' Windows Explorer when it organises ordinary files. In addition, it allows a user to specify the files and directories that below to a single entity with a single set of attributes such as name, type, creation date, modification date, etc. It should then organise these multi-file entities as single items. For example, the user would see only one item for each entity in the multi-file organiser, unless the user requests to see all the files that belong to the entity. The multi-file organiser also provides functions such as selection, deleting, copying, pasting that work on the entities as single items.



Grading Criteria
Completeness of functionality.
Ease of connecting to target software in different platforms.
Usability by users.
General look-and-feel.
 
Item Genie
(student-proposed project)

Many games consist of items that add bonuses to in-game character attributes, as well as potentially provide some abilities that can be activated to veer the game in your favour. The scale of these games often means that there is an overwhelming number of items with varying attributes and trade-offs, and as such it can be difficult to make strategic choices of what item to equip. As such, it would be hugely helpful to be able to visualise the trade-offs of equipping an item over another, given limited resources the player has at hand such as amount of in-game money.

Item Genie hence seeks to enable better gaming choices by players by allowing comparisons between items’ attribute bonuses and cost, so that players can tailor their in-game purchases to the current situation of the game. The UI part focuses on facilitating these comparisons, whether through a numerical or graphical manner, and will provide functions to sort, search and selectively focus on specific items and attributes for side-by-side comparison. This will be based on backend data of all the in-game items and their properties.



Grading Criteria
Completeness of functionality.
Ease of connecting to backend game software.
Usability by users.
General look-and-feel.
 
Interactive Video Player
(student-proposed project)

The objective of this project is to design an interactive video player. This video player will be created to eliminate the disambiguation associated with the television show watching process. For example, when watching a TV show, there are many times when a certain actor or actress’s name is unknown. This software aims to resolve this issue. Another scenario of an interactive television app can be used as product placement. For example, if a particular dress or product
appears on the screen, sometimes it’s hard to find out who makes that product and where to buy it. This is where an interactive television interface will be useful.



Grading Criteria
Completeness of functionality.
Good management of content meta data.
Usability by users.
General look-and-feel.
 
AUV Video Console
(student-proposed project)

The backend comprises of an autonomous underwater vehicle (AUV) that has video cameras attached to its exteriors. The objective of the UI we make is to provide a consoel for the vision system of this AUV to display video feed. The video console also allows the user to define an image filter chain on the video feed, record the video feed, to take snapshots of the camera inputs, etc.


 
Grading Criteria
Completeness of functionality.
Ease of connecting to video camera.
Usability by users.
General look-and-feel.
 
NUS School Bus Management System
(student-proposed project)

A system for real-time management of NUS school buses.



Grading Criteria
Completeness of functionality.
Ease of connecting to MRT trains.
Usability by users.
General look-and-feel.
 
Bookmark Management Software
(student-proposed project)

The objective of the software is to provide users with a better way to organise and access their (large number) of browser bookmarks.



Grading Criteria
Completeness of functionality.
Ease of connection to browsers in different platforms.
Usability by users.
General look-and-feel.