5th STePS: The Fifth School of Computing Term Project Showcase

COM1 Level 2/ Wednesday, 19 November 2014 / 6PM to 10PM

Project Titles, Abstracts and Team Members

IS 4102 E-Business Capstone Project (Chair: Prof. Kaushik Dutta)

35 students in 6 teams

IS4102 is an 8MCs 100% evaluative project-based non-examination module with minimum instructional guidance. In this module, students are required to complete a team-based large scale e-business system. Emphasis will be placed on system design, user interface design, database design, security strategy, and performance. The purpose of the project is to expose students into one full Systems Development Life Cycle (SDLC) to develop an e-business system.

Project Listings

  1. 4102-01: Retailytics
    by A0091398R , Ng Wei Quan Desmond; A0087888Y, Ang Jin Hui; A0087878B, Chia Guo Yong Ferry; A0090961B, Lee Wai Ying Rachel; A0087552X, Poh Chao Ying Jolene; A0087448N, Tan Li Ping
        “Know your shopper. Know your Store.” Retailytics provides integrated Software as a Service (SaaS) platform that enables retailers to understand consumers’ behaviour to equalize the playing field in the retail industry. Through our mobile application, ShopPing, retailers are able to capture consumers’ touch points; and leverage on our native analytics dashboard to effectively plan content strategy and gain deeper insights into the engagement by audience segments. Retailytics strives to be the global platform of data analytics that will revolutionize the retail industry with The Internet of Things and Data Visualization.
  2. 4102-02: Sparrow
    by A0087864L, Huang Junwei; A0087985A, Chen Renjun; A0088293R, Chua Yong Chuan Raymond; A0080856X, Oun Kai Hiong; A0087931W, Wang Jian Rong; A0087769A, Zhou Liang
        Sparrow is a fantastic mobile renting application that brings business owners and renters together! Being a business-to-consumer centric model, we thoroughly review our business owners in order to provide the trusted and reliable platform that you are looking for. Yes, only registered business owners are accepted! Want to rent something? It's simple! Just search for the product you need, reserve it and collect it at the business location. No more fumbling around to search for the item or waste a trip down to find your item unavailable. Give it a try today and we're sure you'll love it!
  3. 4102-03: Tapir: Taking Receipts off Your Hands
    by A0086400N, Tan Ting He Alastair; A0083728W, Lim Xin Jing Ann; A0086926N, Quek Aik Juei; A0086691R, See Yong Jun, Max; A0086053H, Wong Wai Kit Benjamin; A0085539R, Yeo Li Xia Amanda
        As the current reimbursements system has been dubbed by many to be cumbersome, our group, Tapir has developed a smart and reliable system to automate this entire process. With Tapir Reimbursements System, corporate users will only need to tap the Near Field Communication (NFC) readers with their NFC-enabled smartphones. This will swiftly transfer their e-receipts to Tapir Mobile Application. Using this application alone, users can immediately send their e-receipts to their supervisors for approval. Supervisors can access these submitted e-receipts through Tapir Web Portal. We hope to eliminate the hassle of submitting physical receipts with this highly efficient Tapir Reimbursements System.
  4. 4102-04: Catch!
    by A0090990X, Ng Ai Ling; A0087720A, Chen Yun; A0080995N, Chua Boon Kheng Jackson; A0087214H, Lit Jaymond; A0091737X, Tong Mingshuo
        Catch! seeks to make the advertising ecosystem beneficial for both the advertisers and public. Advertisers will be able to inform and engage the public in an interactive and effective manner; while the public will consume advertisements and earn rewards at the same time. How Catch! works can be summarized in four basic steps. Users will scan the QR code that they chanced upon, whereby the advertisement will be opened for view. Then, they will answer a simple advert-related question to verify that users were attentive during the advert display, and be rewarded if the question is answered correctly.
  5. 4102-05: i3Panel
    by A0097867, LOH Yong Sen; A0087594, LIM Wen Qian Audrey; A0103546, LIM Xiuan Pin; A0097886, OH Shan Ern Timothy; A0099023, YANG He; A0091600, ZHANG Anqi
        The next-generation of advertising is coming! InterActive team is proud to introduce you with the i3Panel. Intelligent! Interactive! Innovative! Capitalising the cutting-edge technology, the i3Panel provides a smooth, intuitive and engaging advertising experience to your targeted audience without losing focus on your brand establishment. Additionally, we help you to maximise your investment efficiency by selecting the most appropriate audience group by demographics relevancy analysed by our i3Panel. Wait no further, come and experience this exclusive technology at our booth today!
  6. 4102-06: Ripple
        Ripple is a photo-based social media coupon application which revitalises a typical mobile social networking application by enabling users to earn free coupons sponsored by brand merchants through photo sharing and hash-tagging. Ripple integrates with existing social media hashtag ecosystem such as Facebook to leverage the viral effects of hash-tagging influencing the social networks. Ripple encourages the users to share brand-related photos by hash-tagging with merchant-featured hashtags organically. This can be done through our unique feature, Bucket List that motivates the users to take photos according to the bucket tasks created by the merchants.

Back to top

CS 3216 - Software Development on Evolving Platforms (Chair: Dr. Colin Tan)

37 students in 9 teams

In this module, students will learn to create Internet applications on the latest social networking and mobile web platforms. The de-facto platforms are Facebook, PHP, HTML5 and CSS but students are allowed to pick other technologies like node.js and Objective-C/Cocoa Touch.
Students are expected to work independently in small, interdisciplinary teams to design, develop, and deploy new applications. Students will also have the opportunity to explore the latest Internet programming APIs and open-source tools. This experiential programming module involves extensive hands-on learning in small team projects, with a strong focus marketing their applications, and on user-centric UI/UX design. To do well in this course projects must be cool, fun, and above all useful.

