CS 555 Spring 97 Term Project

The purpose of the final project is to demonstrate some in-depth knowledge of a topic related to the class subject material. You can choose to write a research paper exploring some topic related to the class, or you may develop a programming project. (If you do both you can gain some extra credit; see me first.)

Projects and papers are due by 5pm April 30.

Research Paper

You may write a comprehensive survey paper on some topic related to cryptography, cryptanalysis, computer security, or communications security. The paper should be of the level and coverage of a paper in ACM Computing Surveys. You should analyze the work done by others on the topic, including a summary of points yet to be addressed by research.

Each paper will include appropriate citations to the literature. You would be advised to check Computing Abstracts and the science citation index (at least) for recent and relevent publications.

If you choose to do a paper, it must be done individually (no groups). You should clear your topic with me prior to beginning the paper.

Research Project

You may design and code a project, as an individual project, or as something done by a group. Two-person projects are encouraged; there will not be extra credit given for solo projects unless they are of exceptional difficulty. Project proposals should be submitted to me by April 2, consisting of about two pages of text describing what you are going to do and why you think it is interesting. If the project will be done by more than one person, you also need to indicate how the work will be divided among the team members.

Each project should represent independent design, construction, and testing. You will turn in a design document, commented source code, and results of structured testing. You will also include a short document describing what you built, how it works, where it might be used, and what are the conditions under which it should not be used. You will also indicate any references used. I may also request that you schedule a short demonstration of your project.

You may code the project in any language you prefer, so long as it is on one of the PUCC or CS computers on the net (e.g., you must be able to demonstrate it from an xterm window in my office). Note that not every language is well-suited for the numeric manipulation necessary for some topics.

Here are some possible project topics; you can discuss ideas of your own with me:

I can provide some extended-prescision integer math routines if you need them. See

  • Professor Wagstaff's library
  • The GNU library
  • Re-read the class policies and note my comments about grading standards for programs.


    Gene Spafford