Senior Projects

Here is some useful information for my senior projects (maybe you are looking for the School site on IT/CS Senior Projects).

Quick links

Useful Information

Using Subversion

Subversion will be used for file storage and version control for project documents and code. The Subversion (often referred to as SVN) server is available at:
svn://sandilands.info/svn/

A nicely formatted web site that gives read access to files is at:
https://sandilands.info/viewvc/

For users, you need an SVN client. On Windows, TortoiseSVN is the defacto standard. It integrates into your Windows explorer shell. On Unix-based systems, the SVN command line tool is most commonly used. Ubuntu has for example an svn package.

A short introduction to using TortoiseSVN for Senior Projects is available.

Offered Projects

GPU Computing

Year
2012
Keywords
OpenGL, CUDA, graphics, GPU, parallel programming
Project Overview

We have a server with two Nvidia GeForce GTX 460 graphics cards. These are CUDA-enabled Graphics Processing Units, meaning you can write applications that utilise the massively parallel processing abilities of the graphics cards. For problems that can be solved with parallel algorithms, using the GPU can be much faster than using a general-purpose CPU. Examples of applications well-suited to GPU computing include: cracking passwords and breaking ciphers; solving selected scientific problems; weather forecasting and physics calculations; image and video processing. In this project you may choose a suitable application and implement it using CUDA or OpenGL on the graphics cards. You need to be a good programmer for this project, although you don't need experience in CUDA or OpenGL - you will learn it along the way.

Sensor Network Web Application

Year
2012
Keywords
wireless sensor network, web application, 6LowPAN, Contiki, CoAP
Project Overview

Wireless sensor networks allow monitoring and control of an environment using small low power sensors with built in wireless capabilities (e.g. IEEE 802.15.4, ZigBee). The sensors, e.g. light, motion, temparature, moisture, form a multi-hop wireless network and sending information to one or more servers. A key charactersitic of a wireless sensor network is lightweight: the sensors themselves are very low power (e.g. battery last weeks or months) and capability devices (e.g. KB of RAM, MHZ CPU), and hence the wireless network must be very efficient at low data rates (kb/s).

To make application development easier, some sensors are running lightweight version of IPv6, referred to as 6LowPAN. To run applications on the sensors and servers to collect information and control the sensors, rather than using HTTP for web applications, CoAP has been developed.

Your task will be to develop a web application that can control and collect information from sensors using CoAP. The popular sensor network operating system, Contiki, can be used.

Moodle Hardcopy Plugins

Year
2012
Keywords
Moodle, LaTeX, XML, PHP, MySQL
Project Overview

Moodle is a learning management system. One feature it offers is online quizzes. A teacher creates quiz questions in Moodle, sets a quiz, and students complete the quiz on their computer. In some cases its desirable to have a hardcopy of the quiz (e.g. to give to students in class without computers, for a special makeup quiz, for teachers and students to print). This project requires you to develop software that takes a Moodle quiz and produces a printable PDF of that quiz. To generate the PDF, LaTeX will be used. That is, your software needs to convert the Moodle quiz questions (in HTML/XML) into LaTeX. A second task is to then be able to make the completed hardcopy quizzes available to students through Moodle. For example, if the quiz is scanned to a PDF, then that PDF can be downloaded by the student within Moodle. Similar applies to hardcopy exams and assignments.

Some features to consider for inclusion:

You will need to learn the format that Moodle stores questions and files in: although they are in a MySQL database, its easy to export the questions to XML or GIFT format. You will then need to learn basic LaTeX and design a style and macros to support the Moodle question types. You need to implement the converter, either as a standalone program or as a Moodle plugin. Similar, for the importer you may have a standalone program or Moodle plugin.

Programmable Wireless Network

Year
2012
Keywords
WiFi, GNUradio, OpenBTS, software-defined radio
Project Overview

