Portfolio
Michael has also worked on several small projects which
aren't solely, or even necessarily primarily, code. A lot of
the projects listed here are because he did the documentation
for a programming assignment (MP) in ECE 291.
ECE 291 MPs (chronologically)
- Paint
Application - a Fall 1999 MP in which we
concentrated on interrupt and event handling, standard
graphics algorithms. Michael designed and documented this
MP, and coded it as a group effort with the assistance of
TAs,
especially Josh Scheid and Karan Mehra
- Networked
Quake2d - a Spring 2000 MP in which we concentrated
on tiled graphics handling, asynchronous user input, and
networking. Michael wrote most of the documentation and
design, with implementation (and the remaining design
and documentation) by Pete Johnson.
- Outline
Indenter - a Summer 2000 MP in which we concentrated
on control flow and user input/output. Michael designed,
documented, and coded this entire MP.
- Text-Mode
Mines - a Summer 2000 MP in which we concentrated
on interrupt handling and data structures. Michael designed
and documented this entire MP, and coded it with Karan
Mehra's assistance.
- High
Quality Graphics - a Fall 2000 MP in which we
concentrated on antialiasing techniques in fast assembly.
Michael wrote nearly all of the documentation, and also
designed (with reference) and implemented the antialiased
line routine. Pete Johnson did the remaining design and
implementation, which was more of a herculean task than
originally intended.
- Typing
Tutor - a Spring 2001 MP in which we concentrated on
text-mode-video and keyboard interrupt handling. Sadly a
major misdesign on the timer handling (how to handle the 0.2
of the 18.2 ticks per second) is Michael's fault. Michael
designed, wrote the documentation, and did a slight majority
of the coding; the rest was coded by Ajay Ladsaria.
- Financial
Calculations - a Fall 2001 MP in which we
concentrated on numerical methods on a simple data
structure. Michael designed, wrote the documentation, and
wrote a significant part of the code; the rest was coded by
Justin Quek.
- Rational
RPN Calculator - a Summer 2002 MP in which we
concentrated on simple RPN math on a secondary stack filled
with Rational (numerator and denominator) numbers. Michael
designed, wrote, and documented this MP.
- 291Hack
and Graphical
291Hack - a pair of Summer 2002 MPs in which we
concentrated on implementing complicated algorithms that
resulted in a fun text-mode video, and then fully graphical,
version of a "game" related to the cult-classic NetHack. In the
first we implemented shadow maps to determine line-of-sight
visibility, while in the second we moved to Protected Mode
and implemented variable-width font drawing. This was
Michael and Pete Johnson's final ECE291 team effort, with
Pete generously donating his efforts to design our version
of shadow maps, then implement 291Hack, and port the
identical functionality to Protected Mode for Graphical
291Hack. Michael participated in design, wrote
documentation, and coded the remainder of the Graphical
extension.