CS 401/402 Computer Science Senior Project

Below are project ideas appropriate for a Senior Project. Interested students should contact me.

Partial Evaluation

Implement an online partial evaluator such as this one, and an offline partial evaluator such as this one. Evaluate via several applications.

Pattern Mining

Examine Java library to find the uses of design patterns that utilize new language features.

Online Compiler

Develop a web-based compiler and a debugger from C to VerySimpleCPU.

Arduino-like IDE for VerySimpleCPU

Extend Arduino’s IDE to be able to develop and execute C programs targeting VerySimpleCPU on an FPGA.

Micro-event based Programming

Develop a programming environment aimed for use by novice programmers where programming will be done by defining micro-events (such as a variable being incremented) and associating actions with those events.

Sparse Matrix-Vector Multiplication Benchmark Library

Design and implement a benchmarking software for the Sparse Matrix-Vector Multiplication (SpMV) problem that unifies various CPU and GPU-based SpMV methods.

Program Optimization with Squid

Implement and experimentally evaluate staged optimization for various applications using Squid.