Make use of an Ettus USRP210, a programmable wireless access point, and optionally multiple Linksys WRT54GL wireless access points to develop a novel wireless application/network. For example, a network that automagically selects the best frequency channel to use to avoid interference. Or provides extra coverage for a mobile network. Or provides very high speed wireless links for multiple HD video streams. You can select the application with consultation with the adviser. You may need to learn about and use one of the following GNUradio, OpenBTS, OpenWRT, and may involve programming DSPs and other hardware components, i.e. software defined radio.

Past Projects

Real-time Steganography for VoIP Calls

Group Members
Jirapa Jenchaimahakoon and Ramon Sintateeyakorn
Year
2011
Keywords
security, cryptography, steganography, voice over IP, Skype
Project Overview

Steganography is a security mechanism that hides secret messages inside public messages. This project implemented software that allowed a user to hide a text message inside a voice call. While making a voice over IP call, the software took the message from a file and hid it inside the voice data sent across the Internet. The receiving application then decoded the message.

SecurEd: Educational Security Web Application

Group Members
Year
2011
Keywords
security, cryptography, web server, web application, HTML5, OpenSSL, GPG, MySQL, PHP
Project Overview

Demonstrations and examples are important for effective teaching of computer and network security. This project will develop a web-based application that allows students to perform security operations (encryption, authentication, key generation) in a controlled environment. Students login to the application and can then apply common encryption algorithms, as well as send encrypted/authenticated messages to other students.

The project involves implementing web applications using technologies such as: HTML, PHP, CSS, MySQL, SVG, JavaScript, CMS. This project is NOT about implementing encryption algorithms; existing software such as OpenSSL and GPG can be used for them. Instead the focus will be on developing an easy-to-use graphical web application that aids the student in learning the steps taken in different security algorithms.

The desired web application should allow some or all of the following features:

For students that took CSS322 last year, one goal of this project is to implement the assignment via a web application. That is, rather than using the command-line of OpenSSL, each student logs in to the SecurEd web application and performs the operations via a GUI. This will simplify the process for students, as well as the monitoring for the instructor.

At least 1 student in the group must have taken and passed CSS322.

A networked guide of SIIT

Group Members
Araya Kinbuangam and Kraisit Charoensup
Year
2011
Keywords
mobile applications, location-based service, electronic guide
Project Overview

Some museums have electronic guides for visitors providing information about nearby exhibits. This project will create a similar style guide for SIIT (with possibly extension to Thammasat Uni). As a student walks around campus, their mobile device provides relevant location-based information. Some examples:

There are three parts to make such a system work: application on mobile device, backend servers providing the information, and location/tracking infrastructure. The mobile application will push messages to the user, as well as allow the user to interact with different services. The backend servers store information to be sent to students, as well as having databases about students. The location/tracking can be performed via different mechanisms: QR-Codes, Bluetooth, GPS, Wi-Fi, motion sensors, video cameras.

Resources

Real-time Visualisation of Wireless Security Attacks

Group Members
Titima Wattanachaipong and Wimonwan Thipdararat
Year
2011
Keywords
WiFi, wireless LAN, security, passwords, WEP, WPA
Project Overview

Deploy a test network that allows students to defeat the security mechanisms of a wireless LAN (IEEE 802.11 WiFi). Implement software that visualises the security mechanisms and attacks so that students can learn how they work in real-time.

The test network should allow attacks against different levels of security:

  1. Open Network: a wireless LAN with no authentication or encryption. You should demonstrate how an attacker can listen in to all wireless traffic.
  2. WEP: a wireless LAN using WEP for authentication/encryption. You should use known techniques for the attacker to discover the WEP key.
  3. WPA: a wireless LAN using WPA PSK for authentication/encryption. You should attempt a brute force attack. In this case you should make use of available hardware, e.g. GPU computing.

Software exists that performs the above attacks, for example: Aircrack-ng for WEP/WPA attacks, Wireshark viewing captured packets, pyrit for brute force attack. For the brute force attack you can make use of our server with two Nvidia GeForce GTX 460 graphics cards and utilise CUDA. It is your task to get all this software working together in the test network.