Project Listings

  1. 3216-01: NUSMods with NUSCloud
    by Group 1
        NUSMods is a portal built by School of Computing alumnus Eu Beng Hee and currently maintained by Tay Yang Shun. NUSMods allows students to plot their module timetables, including lectures, labs, tutorials and other official contact sessions, on an easy to read and user friendly web interface. NUSMods currently has over 30,000 users.
    Group 1 will be extending NUSMods with the following features:
    1. Oauth authentication, allowing students to log in and save and customise their time tables. Currently there is no login to NUSMods and students need to key in their module codes to obtain their time tables.
    2. Timetable customisation to add custom, possibly non academic events, hide lesson slots, and use custom colours.
    3. Create lists of modules
    4. Sharing module lists
    5. Sharing public events like CCA events
    6. Maintain friend and group lists
  2. 3216-02: CCA Admin
    by Group 2
        This project was proposed by a teacher in the Ministry of Education.
    Many teachers in Singapore spend great amount of time on admin work when organising CCA events, for example, manually creating lists, documents and reports, repetitively switching between print and digital mediums. To make things worse, there can be a lot of mis-communication between teachers who are organising the same event due to the lack of a centralised reference to the information.
    To solve the problem, we propose to develop an application to make these admin works easier. Some examples of the functionalities of the app are creating events, importing information about student from database, creating tasks for student like submitting a form and keeping track of the current status of the task, generating a list of students who haven’t done the tasks. With our app, teachers can do the admin work anywhere with their mobile phone, e.g. taking attendance of students. Moreover, there will be less mis-communication between teachers since all information is synchronised and teachers can easily refer to it.
  3. 3216-03: Quirrel
    by Group 3
        This project was proposed by an external company PearComms.
    Quirrel is a business intelligent API service which provides insights to the leads that the business has obtained from varying sources such as: conferences, contact-us forms or purchases. For example if a business provides Quirrel with just the lead’s name and email, Quirrel will be able to provide the business with other insights such as it’s linkedin profile, addresses, age. These additional insights will allow business to understand their leads better and increase the sale closing ratio with the leads. ! Quirrel is mainly used as a plug-in within PearComms’ QuickDesk. However, Quirrel will also function as a web crawler. The user can key in information into Quirrel, which will return relevant results of leads.!
  4. 3216-04: Quizzas
    by Group 4
        Our app aims to be a revision tool built upon Quizlet, offering gamified incentive to ‘play’/revise using our app where users can compete with each other, as well as offering a progress summary of how the user has progressed in terms of revision while they have used this app.
    Quizlet is a popular educational site which deals with sets of flashcards. It offers an API for third­party apps to utilise these from the site. We feel it would be advantageous to make use of this site as it would allow users to easily use any set of flashcards from a huge bank of flashcards which Quizlet would provide.
    An important part of how we aim to ‘gamify’ this revision process is to have users competing against one another in ‘answering’ flashcards. We plan to have multiple users competing head­to­head in “rounds”.
  5. 3216-05: Talenox
    by Group 5
        This project was proposed by an external company Talenix.
    Talenox is an Human Capital Management software on the cloud. It composes of various functions including payroll, time schedule, profiles and so forth. In the project, our team is mainly focusing on the development of mobile schedule on iOS platform. By using the mobile schedule, part­time job seekers can organize their schedules, look for jobs and see the announcements from employers. From the centralized website, the employers can see the collection of data from all part­times and do the manpower rotation and contact them accordingly if they need.
  6. 3216-06: Shoppin ‘alias’ ShopLah!
    by Group 6
        In most modern societies, hectic lifestyles are inevitable for many. As a result, weekend shopping might be a hassle because of the need to remember what to buy, produce a grocery list and then head to the relevant supermarkets. Moreover, it is sometimes problematic when communications are involved, through which people may need the others’ help to buy the items, or hold a discussion over the shopping items needed for certain events. Thus, our app aims to remind the users’ needs and simplify their shopping experience by providing relevant promotions on their listed items, enabling shopping list sharing among different people and providing shopping­list recommendations.
  7. 3216-07: Wavenique
    by Group 7
        Wavenique is a music platform that leverages on existing online streaming services such as YouTube and SoundCloud for easy discovery and organisation of music. Currently, discovery of music on these online platforms is difficult. With the tons of uncurated user content on these streaming platforms, accurate discovery of quality music is often a tedious process. Many different kinds of renditions, such as live performances, covers or instrumentals are often returned in a single search result. There is also a large disparity in audio or video quality among the same kind of renditions. Also, users often have to go through the painful process of manually searching and adding videos to their playlists on these online streaming platforms. Although there exist others' shared playlists, they may not be consistent with the user’s preferences in music. What’s more, the user may want to listen to specific instrument or language of a song one after the other, but their current solution is having to search for it one by one. Thus, our product hopes to create a platform whereby users will be able to curate the content of these online streaming services by adding metadata to them. With these metadata, we will be able to simplify the process of manually searching for quality music and generating playlists. Think of it as GoodReads meet YouTube.
  8. 3216-08: XPlus
    by Group 8
        This project was proposed by an external company Xfers
    XPlus is a web and native iOS application that will enable small businesses to keep track of monetary transactions that occur through electronic means. The recurring problem in most small businesses, specifically those who choose to adopt an electronic method of payment, is that it is difficult to scale. Reason for this being the difficulty in keeping track of a huge number of individual transactions. To illustrate the point, imagine being in correspondence with a thousand people at any one point in time. It is easy to lose track of what each transaction is about. The application developed should therefore provide an easy way for businesses to keep track of the transactions that are occurring. The context of these correspondences should be maintained across sessions for the user and the business in order for conversations to proceed smoothly.
    More info: Another major problem with electronic transactions is that of swindlers. Whether it is buyers disappearing after receiving the goods or merchants vanishing after getting the payment, it still is a problem that threatens businesses. The solution proposed by Xfers is for the payment / deposit to be stored on Xfers side and it’ll only be released ­ either back to the buyers if the result of the transaction is a fraud by the merchant or to the merchants if both sides are happy with the transaction. This means that a trusted partner ­ Xfers ­ will act as the mediator and solve the long­time problem of trust issues in such transactions.
    Additionally, XPlus can also solve the issue of ad­hoc payments for groups or clubs during outings or events. For example, a club in a university organizing an event can use XPlus to collect fees from participating members. When a group of friends go out for a meal together, payments are usually done by one person and he / she can use XPlus to collect the individual bill from each member.
  9. 3216-09: Pointmail
    by Group 9
        There are many times that we have to share our email addresses on the internet. We could, for example, be selling something on a forum, or creating a new account on an online purchase portal. Using our permanent email addresses can often lead to undesirable outcomes like our email addresses being sold to outside parties, resulting in receiving undesirable spam and scam messages.
    One solution around this is to create temporary email accounts on services like Yahoo and Gmail. However creating these accounts requires relatively time consuming steps like connecting to the service, keying in personal information, and possibly logging in to secondary email addresses to verify contact information. In addition creating temporary accounts on these services lead to our messages being fragmented across many mailboxes, making it problematic and troublesome to remember to check each of these mailboxes at least once a day.
    A second solution is to create a temporary forwarding service. We have however found such services to be only “one-way”. I.e. people are able to send you emails to your primary email address using a temporary address, but you are unable to reply. Alternatively services like Gmail allow creation of additional “temporary” addresses by using the “+” symbol, but your primary address is still visible.
    The idea of our project is to allow the fast and convenient creation and destruction of two-way temporary email addresses.
    More info: For example creating a temporary email address merely involves sending an email to the service, which then responds with a temporary email address. People can send us emails via that temporary address, and we can reply, with the service still masking our true email addresses. Deleting the email can be as convenient as merely clicking a link on the original welcome message that is sent when the account is created.This services can be further extended to allow the convenient sending of anonymous emails to any addressee. The service will support 2-way email dialog between the addressee and the anonymous sender.

