I have many interests in and around the area of Computer
Science. If you are interested in working with me on a Senior
Project or Master's Thesis, check this
list and see if you have interests in common with mine.
I am also happy to advise students on
entirely new topics,
but you need to educate me during your project or thesis after you
convince me that the subject is a worthwhile pursuit.
Once you have made a decision that you'd like to work with me, you
must write a proposal for my
consideration. The main vehicle for this is to take a course with
me in a relevant subject area or to take a directed study course during
the term before you intend to formally begin your Senior Project or
Master's work. Please review and consider my
Senior Project
Proposal or my
Master's Thesis
Proposal forms to begin making your plans and to guide your
discussions with me.
Please check my
research
page and read a bit of my research interests and note my
style. It is good to know something about me and how I write when
you approach me regarding a thesis or project.
I am especially interested in the following areas of
advising:
Software Requirements:
- Software Requirements
- Safety-Critical Software Analysis (Leveson)
- Requirements Analysis as a Social Activity
- Legal Constraints as Software Requirements
- Software Requirements and Legal Contracts
Software Design:
- Software Design "in the large" (Winograd)
- User-Centered Design
Legal Issues and Software:
- Enfoceability of the GPL (GNU Public License)
- Shrink Wrap Licensing (as Agreement)
Small Satellites:
- Predictable de-orbiting CubeSat class Satellites
- Autonomous Networks through Constellations of Small Satellites
- Small Satellite Communications Subsystems (Command and Control)
- Ground Station Networks for Small Satellites
Software Engineering Education:
- Teaching Computing Ethics using Laboratory Courses
- Software Engineering Licensing Issues (and Curriculum)
Page last updated: March 2005