A key aim of the project is making it easier for students to perform an attack and at the same time understand how it works. Therefore, rather than just use the existing software, you should provide some visualisation of the steps being taken. For example, visualise the packets being sent during an attack and the processing being performed at each node, combined with explanations of the steps. Where possible, this should be in real-time and interactive.

EduNet: Educational Software for Networking Courses

Group Members
Buranin Sukonpradit, Apilux Pinsaikaew, Sarawut Khunyoatying
Year
2010
Keywords
animation, graphical user interfaces, client/server, web 2.0, Google APIs
Project Overview

SIIT students study several courses on data communications and networking, including ITS323, ITS327, ITS332 and ITS413. This project requires the development of software to demonstrate the concepts, algorithms and protocols learnt during these courses. For example, the software may include:

The intended users are students of data communications and networking courses. The software will be for educational purposes: it aims to make it easier for students to understand the concepts in networking. Hence the main focus will be using appropriate user interface techniques to explain concepts (e.g. animations, video, calculators). Where possible, the software should be interactive. The software may be standalone (eg. written in Java or other language) or web-based (e.g. AJAX plus Google APIs). The exact set of features is open for discussion and will be finalised in the design.

Resources

Annotated Lectures

Group Members
Tanyaporn Kittisirisawat, Pongpat Tunchuvong, Theerapong Vorrapittayaporn
Year
2010
Subversion (SVN) Repository
https://sandilands.info/viewvc/Projects/AnnotatedLectures/
Keywords
AJAX, web 2.0, user interface design, instant messaging, collaborative/social software, education
Project Overview

Many educational institutions encourage students to use computers (e.g. laptops, mobile devices) during class to support their learning. One common use is for the students to view the lecture slides/notes on their own computer, instead of having a print out of slides. However, without good software, it is difficult to annotate the slides during the lecture. This project requires you to develop a system that allows annotation of slides during a lecture, as well as sharing of those annotations within the class.

Assume slides for a lecture are made available on a website so that during the actual lecture, students can view the slides via their laptop or mobile device. For example, they may be viewed as an interactive slide show. You must develop this website so that students can easily add annotations during the lecture. There are various factors you need to consider such as:

  1. What interface is appropriate for adding annotations during the lecture? (needs to be quick and easy)
  2. How can students update/edit their annotations outside of class?
  3. Is a lightweight interface needed, say for mobile devices? E.g. even if the slide cannot be view on a mobile phone, the student may still be able to add an annotation.

The website will maintain annotations from all students, and therefore can allow students (and lecturer) to see/edit annotations of other students. Hence you will need to consider:

  1. How to control the privacy of annotations? E.g. specifying who can view your annotations
  2. How to control editing of your and other peoples annotations?
  3. Can the lecturer delete annotations?
  4. Can a new annotation be broadcast to all students immediately?

Finally, you may add extra features to the website that support in-class learning and feedback. Some ideas include:

  1. Simple voting interface on each slide. E.g. Understand or Don't Understand. Students click on the appropriate button and that information is recorded by the website for feedback to the lecturer (either after the lecture or in real-time).
  2. Anonymous questions. A student types in a question, and the lecturer is alerted.
  3. Links and attachments. Allow students/lecturer to add additional links or documents for further information on a specific part of a lecture.
Resources
Related Work: Moodle | BigBlueButton
Technologies: SVG | HTML5 | SMIL

Coloured Petri Nets for Protocols

Group Members
Panithi Deepalard, Maneerat Phongsuteetaworn, Pakamas Theerachai
Year
2010
Keywords
theoretical computer science, formal methods, network protocols, functional languages, XML/XSLT
Project Overview

Coloured Petri Nets are a formal language for modelling distributed systems. Although they have a formal mathematical basis, in practice the graphical form is commonly used. That is, people create a graphical model of a system (similar to UML, state transition diagrams) and then analyse the behaviour and performance of that system. They have been widely used in analysis of Internet protocols, distributed algorithms and software, business processing modelling, transportation systems (such as trains), manufacturing and embedded systems, as well as biological systems.