Back to top

CS 3235 - Computer Security (Chair: Prof. Hugh Anderson)

52 students in 14 teams

The objective of this module is to provide a broad understanding of computer security with some indepth discussions on selected topics in system and network security. The module covers the following topics: intrusion detection, DNS security, electronic mail security, authentication, access control, buffer overflow, memory and stack protection, selected topics in application security, for instance, web security, and well-known attacks. The student projects are picked by themselves, in some area of computer security.

Project Listings

  1. 3235-01: CryptoKnocker: A new approach to port knocking without shared secret
    by A0097760U, Tan Jun Hao; A0097947E, Anselm Nicholas Foong Wei Lun; A0097765J, Tan Rongshun; A0097953L, Yeo Te Ye
        Port knocking is a mechanism which allows clients to open ports from outside a firewall. This is done automatically when someone sends the correct sequence of knocks. Common implementations consist of a sequence of timed packet “knocks” which are considered a shared secret. These secrets are susceptible to eavesdropping and replay attacks due to the open nature of a public channel.
       In our project, we propose a new approach to port knocking by integrating modern techniques of authentication such as public key cryptography, nonce and one time password into the port knocking infrastructure to mitigate the mentioned attacks above.
  2. 3235-02: Protection and authentication for web applications
    by A0103552U, Lin Htet Aung; A0098996W, Cho Zin Tun; A0098979U, Yap Fook Lim
        Web applications, if not secured correctly, can be vulnerable to a variety of attacks that are becoming easier to execute with the help of certain software tools and knowledge. This poses a threat to the users who may have stored personal or valuable information on these web applications. Thus, in this project, with the aim of web application protection, various forms of web application protection techniques will be reviewed and put into practical use in an online password storage system.
  3. 3235-03: Protection and Authentication for Web Applications
    by A0096906R, Quah Zheng Hao; A0097935L, Fam Wei Jian; A0097543W, Tan Jun Wen Jeremy; A0097719L, Melvin Lee Zhong Wei
        With the exponentially rising number of people becoming connected to the Internet and sharing their personal information online, it is quintessential to protect web applications from malicious attackers who seek to do harm to the application and the information contained within, as the obtaining or alteration of such information can result in substantial harm to the host of the application and the users alike, as well as third parties. In this project, we are going explore the strengths and weaknesses of techniques used for protecting web-based applications through an offensive approach.
  4. 3235-04: Security System
    by A0100976E, Ang Sing Yee; A0097846J Keith Lim Yong Ming; A0097876A, Tan Wei Liang Jeremy
        This project is done with the goal of providing an alternative route for students to gain access into restricted zones of the building even if they do not have their primary means of access into the building (Matriculation card). This alternative route will be implemented with the help of NFC devices, Mobile Phone Application and the Mobile Phone (which will act as a host for the Mobile Phone Application and as a NFC writer.) The alternative route will be designed with these security elements: (a) a nonce, (b) encryption hash, (c) user defined PIN, and (d) 2 factor-authentication.
  5. 3235-05: Door Watcher
    by A0100848J, Sherlyn Goh Shi Hui; A0097964H, Chew Tee Ming; A0099768Y, Yohanes Lim; A0097889W, Teo Junhao
        In this project, we will do a feasibility study on the use of hand phone as an authentication tool for the door access system. We will then propose a system that makes use of hand phone to ease the process of authentication without compromising the security of the system. Our proposed system consists of a mobile-optimized web application used for user authentication, door lock operated by Raspberry Pi for door access and a centralized server which synchronizes data with the door locks. This architecture is based on a distributed system to ensure there is no single point of failure.
  6. 3235-06: Testing Mobile Applications for Vulnerabilities
    by A0097921W , Peh Kim Chai Alex; A0098943L, Prakash S/O A Divakaran; A0097779Y , Tan JianWei Leslie; A0097868B , Yu Zhangxin
        Most of the people are using a smartphone, people using mobile applications without knowing the threats it may bring to them if malicious users were to exploit it. Moreover, rooting opens up more functionality in expense of security. We shall look into various vulnerabilities on two popular mobile platforms, Android and iOS, using various tools to test them.
  7. 3235-07: Exploiting Web Applications through Browsers
    by A0097753N, Jason Poh; A0083402R, Lim Wei Ke; A0085373Y, Victoria Chew; A0092076A, Sudarsan Gopalaswami Padmanabhan
        In the world of SaaS and everybody putting ‘everything-on-the-Cloud’, the spotlight is shifted to attacks on browsers and web applications instead of the physical machine. Browser extensions allows web application developers to bring more features to existing sites and the browser itself but it is also a big attack surface for attackers. We explore how to exploit the latest versions of the browsers mainly using extensions and recommend changes which should be implemented to reduce the attack surface.
  8. 3235-08: Location restricted access in a web based application
    by A0098988U, Jin Xiaojie; A0132729A, Iain Meeke; A0105699R, Zhang Mengdi
        This project deals with a situation such that only the group of clients from a restricted area is allowed to participate with certain website. This project examines the geographic location of a client by retrieving the BSSID list from the client computer. For the demonstration purpose, this project will use the example such that only students who attend class are able to submit the answer of class quiz and all other answers from absent students or remote random access users are not going to be processed by the server.
  9. 3235-09: Phortress
    by A0097630B, Joel Low Wor On; A0091372H, Naomi Leow Wen Xin; A0099405X, Tan Wei Lin
        Phortress is a static command line code analyser for PHP. It checks a directory of source files for vulnerabilities such as SQL injection and code injection.
  10. 3235-10: Comparing OS security
    by A0087787A, Teo Zheng Le; A0087788B, Tan Wei Jie; A0098155W, Lui Yu Yao; A0097784H, Clement Chong De Zhi
        In this project, we analyze the various security techniques used in Windows, Linux, iOS/Android and MacOS related to access control and sandboxing. We will first specify and propose the framework used for comparing OS security. We will then explore the security features of each operating system and subsequently compare the advantages and disadvantages of the techniques described.
  11. 3235-11: Matric Phone
    by A0084053L, Saloni Kaur; A0128454A, Wong Ming Kit; A0128093E, Turker Bulut; A0128680B, Lee Chun Tat
        The current way of entering the NUS Facilities is by tapping the NUS Matric Cards on detection devices. Even though it prevents visitors of NUS from entering into certain privileged facilities, it is not difficult to attain a student/staff’s Matric card and enter into such facilities. Therefore, our team has come up with a more secure way of attaining access into such facilities. Students and staff carry their mobile phones with them more often than their Matric cards. Our team’s solution involves NFC-enabled smartphones to be Matric Card Emulators, i.e. smartphones will pretend they are matric cards.
  12. 3235-12: 3D Gesture Recognition Using Leap Motion
    by A0105712U, Chen Chi; A0105734L, Pan Long; A0105742M, Sun Hang; A0105695Y, Zhao Mengdan
        Living in Information Age, people use their digital devices with the rapidly increasing demands for both convenience and security. In this project, an evolved password management application based on 3-dimensional gesture recognition using Leap Motion is implemented. Users are identified by their gestures in the application. This application enhances user experience while accuracy and security of it are solid and never sacrificed.
  13. 3235-13: Security system with 3D gesture recognition using Kinect
    by A0087048X, Timothy Lim; A0080949R, Foo Yong Jie a0083338, Wang HanPeng; a0084556, Xu Xianan
        The purpose of the project is to present a novel approach on the design of security systems by using Kinect, a motion sensing input device. Security is important, especially more so today, from environments ranging from physical access restriction in home or office to authentication in digital systems. The proposed technique utilises recognising hand gestures as passwords. A prototype will demonstrate the capabilities of the proposed security approach.
  14. 3235-14: Information Portal on password security
    by A0075106M, Nguyen Thi Mai Huong; A0086103N, Muhammad Farhan Bin Ismail; A0128072L, Boutaleb Elias Reda; A0086789B, Hwai Choon Eugene Ang
        Through this project, we hope to explore some of the security vulnerabilities in operating systems such as Linux and Windows, specifically with regards to the login mechanisms for Linux and Windows. We'll showcase our findings through an information portal that aims to guide future computer security students in their studies.

