Computer Science | School of Engineering | UC Santa Cruz
Home | Syllabus | Schedule | Projects | Homework | Grades | Feedback

CMPS 122: Computer Security
Spring 2003

Project Information

Every student in CMPS 122 is required to complete a final project or paper on a subject of his or her choosing. The only requirement for the topic is that it be related to computer security. The project need not involve writing code or running experiments; it can be a more in-depth exploration of a topic covered in class, a review of several technical papers in the field, or a discussion of the ethical and social implications of computer security issues.

List of topics

This is not an exhaustive list of topics—you're welcome to do something not on this list. If you'd like to do this, please talk with me via email or during office hours to verify that your project topic is reasonable.

  • Review several research papers
  • Analyze the security of a particular system or piece of software
  • Propose your own cryptographic algorithm and evaluate it
  • Compare the security or performance of several cryptosystems
  • Evaluate security products (firewalls, software, etc.)
  • Build a secure file system using existing tools
  • Explore ways to write more secure code
  • Investigate issues in
    • Digital rights management
    • The tradeoff between security and privacy in an online society
    • Distribution restrictions for cryptographic algorithms and software
  • Write your own code snippet to compromise (via stack smashing, presumably) an existing program (NOTE: this requires that you have your own, non-networked, computer on which to experiment)

Remember, choosing a topic related to security but not on this list is fine (and even encouraged).

Important dates

  • May 4 (Sunday): one paragraph description of project topic due
  • May 15 (Thursday): plan for project due (includes any references, code, etc.)
  • June 6 (Friday): final paper due

Project mechanics

Project checkpoints

For each of the two checkpoints, you'll need to submit (on unix.ic) a paragraph or two telling me where you are with your project. The goal of the checkpoints is not to make you spend a lot of time on the checkpoint itself, but rather so that I have an idea of whether you're keeping up with where you need to be. The checkpoint itself should take around 15–30 minutes if you've been working on your project all along.

Final paper

Your final paper should be 6–8 pages long (single spaced), or about 2000–3500 words. I'm not going to count exactly, but a paper that's shorter than this probably won't have enough content to get a good grade. Your paper will be graded in two areas:

  • Technical content: how well you describe the issue, how well your paper explains or addresses it, and how well you make use of existing work (papers, code, etc.)
  • Writing style: As computer scientists, you need to be able to communicate. You will be graded on spelling, grammar, writing style, paper organization, and proper use of references. I strongly suggest that you use a word processing program that has a spell-checker, and that has good templates for papers.

Papers with good technical content that are poorly written may not receive a good grade. Similarly, papers with poor technical content that are written well may receive a better grade than if they were both poorly written and full of nothing.

I encourage you to seek help (if necessary) with your writing. There are plenty of resources on campus to help you learn to be a better writer; please take advantage of them.


Last updated Wednesday, 28-May-2003 17:19:04 PDT by Ethan Miller (elm at cs xxx ucsc xxx edu [replace xxx with "."])
Don't follow me!
Protected by wpoison