CASE3/CASE4 Project Ideas

If you are interesed in the following project ideas, or any related ideas, please contact me.

Clothing-based Wearable Technology (CASE3 & CASE4)

How about developing some wearable technology that can be incorporated into clothing. The Flora system is an Arduino-based kit that has:

  • A Flora board (4.5cm diameter, 4.4 grams Arduino-based processor baord).
  • A Flora wearable GPS module.
  • An acceleromter/compass sensor.
  • A Lux sensor.
  • Tactile switch.
  • Infrared LEDS.
  • 8 programmable LEDs.
  • Battery holder and conductive thread.
What would you like to do with this kit? If you add in a Bluetooth module you can build a system that works in conjunction with your smartphone. For example a cap with 2 programmable LEDs that helps you follow a direction set from your phone's map application.

Smart Braclet (CASE4)

Design and develop a prototype for a smart braclet that connects with your smartphone. This is mainly a software project but there is a little hardware (probably Arduino based). The goal is to develop the project in "breadboard form". If you are successful and there is time we can look at producing an actual smart braclet.

3-Address Code Interpreter (CASE3)

Design and develop an interpreter for the 3-Address Code Intermediate Representation commonly used in compilers. The interpreter should be able to recognise all forms of 3-Address Code, human-readable, quadruples and indirect triples. Students can take the project a step further by adding a symbolic debugger for 3-Address Code.

A First Programming Language (CASE4)

Using JavaCC and LLVM, the goal of this project is to design and develop a programming language and its compiler that is designed to teach programming. This language does not need all the features of a professional language. Its syntax needs to be simple and clean, allowing students to focus on the fundementals of programming.

Fuzzy Logic Toolkit (CASE4)

The goal of this project is to write a fuzzy logic toolkit that will allow the user to define fuzzy sets and perform fuzzy inferencing in a language defined by you. The toolkit will contain a compiler that will generate either: 

  • C/C++ code that can the added to an application; or 
  • object code that can be linked into an application. 

Real-time systems simulator (CASE3 & CASE4)

The goal of this project is to produce a system for specifying and simulating a continuous/discrete real-time system. The elements of the system will include A/D and D/A elements through which a user's program can interact.

Computer Go (CASE3 & CASE4)

This is a tough demanding project with plenty of room for adding your own touch. Standard game tree search algorithms don't fair well due to the large branching factor. Since tackling the whole of the game of Go would be too much, how about writing a program to analyse "Life and Death" problems. These are problems were small areas of the Go board are analysed to determine if a given configuration of stones can survive (Life) or will be captured by the opponent (Death).

Heads-up Computer Poker (CASE3 & CASE4)

This is a demanding project with plenty of room to experiment with different approaches (neural nets, rule-based systems, Markov models, fuzzy logic, etc.). Heads-up Poker is one-on-one poker in which the blinds (mandatory bets) increase as the games progresses. Sitting still and waiting for a good hand is generally not a good strategy. You need to use the information contained in your opponents betting to determine how strong their hand is. Of course, they could be lying (bluffing or sandbagging)!

Neural Network Bridge Player (CASE4)

Neural networks, particularly Temporal Difference nets, have been very successful in learning how to play backgammon at the highest level. Is the same thing true for card playing in bridge? This project will try it. If you are making great progress, why try tackling bidding as well?