Back to top

CS 3240 - Interaction Design (Chair: Dr. Bimlesh Wadhwa)

25 students in 7 teams

CS3240 Interaction Design is intended for students in computing and related disciplines whose work focuses on human-computer interaction issues in the design of computer systems. The course stresses the importance of user-centered design and usability in the development of computer applications and systems. Students are taken through the analysis, design, development, and evaluation of human-computer interaction methods for computer systems. They acquire hands-on design skills through laboratory exercises and assignments. The course covers HCI design principles and emphasizes the importance of contextual, organizational, and social factors in interaction design.

Project Descriptions

Students apply interaction design principles and user-centered design and evaluation methods through various design assignments " a module project. They typically work in a team of 4 members to carry out the module project. They carry out field study, analyze their findings, get their interpretations validated by user, synthesize to arrive at design decisions, and perform one or more rounds of evaluation on the interactive prototype they build. At the end of semester, the module project showcases the final result of team's iterative design activity. They are evaluated according to the following criteria:

  • Innovativeness " creativity in the solution
  • Quality of the design of interactive prototype
  • Quality of the contextual inquiry, analysis " evaluation
  • Documentation Quality
  • Presentation Quality

Project Listings

  1. 3240-01: NUSMods Collab
        NUSMods Collab aims to make coordinating school group meetings a breeze by facilitating communication and decisions among the team. Brought to you by the members of the NUSMods team, the essentials required for a smooth and productive meeting such as messaging, scheduling and venue-finding features, are added into NUSMods to provide NUS students with a fully-integrated platform to effectively manage their school life.
  2. 3240-02: AMAO – All Media At Once
        Through the recent years, there have been changes in our communication systems encouraged by the advancement of technology. About a decade ago, we used to exchange our phone number as our only contact information with our family, friends and our colleagues. Today, however, there exists many ways to connect ourselves with other people. These mediums include an increase usage of email and social network sites. As a result, our contact information has expanded to include multiple email addresses and one or more social network accounts, instead of the sole phone number we used to have. We could see that the process of exchanging contact information has been becoming a tedious process which could discourage people from going through them and there is a potential for this whole process to be more efficient. In this project, we are designing a solution which streamline the exchange of contact information, so that the process can be delightful instead of time-consuming, promoting the exchange while ensuring that you have everything you need to keep in touch with others.
  3. 3240-03: PRNTR
    by A0105483J, CHEN LU; A0111784H, CHUA SOON YAO; A0101415B, KHUSHNAZ R KARAI; A0091646Y, LIU WEIRAN
        Printing is essential to every university student. From lecture notes to documents, students would get them printed to enhance their learning experience. Here in the School of Computing (SoC) of the National University of Singapore, students and staff are provided printing facilities for their printing requirement. The key problems of this printing process lies with three factors, namely awareness, accessibility and workload management. This project aims to resolve such limitations by controlling current printing services from a web interface. The web application can display a printer location map, quota breakdown, allow print tasks to be performed with zero configuration, and can be easily accessed from anywhere.
  4. 3240-04: NUS Event Manager
    by A0098820X, DOREEN GAN SIEW LI; A0097655M, LEUNG MEN SHING; A0072744A, NEE SI YAO; A0115696W, TAN YUI WEI (CHEN YUWEI)
        In NUS, there is currently a lack of an integrated system by which information about school events and activities is readily accessible by NUS students and staff. In this project, we tackle this problem so that it is easier for NUS students and staff to not only find out about, but also attend, events which interest them, and in doing so help increase the vibrancy of NUS campus life. We are also motivated by the fact that in the attention economy that university tends to be, we can allow students and staff to discover new interests by placing emphasis on convenient locations and timing, so that students and staff do not end up only attending events which clearly fall into their existing interests. We propose an interactive web application which has a responsive design and allows students and staff to browse and add events into their schedule, and for organisers to create and update event notices.
  5. 3240-05: SINGA
        Since 2013, visitors to Singapore spent less on accommodation, shopping, and sightseeing and entertainment, but spent the same amount on food and beverage. The Singapore tourism industry faces a problem of enticing tourists to visit and stay longer. Also, with so much disperse travel information on the web, there is a challenge for tourists in Singapore to gain quick, easy and reliable access to information of places that might be of interest to them. This project aims to build Singa, a personalised one-stop tourist-friendly assistant to easily plan itineraries and explore Singapore.
  6. 3240-06: SoC Module Planner
    by A0097013L, HSU CHENG HSIEN; A0100357U, JADE ONG HUAI GUI; A0100704B, OOH JING; A0097091Y, WONG KANG-AN
        There is currently no convenient way for SoC students to have a quick overview of their module progress. The modular system of NUS is fairly complicated, with certain modules requiring prerequisites to take them, some modules only being offered in specific semesters, others being suddenly discontinued, etc. Our solution is to provide students with a central location to manage and track their module roadmap on an integrated platform.
  7. 3240-07: Present - a social video diary
    by A0072934B, CHUA JIA JUN DARREN
        Present is a social video diary that is fast and easy to use. With app-launch recording and upload later, you'll find more time to enjoy your beautiful moments yet still capturing them. Share videos or make them private to you and those you tag. Present was built with time-saving features in mind. You don't need to spend much time to start a video diary. With a few steps, your video diary entry is uploaded.Pictures tells a thousand words. A video is actually just multiple images running each second. That's like 24,000 words a second! Imagine yourself watching beautiful moments at the same spot where it happened. Best of all, it's automatically determined when you capture a moment even without cellular data connection. Technology should be used appropriately. We built Present so that you can enjoy your moments while capturing those precious memories. Technology should be used appropriately. We built Present so that you can enjoy your moments while capturing those precious memories.