A project group last year developed a CPN of a protocol for in-vehicle communications, publishing a paper at an international conference. There are some common ways for modelling different protocols in CPNs. In this project you will develop tools to support the modelling of protocols in CPNs, with the goal of automating the modelling process. After learning about Coloured Petri Nets and related tools (CPNTools and ASAP) you will have several tasks:

  1. Write software that automatically converts a state-table based description of an Internet protocol into a CPN of that protocol. As CPN Tools uses an XML format for its files, this will involve applying XSL Transmformations.
  2. Develop CPN models of common protocol mechanisms, such as retransmission or fragmentation, that can be re-used for specific protocols.

This project is suited to 2 or 3 students who are interested in learning something new. The new knowledge is excellent for students interested in studying a Masters (e.g. in Embedded Systems at SIIT/TAIST or in theoretical computer science in one of many European universities in this field).

Resources
Related Work: PetriWeb Technologies: XML, XSLT, CPN, CPN Tools

Vehicle Monitoring/Emergency Application

Group Members
Wathit Boonpluk, Jirarit Chantipporn, Sarun Boonkoonsak
Year
2010
Keywords
video processing, mobile phone application, emergency services, GPS, car applications, OBD-II, wireless communications
Project Overview

Last year a group developed an application for monitoring vehicle data (such as location via GPS, speed via OBD and surrounds via webcam) and in the case of an accident, sending selected data to an emergency services dispatch centre (for delivery to police, ambulance, fire, insurance). This project will continue in the same application. You have the option of improving the existing application (e.g. adding the ability to do intelligent processing of the video so that it can be transferred via GPRS/3G, collecting real vehicle speed data via a OBD-II device) and/or porting the application to a mobile platform (e.g. implementing the features on a mobile phone, so it no longer requires an in-vehicle laptop).

Resources

Wireless Mesh Networks

Group Members
Maythavute Poonpanitch and Natt Kitsawatpaisan
Year
2009
Keywords
wireless LAN, hacking, open source, network design and test, video applications
Project Overview

A wireless mesh network (WMN) comprises wireless routers that together form a network to provide Internet connectivity to mobile/fixed hosts. The wireless routers are normally fixed in position, but some may be mobile. This project involves deploying an experimental wireless mesh network and testing applications on the network.

Wireless mesh networks are used in scenarios when a wired backbone is unavailable or prohibitively expensive. Compared to wireless LAN hotspots and cellular networks, the access points/routers in a WMN do not require wired network connectivity - they forward traffic wirelessly towards a special gateway with (normally wired) connectivity to the Internet. An example application scenario is a community/village network where high speed Internet access is unavailable to all users. With 10's of wireless routers deployed within selected homes/businesses, 1 or 2 of which also have wired connections, all users within range of the wireless routers can access the shared wired Internet connections.

SIIT has about 40 Linksys WRT54GL wireless routers. The initial task of this project is to configure these routers using OpenWRT (or similar) so that WMN routing protocols such as OLSR can be used. The routers must then be deployed across SIIT Bangkadi campus to establish an experimental WMN testbed. Once deployed and tested, the next task is to experiment with different applications and configurations of the test-bed, analysing the performance limits of the network. An interesting application is the delivery of video over the WMN to multiple users (e.g. multicasting a DVD, streaming Youtube videos).

Two applications of interest for the WMN are:

  1. Network Management Application: a graphical interface to allow a network manager to view the network topology, and make changes to the wireless routers remotely
  2. User Access Application: end-user application to allow people to register and log-on to use the network.

Each group will be responsible for one of the applications.

There are various other tasks that could be completed using the testbed WMN. In addition, simulation analysis of the network (using OPNET Modeler) could be performed to consider scenarios with more than 40 nodes. The exact set of tasks will be agreed upon at the start of the project. Depending on the tasks chosen, there is a good chance to produce results that can be published in an international conference paper.

Links

