Capstone Projects
I am offering various capstone projects with short
descriptions below. Students who sign up for a
capstone project are expected to meet weekly with
me. Students will be graded based on code quality,
software engineering practice, documentation quality
and overall productivity.
In addition to the usual goals for capstone projects
-- learning of good software engineering practice by
developing a larger piece of software -- the listed
projects also always try to satisfy a need for free
software as perceived by the instructor. The reason
for this is that such a need suggests the potential
for the students to experience interactions with
real users. Ideally, students will continue to work
and maintain these projects long after the capstone
project is over, adding to their experience. If these
projects are successful, the hope is that they may
turn into true capstones in the student's resume.
Project suggestions
- RTF parser (C)
- Implement a parser for the RTF file format in C
with the goal of extracting metadata embedded
in the document. The resulting code must be
safe, fast and functional. If successful, the
project could become part of GNU libextractor.
This is a project for a single student.
- PDF parser (C)
- Implement a parser for the PDF file format in C
with the goal of extracting metadata embedded
in the document. The resulting code must be
safe, fast and functional. If successful, the
project could become part of GNU libextractor.
This is a project for one or two students.
- Fast region algebra for X10 (X10)
- Regions are sets of indices, where an index is the
domain of an array. Regions are a useful construct
in parallel programming. A region algebra is used to
specify and manipulate regions. Common operations
include union, intersection, shifting, projection and
iteration. The goal of this project is to implement
a region algebra in X10 with focus on performance and
expressiveness (naturally the implementation must also
be correct, tested and documented).
This is a project for one or two students.
Christian Grothoff
Last modified: Sat Apr 21 18:23:24 MDT 2007