Back to top

CS 3281/2 - Thematic Systems Project (Chair: Prof. Ooi Wei Tsang)

21 students in 5 teams

The Thematic Systems Project provide students the opportunity to develop a large-scaled computer systems to solve real-world problems under specific themes. The theme this year is “Computing for Social Good”. Students with complementary technical expertise will form project teams to work on real-world projects under the supervision of CS professors and industrial partners. As part of the Thematic Systems Project, students get to learn and practice (i) software engineering in a team environment, (ii) soft skills, including communication and project management, (iii) software development with a focus on correctness, reliability, usability, security, and performance.

Project Listings

  1. 3281-01: Dora: Mapping Project Sana's Health Data
    by Koh Jun Yang, A0096759E; Wong Jun Wei, A0096579E; Kuek Shao Ning, A0098733R; Tang Yixuan, A0105507N
        Sana is an open-source end-to-end telemedicine system that facilitates the capture of medical data and physiological signals through mobile devices. In this project, our team built Dora, a visual explorer for data captured in Sana. Through a map interface, one can visualize the spatial-temporal distribution of Sana's data, such as medical conditions and patient-doctor encounters. Dora is built as a single-page Web application using AngularJS with OpenLayers as the mapping engine.
  2. 3281-02: Sewi: Visualizing Project Sana's Patient Data
    by Ian Leow Tze Wei, A0097142E; Le Beier, A0097708N; Fazli Bin Rosli, A0097759A; Bharath Parameswaran, A0105195J
        Sana is an open-source end-to-end telemedicine system that facilitates the capture of medical data and physiological signals through mobile devices. In this project, our team build Sewi, a Web-based viewer for multimedia data (x-ray images, *scopy video, audio, ECG, etc) collected during a doctor-patient encounter. Sewi allows doctors to interact with the data collected through zooming and annotating. It also includes several utilities such as side-by-side comparisons and x-ray image enhancement to support the doctor's inspection on medical data. Sewi is built using Javascript/HTML5 and runs on most modern Web browsers.
  3. 3281-03: The Sana Extension Library
    by Han Lin, A0085212N; Chen Xi, A0084768L; Cao Luu Quang, A0084801J; Zhao Yue, A0091846W; Dong Yanfei, A0091615H
        Sana is an open-source end-to-end telemedicine system that facilitates the capture of medical data and physiological signals through mobile devices. The goal of our project is to develop an Android library that easily supports capturing of sensory data (audio, video, image, accelerometers etc) through multiple existing connections (built-in, USB, bluetooth etc) and communicates the captured data to the Sana mobile platform. Using our library, third party developers can easily develop apps that capture and analyze sensory data on Android devices, and return the analyzed data back to Sana.
  4. 3281-04: Delta Burns: Estimating Total Burn Surface Area in Burn Victims
    by Eugene Lim, A0097199H; Darius Foo, A0097282W; Low Weilin, A0096566M; Tay Chun Mei, A0101048X
        When treating burn victims, emergency health workers need to quickly estimate the percentage total burn surface area (%TBSA) on their bodies so that the correct amount of fluids can to be administered. Current methods for estimating %TBSA rely on eyeballing and heuristics, which may not be accurate. To improve the accuracy of %TBSA estimation and speed up the process, our team developed Delta Burns, an Android app that allows health workers to quickly snap pictures of the burn victims and annotate burned areas. The app then estimates %TBSA and calculates the amount of fluids required to treat the victim.
  5. 3281-05: CAM2: Analyzing videos from public cameras
    by Xia Lu, A0105767Y; Cheng Yingjie, A0105709H; Liu Yanan, A0105749Y; Liu Tuo, A0083676R
        CAM2 is a research system that supports customized video analytics on video streams culled from publicly accessible cameras. The current system allows user to upload a code snippet to manipulate and analyze video stream from one camera. Our team extends CAM2's frontend and backend to support code snippets that analyzes video streams from multiple cameras simultaneously.

