Spring Semester 2002
Section A - MWF 3:00 - 4:00 PM - Room 101
College of Computing
Section B - MWF 4:00 - 5:00 PM - Room 102
College of Computing
INSTRUCTOR:
Allison Elliott Tew
OVERVIEW
General Catalog Course Description:
Prerequisite(s): CS 2340
Intensive
team-based project experience in the specification, design, and implementation
of software and/or hardware for subsequent use in research, industry, and
teaching.
Course Objectives:
Students will
develop and demonstrate their abilities to work in a team on a substantial
software project. There are three conceptual parts to the project efforts
expected of each team:
| Week | Date | Topic | Deliverable Due | Teams |
|
|
|
Course Overview | ||
|
|
|
Course Overview (Take 2) | ||
|
|
Projects Overview | |||
|
|
Introduction to Effective Teamwork & Project Team Formation | |||
|
|
|
Software Lifecycle & Requirements Elicitation (PPT) | Team Information | |
|
|
Requirements Analysis & Projet PLan Overview (PPT) | |||
|
|
No class | |||
|
|
|
Holiday! | ||
|
|
Design Overview (PPT) | |||
|
|
No class | |||
|
|
|
No class | ||
|
|
Midterm Presentation Preparation | Requirements Document & Project Plan | ||
|
|
No class | |||
|
|
|
No class | ||
|
|
|
No class | ||
|
|
|
No class | ||
|
|
Midterm Presentations | Design Document | Section A - 3:00: 2, 3, and 5 Section B - 4:00: 11 and 12 | |
|
|
Midterm Presentations | Section A - 3:00: 4, 7, and 8 Section B - 4:00: 9 and 10 | ||
|
|
|
Midterm Presentations | Section A - 3:00: 1 and 6 | |
|
|
No class | |||
|
|
No class | |||
|
|
|
Holiday! | ||
|
|
|
No class | ||
|
3/13 |
Testing Overview | |||
|
|
3/15 |
No class | ||
|
|
|
No class | ||
|
|
|
No class | ||
|
|
|
No class | ||
|
|
|
Final Presentation Preparation & Course Wrap-up | ||
|
|
|
Final Presentations | Section A - 3:00 1 and 8 Section B - 4:00 9 and 10 | |
|
|
Final Presentations | Section A- 3:00 3 and 7 Section B - 4:00 11 and 12 | ||
|
|
Final Presentations | Section A - 3:00 4 and 5 | ||
|
|
|
Final Presentations | Section A - 3:00 2 and 6 | |
|
|
Demo and Customer Delivery | |||
|
|
No class | |||
|
|
|
Finals Week (No Exam) |
Given that your team number is N, you have the following resources available:
| Team # | Members | Project | Faculty Advisor |
|
|
IE Advising Project | Ed Omeicinski | |
|
|
MyCoC Web Project | Greg Turk | |
|
|
Aware Home | Gregory Abowd | |
|
|
CHMSR Web Project | Chris Shaw | |
|
|
CoC Advising Project | Allison Elliott Tew | |
|
|
QoS Wireless Project | Santosh Pande | |
|
|
My Radio | Ken Mackenzie | |
|
|
High School Student Organizations Project | Yannis Smaragdakis | |
|
|
Moose Crossing | Amy Bruckman | |
|
|
Karsten Schwan | ||
|
|
Jim Xu | ||
|
|
Mike McCracken |
In a mobile network, when user `roams' from one zone to another, the conditions of the network changes. This in turn could affect the quality of services offered since certain services could only be expected under certain types of conditions. The goal in this project is to be able to model the behaviours of different services under varying conditions. We will use a graph based approach for this focussing on connectivity of the network. We will first generate a support for modelling different service patterns that get affected due to connectivity. We will then develop strategies to infer connectivities under varying degrees of mobilities. We will finally develop an adaptable strategy that `re-routes' services anticipating connectivities. The complete simulator will be based on graph algorithms and efficiency issues such as quick deduction of service distribution will be investigated. The work involves developing a basic graph based implementation first and then devising interesting, fast (but not necessarily optimal) algorithms for rapid service adaptations described above.
MOOSE Crossing is a text-based virtual world (or "MUD") for kids, which
includes its own programming language and environment. To connect, kids
use the MacMOOSE or WinMOOSE client programs. WinMOOSE was created as a
successful senior design project in 1998. But bit rot has set in: the
Macintosh version won't work with OS X, and the Windows version won't run on
Windows 2000. Instead of updating these C++ programs individually, we
would like to reimplement the programming environment in Squeak, which works
cross-platform. In addition to helping kids learn on MOOSE Crossing, the
client should also work as a general-purpose text MUD client.
The OnRAMP project is being developed by OIT for the faculty and staff of
Georgia Tech that use the RealNetworks media server. This project will
provide a web interface to some of the services built in to Real Server
8. Currently only the administrator has access to all functionality
built into the server. Obviously this access cannot be given out to
every professor. Tailoring each professorâs account by hand is not a
reasonable solution either. So we will build a back door of sorts that
will allow professors to manage certain aspects of security and statistics
gathering that only apply to their individual account. Students will use
PHP, javascript, Perl, and an SQL database to gather data for statistics on
usage of media assets. They will also provide methods for allowing
professors to add security to their media assets.
This project is a continuation of a previous semester project that was
building a system to allow students to get some of the basics of academic
advising (such as Major GPA, degree requirements, and graduation projections)
handled by an interactive system without having to see an advisor.
With faculty and CNS guidance, develop automatedpublications pages for
technical reports and papers for the College of Computing.
The goal of this project is to create a set of C++ templates to assist in
the creation of simulations systems. The dsTL would use standard
interfaces for distributed simulation, and generalize the local simulation
code to support various complex features and operations (e.g. save state,
restore state, roll-back, transfer control). The final product would be
the library-code, header-files, (verysimple) documentation, and a simple
example simulation.
XML is still gaining in popularity. This project is aimed at
producing a database that is so simple to use, even novice users will have no
difficulty. The concept is to simply use a http-post command to "drop"
an
XML file into a database server. The server would return the URL
of the data, where it can be accessed, updated and deleted. This is a
web-intensive (http server) project, suitable for people who have
already
done basic work with the http protocol, and are familiar with XML.
This project is all about user-interfaces. One of the problems that
application designers face is creating a cool front end to a boring
process. This project confronts that problem in the area of network
design. The primary product will be a Directed Graph Network
Interface Toolkit (DaG-Nab-IT). The application will be an extensible design
kit for drawing, manipulating and storing network topology. There are
two basic concepts to work with: nodes and links. The application will
allow users to create nodes on a canvas, link them together, and manipulate
the drawing to make it pretty (or easier to understand). The application
should also allow for import and export of information (probably XML),
and
show allow for user-defined extensions to the basic node and link objects.
This project is a theoretical intensive application for "real" computer
scientists (programming majors need not apply). The application area is
distributed systems. In a distributed computer system, a network is
used to pass information (data) between processes (CPUs).
Synchronization of processes is a well-understood problem and many approaches
have been developed. In some distributed processing
models there is
notion of a logical network of logical processes (e.g. an on-line game).
In many cases, there is no relationship between the physical distance between
CPUs and the logical distance between logical processes (e.g. Players may be
close in the virtual world, but far apart in the real world). The
problem is this: how can we understand the limitations in the propagation of
events in the logical world? This project has two parts: 1) develop a
descriptive technique of the logical and physical distances in a distributed
processing environment, 2) develop a simple way to show the disparity between
the two during the execution of a distributed computation. Remember, the
logical and physical topology of the system may change during the
computation. The challenge will be in monitoring and depicting this
dynamic computational system.
Requirements Document
Details: TBA
Project Plan
Details: TBA
Design Document
Details: TBA
Midterm Presentation
These presentations are
meant to provide a progress report and to make sure that the team, their
advisor, and the course coordinator have a clear view of the current status and
plans for the project. Each presentation should include at
least the following components:
Final Presentation
Each presentation should
include at least the following components:
Delivering the Project to your Customer
The final requirement for
the semester includes scheduling a meeting of the whole project team with the
customer. Attendance by the faculty advisor at this meeting is strongly
encouraged, but not required. The agenda for this meeting should include:
Evaluations
Each team member will complete a set of self and peer
evaluations for each team member. You will be asked to evaluate the effort
and performance of the individuals in your group to both the instructor and your
faculty advisor. This feedback will be a significant factor in determining
an individual's grade.
Georgia Tech
Disclaimer
This page is maintained
by: allison@cc.gatech.edu
Last Modified on
Friday, 11 January, 2002.