[Skip Navigation] [Text Version] [Remove Frame] [Home] projects Mon Sep 25 15:03:39 PDT 2006

Contents


    CSCI690 Project ideas


    (PSP Plugin for Eclipse): Develop, install, and test a Plugin for the popular Eclipse integrated development environment that integrates PSP into our student's software development process. This project implements proposals that came from Paul Conrad's thesis in 2006.


    (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:

  1. http://csci.csusb.edu/dick/maths/ Take one of these pages that mentions one or more algorithm and implement 1 or more applets that allows Internet users to carry out calculations based on algorithms mentioned in the page -- for small amounts of data.


    (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:

  2. with file; do commands; done At any time only one BASH script can be locking an file. When one locks it, other must wait for it to terminate (or be interrupted).


    (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.

  3. CR::="Computer Reviews", [ http://www.reviews.com/ ] and [ browse_reviewers.cfm?reviewer_id=115728 ]

End