Back to top

CS 4350 - Game Development Project (Chair: Dr. Alan, CHENG Ho-lun)

17 students in 5 teams

Continuing on CS3247, a project course that provides opportunities for students to develop polished and complete games. On top of game graphics, mechanics, AI, etc, this course focus on the design, polishing, testing and UI of game development. Students will have more time to practice and learn more on game production in full scale.

Project Listings

  1. 4350-01: Eternia Saga
    by EDRICK RUDY PUTRA, a0088422; DANIEL DIMAS DEWANGKARA, a0083934; IVAN, A0075113R
        Join Yekaterina and her friends on a quest to save her homeland. Customize your characters and engage in real-time action battles between your party and hordes of enemies! Perform powerful moves, shoot potent arrows, cast destructive spells, summon magical beings, or do them altogether - the choice is yours.
  2. 4350-02: Zed
    by ANG YAN SHENG MARK, a0088271; ANDIKA KRISTI HERMANTO, a0069957; Ho Tuck Wai, James A0081093J
        Play as Zed, a battle-hardened veteran fighting for survival against increasingly challenging waves of zombie hordes. How long can you survive, and how many zombies can you take with you?
  3. 4350-03: Pocket Fighter
    by CHAN ZHI KAI, a0087748; NUR AMALINA BINTI RASHID, a0087614; LI YIZHE, a0077853; NG YEW CHONG (HUANG YAOZONG), a0073806
        A small arena mecha (Robots or machines controlled by people) themed third person shooter game which allows the player to choose from an array of weapons to customize their robots. By doing so, the player will get to explore different ways to personalize the play style and strategize interesting tactics to outwit and defeat their opponent in the arena. There are items within the arena that can aid the player during the battle. These items are hidden within crates, items will be revealed when the crates are destroyed. Play Pocket Fighter now and see if you can be the winner.
  4. 4350-04: Botmines
        Botmines takes place in a futuristic world whereby humans are pitted against robots in an arena for glory. The objective of the player is to survive, and at the same time attempt to destroy their enemies using landmines that are scattered around the field.
  5. 4350-05: Stoic Gasa
    by NG ZHENG HAN, a0086934; NG WEE THIA JOEL, a0094558; CHAN HAO-EN RYAN, a0086931
        The story: The Evil King has taken all the candy. Stoic decides to do something about it, so he breaks into vaults to release all the candy back into the world. Gameplay wise, the player will move from room to room when certain milestones are reached, such as eliminating all the enemies in the room. The player will have to break into the candy vaults by playing mini-games. All this will be done under a time limit. If the time limit is exceeded, game over!

Back to top

CS 6231 - Topics in Systems Security (Chair: Prof. Prateek Saxena)

11 students in 7 teams

