Graduate Course Work

Sept.   1999 -
Dec.    1999

Multi-Media Systems
Project: Mars Explorer: A Collaborative Learning Environment in VR

  • Goal of application is to teach children in the 10-12 age group about scientific inquiry through data collection, sample spaces and clustering
  • Client/server OO application in C++ based on Tandem
  • Lead programmer in a group of four

Sept.   1999 -
Dec.    1999

Advanced Topics in Software Engineering
Project: A Collaborative Projectile Simulation

  • Goal of application is to demonstrate interaction and physics based behavior modeling in Virtual Reality
  • Client/server OO application in C++ based on Tandem

Jan.    1998 -
Dec.   1999

Virtual Reality
Project: Tandem, an OO Framework for Collaborative Virtual Reality

  • Team leader and Chief architect for a group of 6
  • Domain analysis of Collaborative Virtual Reality
  • OORA, OOD employed UML and round-trip engineering in RationalRose
  • Developed using C++ and Performer on the IRIX platform

Jan.    1999 -
May    1999

Software Engineering Environments
Project: IdeaPool: A Collaborative Brainstorming Tool

  • Team leader for a group of 5
  • OORA, OOD employed UML and round-trip engineering in RationalRose
  • OOP using JDK 1.2 and Java Swing on Solaris, IRIX and Linux platforms
  • Client/Server distributed application

Sept.   1998 -
Dec.    1998

Object Oriented Programming Environments
Project: OOD and OOP of Cupboards '98, a recipe and shopping list management system

  • Implemented on the PC platform using both VisualWorks Smalltalk and C++ on Linux
  • GUI implementation used Tcl/Tk
  • OORA, OOD employed UML and RationalRose

Sept.   1998 -
Dec.    1998

Human Computer Interface
Project: Interface design and user testing of a Video Conferencing System

  • Developed in a team of 4
  • User studies consisted of 10 subjects, included video taping of test session and questionnaire

Undergraduate Course Work

Computer Graphics

Project: Flight Simulator

System Software Design

Topics Covered:

Lab Work:
1. find directory-name expr1 expr2; where expr is -ext extension, -usr uname or -slink for a symbolic link
2. pm -tnsecs prog args; a simple process monitor which executes a specified program and monitors the state of all processes resulting from the execution of that program
3. micsh; a micro shell which reads a command line with support for pipes and output redirection
4. A client/server application; implementation of a who server that supports multiple clients and a client that interrogates a list of hosts
5. A message passing and scheduling system consisting of a set of cooperating objects.

Data Communications and Computer Networks

Covered a wide range of networking topics including:

Lab Work:

Design and Analysis of Algorithms
Text: Introduction to Algorithms. Cormen, Leirson, and Rivest. McGraw Hill.

Topics Covered:
Sorting and order statistics Amortized Analysis 
Greedy Algorithms Graph algorithms 
Dynamic Programming NP-completeness and approximation algorithms

Software Engineering

Topics Covered:
Software Requirements Document and Requirements Analysis Formal Specification Methods
Software Engineering Principles and Qualitative Requirements Software Verification and Testing
Software Process Models Software Reliability and Quality Metrics
Software Design  

Project: Discrete Simulation of an Elevator

Major Computer Science Project (6 credit hours):


Page 1