Coloured Petri Net Modelling and Analysis of Distributed Systems

Group Members
Rattapat Taburan and San Choosang
Year
2009
Keywords
theoretical computer science, simulation, formal methods, network protocols, functional languages, something different!
Subversion (SVN) Repository
https://sandilands.info/viewvc/Projects/Autosar/
Project Overview

Coloured Petri Nets are a formal language for modelling distributed systems. Although they have a formal mathematical basis, in practice the graphical form is commonly used. That is, people create a graphical model of a system (similar to UML, state transition diagrams) and then analyse the behaviour and performance of that system. They have been widely used in analysis of Internet protocols, distributed algorithms and software, business processing modelling, transportation systems (such as trains), manufacturing and embedded systems, as well as biological systems.

In this project you will:

  1. Learn what are Coloured Petri Nets
  2. Learn the software tools for creating models, such as CPNTools and ASAP
  3. Create a model one or more distributed systems (such as BitTorrent or other Internet protocols)
  4. Analyse the functional and performance aspects of the distributed system

This project is suited to 1 or 2 students who are interested in learning something new. The new knowledge is excellent for students interested in studying a Masters (e.g. in Embedded Systems at SIIT/TAIST or in theoretical computer science in one of many European universities in this field).

Links
Networks Wiki (login required)

WiFi-based Vehicular Internet Access

Group Members
Pornthep Chutinantvarodom and Sararat Klinkhajorn
Year
2009
Keywords
wireless LANs, mobile Internet, vehicular networks, 4G, web applications
Project Overview

Develop a web-based interface for car management and entertainment applications. The applications will be controlled by a wireless router inside the car. You will use a Linksys WRT54GL wireless router, running OpenWRT and with additional storage attached (e.g. for movies, music, maps). The wireless router runs a web server. You will develop the web interface (and backend applications) to allow users to access a variety of applications within the car, e.g.: play music and videos; access maps; view information about the car (fuel usage, distance). The wireless router can make use of an external EDGE/3G wireless card for Internet access, or use concepts of Delay Tolerant Networks (see Cabernet from MIT as an example of WiFi in the car).

Links

In-Car Mobile Internet

Group Members
Kajornpong Poolsawad, Shivnetra Singhsumransukh and Piraphol Kengsakul
Year
2008
Subversion (SVN) Repository
https://sandilands.info/viewvc/Projects/InternetCar/
Project Overview
This project involves building a network that will provide Internet access to vehicles (cars, busses), and developing an in-car Internet application. The project will demonstrate future mobile Internet technologies in the following scenario: vehicles move through a city-wide wireless network (Wi-Fi, WiMax, 3G); each vehicle is equipped with an on-board mobile Internet gateway; devices inside the vehicle (cameras, laptops, phones, entertainment systems) access the Internet via the on-board gateway using Wi-Fi, Bluetooth and Ethernet.

You will use existing open source and low cost software and hardware to build a prototype mobile router and test-bed network. You will then develop an appropriate Internet application that can be used on the devices in the car. Some examples include: reporting accidents to police, insurance companies, repair centres; road traffic monitoring; in-vehicle gaming.
Links
Mobile IP: ACM Crossroads | RFC 3344 | Understanding Mobile IPv6 | Introduction to Mobile IPv6 | KAME (MIPv6 on BSD) | Cisco IOS
NEMO: IPv6 Network Mobility | RFC 3963 | NEMO Platform for Linux

Mobile Peer-to-Peer

Group Members
Thanaphat Limgitnuwat, Srisudarat Srisadee and Peng Zhou
Year
2008
Subversion (SVN) Repository
https://sandilands.info/viewvc/Projects/MobileP2P/
Project Overview
Peer-to-peer applications (BitTorrent, Limewire, eMule, ...) are popular for sharing files between people. However, they are mainly used on PCs. Some attempts have been made to port these applications to mobile devices (e.g. phones). This project will develop a mobile P2P application, where mobile devices share files amongst themselves. That is, a mobile device can transfer files directly to neighbour mobile devices, without connecting to an existing Wi-Fi or GPRS network. The advantage of this is that users are no longer dependant on network operators (TOT, True, AIS, ...). This results in much cheaper (sometimes free) data access, and allows applications to work outside of Wi-Fi or GPRS coverage areas. Example applications include: mobile gaming; social applications (messaging, chat); and event and news notifications. You may choose the Mobile P2P application to focus on.