Security breaches cost billions of dollars worth of damage to the computing industry. Today, cybercriminals control armies consisting of several millions of compromised machines. Attacks are increasingly being perpetrated towards enterprises, individuals, critical infrastructure and even governments. In this course, we develop new how computer systems can be designed to secure against the practical challenges for the next 10 years and beyond. The course participants envisage a experimental research project, build a prototype or perform a large measurement, and write an academic paper. Topics are drawn from operating systems security, web security, bitcoin, applied cryptography, and Internet measurement.
More Details are on the CS6231 website .

Project Listings

  1. 6231-01: Dropping the cake and having it more: Exploiting Bitcoin mining pool protocol
    by Luu The Loi (A0095481X); Ratul Saha (A0110031M)
        Bitcoin is the most successful decentralized cryptocurrency that is gaining a large-scale support. Coins in such a currency are “mined” by solving cryptographic puzzles. Since the computation required to mine is humongous, miners tend to join hands to make pools. Is this pooling strategy robust against cheaters? Does any minor in a pool have an incentive to play unfair? We study this both analytically and experimentally and show how you can make a healthy profit by mining dishonestly in pools.
  2. 6231-02: PrAd: Towards enabling Privacy-Aware Location based Advertising
    by Hung Dang (A0123891A)
        It is not just a coincidence that your phone displays an advertisement that exactly matches with some brand located just in front of you. That is a privacy breach and there is a high opportunity that some bad guy has just got to know exactly where you currently are. You don’t want it, definitely; but isn’t it cool to see an advertisement of something near you? Thus, we propose PrAd, a location based advertising framework that never reveals your actual locations to any untrusted party, yet still offers basic features of a traditional location based advertising service.
  3. 6231-03: How Secure is your Phone? A Case Study On Attacks on Mobile Phones via Malicious SIM Card Apps
    by Balasubramanian Ashok (A0123473L)
        This project looks at everything about Apps for the SIM Card – SIM ToolKit (STK) Applets, the lesser publicized/popular counterpart of phone apps. Beginning with a look at STK Apps, their legitimate uses and how they are deployed by the 3 major Telecom Providers in Singapore, we will cover alternative modes of installation of such STK Apps, especially in the adversarial perspective with a look at possibility of such attacks against Singapore Telecom Providers. Finally, we examine how bad such malicious STK Apps can get – in terms of information stolen from SIM Cards, and worse, from mobile phones.
  4. 6231-04: Securing The Pointers: Detecting Dangling Pointers Leading To Use-after-free Vulnerabilities
    by A0123405W, CAI ZHENQUAN; A0123441W, HO WEE KIT
        Major web browsers and applications are reported to suffer from use-after-free (UAF) vulnerabilities leading to system compromise. UAF is an elusive class chased after by many bug-finding tools on the commercial market. Dangling pointers are the root cause of UAF. A pointer becomes a dangling pointer when it continues to point to deallocated memory. UAF occurs when a program attempts to dereference a dangling pointer. An attacker can point the dangling pointer to crafted data and gain execution flow. In this work, we develop an infrastructure to effectively and efficiently detect dangling pointers automatically from real-time binary analysis using Pin.
  5. 6231-05: DexterJS: Finding Web Vulnerabilities at a Mega-Scale
    by Harsha Singalreddy (A0040609M), Inian Parameshwaran
        Web Vulnerabilities can be used for defacing websites or compromising user sessions. In this work, we demonstrate a powerful tool that has found hundreds of confirmed vulnerabilities in popular websites and has scanned over a quarter million web pages. Check if your site is vulnerable on the spot! On a technical front, our tool develops a new way of performing taint-tracking and performing multi-browser testing. We also study how to speed up implementations of taint-tracking using approximate techniques for better cost-effectiveness.
  6. 6231-06: Cross-site Scripting Demystified
    by SALTANOV KIRILL (A0123528J)
        In this work, we survey the prevalence of a web vulnerability called cross-site scripting (XSS) , explain how it works and its relation to other vulnerabilities.
  7. 6231-07: A Hybrid Framework to Detect and Exploit Vulnerabilities in Android Apps
    by Behnaz Hassanshahi (A0082812), Jia Yaoqi (A0095632B)
        Large-scale analysis of Android applications to analyse security vulnerabilities is not trivial. Existing approaches on static analysis can suffer from many false positives. On the other hand, pure dynamic analysis techniques have less false positives but need suitable inputs. We propose a practical approach for analysing targeted vulnerabilities in Android applications on a large scale which uses a hybrid of static and dynamic analysis to get better accuracy and can handle complex vulnerabilities.

Back to top

CS 6244 - Robot Motion Planning & Controlling (Chair: Prof. David Hsu)

26 students in 13 teams

Robotics stands at the cusp of dramatic technology transformation. An array of new robots with amazing capabilities appeared in the last decade:

Although many of them of are still experimental in nature, the underlying technologies will gradually, but surely transform our way of life in the near future, just as laptop computers did in the last decade and smartphones are doing now. This course presents the key algorithmic ideas and implementation techniques that enable autonomous robot planning and control. It covers the geometric, probabilistic, and dynamic models and the associated methods commonly used for planning and controlling robot motion. It also covers applications, such as autonomous driving, human-robot interaction, computer animation, depending on students' interests.

