|
|
T H E · S I T E S · T O · S E E |
|
SCRiTCH's Stuff |
|
Offshore Sites |
|
|
Copyright 2004 Scritch Productions
|
|
 |
[CS186] Databases - DBMS |
Our primary project in cs186 is to create from scratch a fullblown
database. It is a client-server architecture DBMS using TCP/IP for connectivity.
It implements a subset of standard SQL, and B+ tree data storage for the tuples.
Other features include multithreaded, multi-user operation, 2-phase locking, and
rollback/transactions. Implemented in C++.
|
|
[EECS122] Networks - Web Server |
Our project is to write a web server, implementing HTTP/1.0, with CGI
support, and some server "extensions" of our choice, in this case, basic HTTP
auth, CGI POST, and SSI support. Our server is multithreaded, and is fairly platform
independent. It will run in Windows NT/95/98, and various flavors of unix, including
Linux, HPUX, and Solaris. See the "Other
Projects and stuff" section of the webpage for more info and an
executable.
Implemented in C++.
|
|
[CS160] User Interfaces -
Rendezvous Scheduler for Palm Pilot |
We developped for the PalmOS platform for the main project in this class.
Our group's product was an interface implementation of a group meeting scheduling
solution. The primary challenge was to work within the more than somewhat weak API
given for PalmOS development. Along the way, we also used Visual Basic to prototype
the interface. It ended up being a wizard-like interface.
Our project was voted as one of the top 3 class projects that semester, and we *almost*
won PalmPilot III's for being the best. So close, yet, so far. Implemented in
C.
|
|
[CS169] Software Engineering -
Naval Wars! |
Naval Wars! is a game based loosely on Battleship (TM). This class
focussed more on the process of developping a major software project from spec design,
through product/object design and implementation, and finally through maintenance.
Although most of the class opted to use Java, our group went with Visual C++ and MFC, due
to the more powerful interface elements. Ours was the only project with real
graphics and a nice interface. See the "Other Projects and stuff" section of the webpage for more
info and an executable.
|
|
[CS184] Graphics - SLIDE,
Scorpi-Eye |
SLIDE is a rendering system that we used to learn how various parts of a
standard rendering pipeline are implemented. During the semester, the TA would
remove various parts of the system and have us implement them. This included modules
such as lighting, OpenGL rendering calls, rasterization, clipping, backface culling, etc.
At the end of the semester, our project was to make a scene that included a dynamic
scene (ie one that moves) with the SLIDE scene description language that involves a bug or
insect of some sort. Ours was to be ScorpiEye, a scorpion with an eye on its tail.
To see screen shots and to download the scene, and for links to the SLIDE viewer,
see the "Other Projects and stuff"
section of the webpage.
|
|
[CS164] Compilers - Java
derivative compiler |
The compiler we wrote was for a Java sublanguage that the professor
dubbed "Jo98" (ie a cup o' Jo). We used JLex and JavaCup (the Java
versions of Lex and YACC) to create a lexical analyzer and parser, wrote the rest in plain
Java (ie semantic checker and code generator). It produced object binaries that
could be run by a standard Java VM. Implemented in Java
|
|
[CS150] Digital Logic Design -
VidTracer |
We used Xilinx FPGAs as the main programmable processor for this project,
along with a few other parts such as a small memory chip, A/D converter chip, and mini
camera. Logic design was done with Viewlogic design tools. The idea is that
the hardware takes frames from the camera and finds the brightest spot on the frame.
This spot (and the image itself) is transmitted via a serial link to a PC, where a
program interprets the data that is sent (a display of the image and/or a dot representing
the brightest spot). Here is a screen shot of the finished project looking at my partner
and myself:

|
|
[CS162] Operating Systems -
Hacking FreeBSD |
I was lucky enough to have taken the OS class during the only semester
that was taught with FreeBSD instead of Nachos. We went in and changed several parts
of the FreeBSD kernel, including adding semaphores and condition variables via system
calls, changing the scheduling system to a lottery algorithm scheduler, adding file
sharing checks to the filesystem, and writing a client/server battleship game using
standard BSD sockets.
Implemented mostly in C.
|
|
[CS61B] DataStructures - Fish n
Sharks |
This program is basically a modified version of the ancient algorithm
called "Life". Fish behave similarly to the "cells" in
"Life", ie they grow if they have a certain number of neighbors, but die if they
have too many neighbors (crowding) or not enough (loneliness). The variation is that
sharks swim around and eat adjacent fishes and that the ocean size is unlimited in all
directions. The display of the ocean was a grid using a standard XWindows API
package. Implemented in C++. |
|
|
|
|