IP Home Entertainment System

Group Members
Chotika Angsurit, Yanisa Akkarawichai and Nont Posriprasert
Year
2008
Subversion (SVN) Repository
https://sandilands.info/viewvc/Projects/HomeEntertainment/
Project Overview
Lets assume that future home entertainment devices (DVD players, HDD recorders, TVs, MP3 players, digital still and video cameras, gaming consoles, audio systems, etc.) will have an Internet Protocol (IP) interface. That is, the devices have IP addresses, and can be controlled (and in same cases, send/receive data) via an IP network. Your task will be to build an application that controls these devices. To demonstrate this application, you will need to create test-bed network with selected devices.

Travel Blog

Group Members
Athiwat Kshemasanta Na Ayudthya, Kitanan Sirilapphoonphon and Krailada Lamwilaikesorn
Year
2008
Subversion (SVN) Repository
https://sandilands.info/viewvc/Projects/TravelBlog/
Project Overview
Many people maintain a blog about their travels, including holidays, business trips and living overseas. You will develop a web site that will: a) integrate the many desired features of a travel blog into one site; and b) make the blogging process simple to use, especially while away. For the first aim, you need to include features for the planning of the trip, the actual trip and post-trip. Examples include: Planning: Itinerary, budget, bookings, maps, bookmarks of web sites, languages, ...; The trip: blog, photo/video sharing, real-time map, expenses, driving log, ...; Post-trip: reviews, report generation (e.g. expense report). For the second aim, you must develop an easy to use interface. For the planning and post-trip features, a PC-based web interface is recommended. However, while travelling, a much easier interface (e.g via mobile phone) is needed. An example interaction may be: while travelling, take a photo of a location with mobile phone camera, and immediately post that on the web site, with an attached short commentary. The web site may then automatically display your location on a map, update your itinerary etc. You are encouraged to make use of existing web systems such as: content management systems, Google Maps, photo sharing sites, integration with other travel sites. The focus of your project will be integration of these into one web site, and implementing an easy-to-use interface.

SIIT OPNET Analysis

Group Members
Sake Valaisthien
Year
2008
Subversion (SVN) Repository
https://sandilands.info/viewvc/Projects/SIITOpnet/
Project Overview
Create a model of the SIIT network in OPNET IT Guru. Collect statistics from the real SIIT network and use them to determine the appropriate traffic for the OPNET model.
Links
OPNET: OPNET
Packet Capture: Wireshark | tcpdump | SCRUB-tcpdump | Anonymization API | IPSumDump | tcpdpriv

Electronic Voting

Group Members
Kanit Armolwithawat, Thanad Rungrawi and Supaporn Taerungroj
Year
2007
Subversion (SVN) Repository
https://sandilands.info/viewvc/Projects/Evoting/

Online File Storage

Group Members
Nuttapon Pichetpongsa, Phuviwats Leevoraphanchai and Rangsiman Tritripchartsakul
Year
2007
Subversion (SVN) Repository
https://sandilands.info/viewvc/Projects/OnlineFileStorage/

Lab Network Management System

Group Members
Peachanan Rojwongsuriya, Rathanin Wujchalapong and Tavicha Ruangnukulkit
Year
2007
Subversion (SVN) Repository
https://sandilands.info/viewvc/Projects/LabNMS/

3D Action Role Playing Game

Group Members
Ekapop Techateerapreeda and Vorapoj Patamapas
Year
2006

Hanuman 3D Game

Group Members
Natt Leelawat and Krittapong Uaamporn
Year
2006

Return to: Course List | Steven Gordon's Home | SIIT