GRADUATE PROJECT WORK (selected)
Operating Systems
System Shell Project: Design and implementation of a C program (on Unix)
that serves as limited replacement for the Unix C shell.
Design and Implementation of a simple file transfer program (Data link, Network, Transport layers) using Turbo C++. The project involved programming the UART and PIC 8259.
Microprocessor
Logic Analyzer: Design and implementation of a computer system that contains a MC68HC11, SRAM, and EPROM. The software developed includes a Monitor program that allows the testing of the system and application software that samples the input signals and sends the samples to a program running on PC for display. Communications take place through USB port (application) and serial port (Monitor).
Concurrent Software Design
Forest Fire: Design and implementation of Forest Fire Simulation with
multiple processes computing the simulation in parallel using C (Unix).
The processes were created as a chain with bi-directional communication
between processes using unnamed pipes.
Tic-Tac-Toe: Design and implementation of a multiple client,
multi-threaded Tic-Tac-Toe in Internet domain using C (Unix) and Socket
programming.
Distributed Computing
Whiteboard: Implementation of a Client – Server White Board in a
distributed environment. Four different versions of the Whiteboard were
developed using C/RPC (Unix), Java/RMI (Linux), CORBA (Linux - using
omniORB with IDL to C++ mapping) and JINI & JavaSpaces (Linux).
Note : These are
four different, extensive projects designed and implemented over a span of
six months and two graduate level courses. Looking back, installation of JINI
and JavaSpaces was in itself a huge undertaking. It took a lot of time just
to get a JINI "Hello World!" up and running. Lets not even talk about C/RPC.
Data Mining
Implementation of the Frequent-Pattern tree (Association) Mining method
presented in the paper “Mining Frequent Patterns without Candidate
Generation” (Han, Pei et al. - 2000) using C++ (Unix). The project
included data preparation.
Evolutionary Computation
1.
Implementation of a Genetic Algorithm based solution to the knapsack
problem using VC++ (Win NT).
2.
Implementation of a Genetic Programming based solution to a two-class
pattern recognition problem using VC++ (Win NT).
Software Engineering
1.
Object-Oriented Analysis, Design and implementation of Train Scheduling
System using C++ (Unix).
2.
Object-Oriented Analysis, Design and implementation of Virtual Hockey
League using C++ (Unix).
3.
S/W Architectures and Design Patterns: Object-Oriented Analysis, Design
and implementation of TrafficIntersection Simulation based on
Implicit-Invocation architecture using Java (Unix) and well-known design
patterns.
4.
Object-Oriented Analysis, Specification, Design and implementation of
The Elevator Simulation using Java (Unix). The Graphical User Interface
for the project was developed using AWT.
5.
Object-Oriented Analysis, specification, Design and implementation of
The Theme Park Train Simulation using Java (Win NT). The Graphical User
Interface was developed using AWT and Swing.
Internet Security
Projects included Setting up a router(Linux), Studying the boot-up process(Linux),
Configuring a system properly(Linux), Studying a Sniffer (Ethereal), TCP
exploits (sniper, hijack, etc.), Port Scanning, Packet filtering, Buffer
Overflow. Most work done on Linux.
Web Applications
Design and Implementation of a web-based java browser using PHP and Apache Web server (Unix).
Access and Visual Basic
1.
Design and implementation of a student database using Access
(Switchboard as Front end).
2. Design and implementation of an oscilloscope screen using Visual Basic.
Java Parser: Design and implementation of a parser for a simple subset
of Java programs using Java (Unix).
Scheme: Design and implementation of verbalize that verbalizes a given
number using MIT-Scheme(Unix).
ElizaII: Design and implementation of ElizaII– a Natural Language
Processing program using lisp (Unix).