1. An "app" for a walking tour of Kingston A local historian has been writing walking tours of heritage streets in the City of Kingston. These tours are described on paper, which is retrictive.The goal of the project is to explore the use of modern Smartphone technology to make descriptions of walking tours more user-friendly and interesting. More specically, the project will focus on the development of a smartphone application for a currently written walking tour documenting life in Kingston during the Great War, 1914-1919. The application is expected to help guide the user along the tour by, e.g., monitoring the user's progress and directions, and make the tour more engaging by, e.g., showing relevant photographs or playing sounds. The possibility of the strategic placement of advertising (e.g., to a restaurant or hotel nearby) is to be explored as well. This project is most suitable for students interested in programming languages and mobile computing devices. Interest in the history of Kingston would be a bonus. | |||||
2. Implementing a formula evaluator
The first assignment
in CISC422
involves the implementation
of a formula evaluator. The point of the assignment is
to give students a better understanding of
recursion, induction, and evaluation.
Moreover, the assignment involves the
use of a parser generator.
On top of all this, the assignment could also provide
a very good illustration of two of the most important
software design patterns: Composite and Visitor.
However, in its current form, the assignment doesn't
support this.
The goal of the project is to extend the provided assignment
such that it supports the Composite and Visitor pattern
and such that it can be used to illustrate these concepts.
This project is most suitable for a student with interest
in programming and design patterns.
3. Experimentation with kiltera
The goal of this project is to implement some of the common
algorithms in mobile and distributed computing (e.g., mobile
leader election) as case studies in kiltera. These case studies
would be integrated as examples into the kiltera documentation.
Moreover, the work would enhance our understanding of the
strengths and weaknesses of kiltera.
This project is most suitable for students interested in
programming languages and mobile and distributed computing.
4. Building a Semantic Web Site
The semantic web promises to smarter, more effective search
capabilities because search engines would be capable
of, in some form, understanding the "meaning" the
content of a web page. Instead of having to rely on
search strings occuring verbatim on a web page as
with a standard search, a semantically enabled search
would be capable of determining whether the meaning
of the web page content matches the search string.
While lots of supporting technology has been developed,
the semantic web is still not yet a reality.
The purpose of the project is to experiment with this
technology and to develop an understanding of what it currently
takes to build a semantically-enabled web page.
To this end, the student will be asked to
independently acquire the necessary background
(e.g.,
this page seemsm to provide a good starting point),
and then to experiment with building small
semantically-enabled web pages of his/her choice.
This project is most suitable for a student with
interest and background in web development.
5. Evaluation of a State-of-the-art Collaborative Software Development Environment
Collaboration of possibly geographically highly distributed developers
is an increasingly important feature of industrial software development.
For instance, General Motors has software developers in three
continents (North America, Europe, and Asia).
Many tools exist to support collaborative development. One of them is
IBM Rational Team Concert (RTC)
which is based on IBM's popular
Jazz platform.
The goal of the project is to evaluate RTC and to determine
its capabilities, strengths and weaknesses.
This project is most suitable for a student with interests
in software development and supporting tools.
6. Analyzing Concurrent Java Programs with Java PathFinder
The goals of the project would be to evaluate JPF by
applying it to some larger pieces of Java code,
and to experiment with different customizations
and uses.
The project is most suited for a student with
interest in concurrent programming and
software quality assurance.
7. Generating concurrency control using Discrete Event Systems
In recent work, we have begun to develop
a prototype implementing generation of
concurrency control code using DES.
However, this prototype is incomplete
and using it requires some, unnecessary
"hand-holding". For instance, the
injection of the control statements
needs to be performed by hand.
The goal of this project is to extend
the prototype by implementing the
automatic injection of the generated
control code into the Java source.
To this end, the use of techniques
from aspect-oriented programming
may be useful.
The project is most suited for a student with
interest in concurrent programming, control theory,
or aspect-oriented programming.
|
Last modified: Thu Sep 20 21:43:41 EDT 2012