(SEE3D Software Engineering Exploration in Three Dimensions): Develop programs that translate source code into 3D virtual worlds that can be explored
by a software engineer while developing software. Experiments with
Temporal Maps
-- a novel graphic notation for data, programs, protocols, grammars, etc..
(Dynamic Logos spoof scammers): proof of concept. Show that a complex web
site can protect it's users from scams by continuously changing a logo on
all the pages and all the references to them. This can be combined with
any web-based project.
(formatting with no tears): Develop XML DTDs + Web accessible tools for
writing MS reports & theses. Use LAMP platform for preference.
Output RTF or other printable formats acceptable to Graduate Studies. This
project enhances the work done by Humaira Rahim.
(Java analyst): documentation & calculation with data models: DFD with Data
dictionary and process info, etc, ERD, multiplicity, plans CPM, volumes,
ERD validation, normalization, ...
(Universal Gift Registry): Enable some body preparing for any event:
marriage, birth, 21st, graduation, etc. to record the gifts they would like,
and for friends and relations to choose ones to buy. This could also have
been used by victims of the "Old Fire" to restock their houses.
(Improve my Seminar Web pages): Create an easy to administer
and pleasant to use web site that records CSci dept seminars
and presentations. The current prototype
[ seminars/ ]
has many defects. Some kind of simple content managment system would be good.
(Moodle@CSUSB): Instal, customize, tune, administer and recode
a moodle server
[ moodle.org ]
course management system for CalState San Bernardino. Includes liasing
with the CSUSB Distance LEarning Office.
(Universal Gift Registry): Enable some body preparing for any celebration:
marriage, birth, 21st, graduation, etc. to record the gifts they would like,
and for friends and relations to choose ones to buy. This could also have
been used by victims of the "Old Fire" to restock their houses.
(Intern assistant): Develop a set of web based applications and a data
base to help the
Computer Science Dept run its internship program. It should enable
students to propose an internship, faculty to review and improve the
proposal, and
the
department to approve it. It should help the adviser and the student
to
communicate during the internship. It should also assist in the final
assessment (presentation or report) and the accumulation of an archive
of
internships that have been completed.
(Formal Concept Analysis):
There is a new technique in discrete mathematics called "formal
concept analysis." It shows how to analyze a context relating objects
and attributes into a lattice of concepts that are implicit in the
context. (1) implement a set of applets that would help people apply
the algorithms from this theory to small abstract contexts. (2)
Implement versions of the algorithms as applications that can handle
large data bases. (3) develop and implement versions of the algorithm
that are tuned to run on the parallel processing systems at
CSci.CSUSB.
(Implement Web-based Tools for mathematics and logic): I have a large
collection of pages defining mathematical and
formal logical ideas:
(Tiny Languages): Program 6 tiny languages for cs320/cs620 -- one for
each paradigm:
primitive, structured, object-oriented, modular,
functional, declarative.
(Symphony Page): Explore the use of XML, frames, CSS and java-script
to improve the
Unofficial Symphony page:
[ symphony.html ]
(Master Mind and Cows and Bulls): Develop Java Applet on a web page that applies a
particular heuristic
to the game of guessing a 4 digit number known to the user -- commonly
known as <em>Cows and Bulls</em>. A variation of this game, played
with
colored pegs is called "Mastermind".
(MineSweeper): Explore a Constraint Logic approach to playing the well
known Minsweeper/MineHunt game.
(Graphics): Redevelop my PICT picture drawing system(Circa 1971) as a
Java Applet.
(Parnasian Displays): Develop a software engineering tool that
automatically manages and
displays specifications and implementations in a form that allows
simpler verification and assembly of code.
(MATHS and XML): Design a MATHS XML DTD and implement parser for MATHS
-> XML. Also XML->
XHTML translator.
(Object-oriented Metrics): Develop tools that analyze C++ Source code
and calculate various software
metrics.
(Graphics and Digraphs): Experiment with various ways of automatically
displaying graphs.
(File Locking in UNIX): (1)Develop a Unix command that locks a file,
executes some commands and then
unlocks the file. (2)Modify the Linux Bourne Again Shell (bash) to
include a
new construct:
(AMAS Agile Mathematics Applied in Software): I am willing to be
on any committee where the project promises to have a formal or
mathematical component such as extensive UML, or some symbolic Logic, Discrete or Continuous mathematics.