Project Listings

  • 6244-01: Approaches for heuristically biasing RRT* growth
    by Hans Andersen, Ken Lee
        An exploration on applying heuristics to sampling-based motion planning algorithms, primarily the RRT*. The Rapidly-exploring Random Trees (RRT) algorithm is among the most widely used robot motion planning algorithms today, being the first to effectively handle systems with complex differential constraints. The Optimal RRT (RRT*) is an algorithm built upon RRT that adds the asymptotic optimality property, which guarantees an almost-sure convergence to optimal paths, but with added computational overhead. In this project we will explore on adding heuristics to RRT* to further enhance and hoping to achieve an optimal, fast, anytime & probabilistically complete planner.
  • 6244-02: Multi-robot Path Planning in Automated Storage System
    by Luo Yuanfu, Li Guodong
       Path planning is one of the essential parts to realize automatic storage and retrieval system. In our project, we plan to develop a path planning algorithm for multi-robot in automated warehouse environment. We aim to implement the cooperative path-finding problem in our environment, i.e., to find collision-free paths for every robot, and ensure low runtime and high success rate while still maintaining reasonable quality of the solution. In this project, we use MA-RRT*, which is a novel algorithm for multi-agent motion planning based on RRT*.
  • 6244-03: Adaptive control for articulated manipulators with kinematic and dynamic uncertainties
    by CHEN Feifei, ZHANG Hongying
       An articulated manipulator is a highly nonlinear system with respect to kinematics and dynamics. Our objective is to derive an adaptive controller of articulated manipulators which does not require exact knowledge of either kinematics or dynamics. MDP or Particle RRT is adopted.
  • 6244-04: Obstacle-based real-time motion planning for autonomous car
    by Feng Mengdan, Virgile Quintin
       We need a planner which provides an initial path for an autonomous car to allow motion planning from the start to the goal position. With dynamic RRT*, we calculate a path and optimize it using RRT*, then we make adjustments to the path to avoid moving obstacles in the free space, that is, obstacle-based real time motion planning using RRT*.
  • 6244-05: Objects Search in Clutter
    by Goh Sim Kuan, Li Jue Kun
       Objects search is a common task that we human perform everyday. We find drinks in the refrigerator, we find keys in the drawer and etc. In order for robots to carry out such tasks, robots should be able to interact with the environment while handling uncertainties, such as ambiguous object types due to occlusion and noisy sensory information. The objective to plan robots' actions to find the target object efficiently and robustly.
  • 6244-06: A car-like robot on icy surface
    by Irvan Jahja , Nguyen Ho Man Rang
       We consider the problem of a point car-like robot moving in a static fully-known two dimensional flat surface with obstacles under uncertainty. In particular, we consider the case that the robot is unable to execute commands exactly, but is able to determine its position and orientation and the configurations of the obstacles exactly. For example, consider a robot deployed on the North Pole. The obstacles correspond to holes of water around the surface, and the robot must avoid falling into them. The slippery surface can make the robot alter both its position and orientation when moving.
  • 6244-07: A robot arm motion planning
    by Lin Kaimo, Wu Keyu
        In this project, we perform a task of grabbing and moving an object using a robot arm in an environment with obstacles. Firstly, some key con gurations of the robot arm during the action are estimated by particle swarm sampling technique. Then, RRT algorithm is used to nd a collision-free path that connects these key con gurations. Experiments with various working environments will demonstrate the robustness and limitations of our system.
  • 6244-08: Optimal motion planning
    by CHEN Min, LAN Ziquan
        RRT like algorithms have been shown to provide an effective method for solving planning problems with kino-dynamic constraints. However, it does not take path cost into account, which might lead to solutions that are far from optimal. RRT* has proven to be able to converge to the optimal solution, but it is not efficient enough since it only explore the space without any exploitation. Hybrid-state A* like algorithms are fast in practice when exploiting some good heuristics, but there is no theoretical guarantee for them. In this project, we seek to find an optimal motion planning algorithm which trades off exploration and exploitation in an ideally way with theoretical gurantees to converge to the optimal solution.
  • 6244-09: Motion planning for autonomous car with dynamic obstacles
    by YU Haibin Etkin Baris Ozgul
        Autonomous car needs to avoid the dynamic obstacles on the road, our proposed method aims to minimize the total travel time from the starting point to the goal while avoiding the moving obstacles(eg. pedestrians). We plan to use the D* Lite algorithm to build up the path and compute the distance between the car and the obstacles to avoid the possible collision. We plan to make our algorithm fast enough to adapt the changes in the environment and find the optimal path for every instance.
  • 6244-10: Path finding using pRRT
    by Jaemin Son, Md. Tanvirul Islam
        In this project we will implement Particle RRT algorithm for planning under uncertainty. We will construct several test environments and test our implementation. We will make various heuristic modifications and compare performances of these variations. This will provide useful insight on the strength and weakness of this algorithm. More details are provided in the proposal.
  • 6244-11: Pedestrian avoiding methods for self-driving car in urban area
    by Nicolas Porcel, Arnaud Dhimoléa
        We propose to compare differend methods for autonomous car driving in urban area. We are especially interested in avoiding pedestrians while driving in straight line. We will consider that no other driver is involved. The main objective is to have a model that minimize pedestrian collisions while minimizing the time taken to arrive at destination. Our goal is to have a realistic pedestrian simulation, with a probabilistic behavior based on an estimated goal.
  • 6244-12: Pedestrian Aware Autonomous Driving
    by Jay Nandy, Debabrota Basu
        In the real time sccenario, the bigget hurdle for an autonomous robot to take care of the uncertainties involved in the movements of pedestrians while moving towards its goal and to strictly avoid collisions in its motion planning algorithm. In this project, we focus on the pedestrian aware robot motion planning by modeling the pedestrian movements with Mixed Observable Markov Decision process hurdle(MOMDP) which will be implemented for autonomous car driving under uncertainties.
  • 6244-13: Implement pRRT for navigation in a room having variable friction
    by Astha Jain, Harshul Gandhi
        A room provides a closed environment with multi-dimensional dynamic obstacles. There could be water on the floor, the flooring material may change from carpet to granite or to marble etc. Under such dynamic conditions, the capability of robot to find the most feasible path and precisely inplementing that path depends on the robustness of the path finding algorithm used. The robot should be able to judge the surrounding conditions efficiently before making any decision. Our main objective shall be to implement and if possible, enhance the pRRT algorithm to find an efficient path in an environment having variable attributes such as floor friction.
  • Back to top