6.033 - Computer System Engineering (Spring 2002) Handout 27 - April 18, 2002
Last modified: April 17 20:00

Design Project #2: Electronic Transcripts

You should do this design project in teams of 3 people. You should tell your TA your team members by April 18th. All members of a team must have the same recitation instructor.

Your design project report is due on May 9th in recitation.

Questions and answers about DP2 will also be posted here; check periodically for updates.

Introduction

The U.S. Secretary of Education has commissioned a study to determine the feasibility of using cryptographically authenticated grade records as a substitute for the current procedure of sending paper transcripts directly from a college's registrar to the admissions offices of graduate schools to which students are applying. The basic idea is that, at the end of each semester, the instructor of a subject will give each student in the subject an AGR (Authenticated Grade Record), which is a string of bits that represent the student's grade in that subject. The instructor would cryptographically sign the AGR. Instead of obtaining a printed transcript to send to a graduate school, a student can just send his collection of AGR's.

The Secretary of Education wants to explore the AGR approach because it might yield four benefits. First, it could decrease the amount of paperwork involved in applying to graduate school. Second, it could make it harder for students to forge or modify transcripts, or use other students' transcripts. Third, it might give a higher level of confidence to grades reported from schools that no longer exist. Finally, an AGR system could allow the student, or anyone else, to maintain verifiable copies of grades; this requirement means that schools need not bear sole responsibility for keeping backup records of grades.

System Goals

The Secretary of Education has stated the following list of goals for the AGR system. It is not clear that a design could satisfy all of the Secretary's goals; you will probably have to make tradeoffs among these goals, sacrificing some to satisfy others. Part of your job is to choose a good set of tradeoffs, and to explain why your choices make sense.

Design Requirements

The design you hand in should address the following questions:

Your Report

Your report should clearly describe a design that meets the system goals and design requirements as well as possible. You should evaluate whether your design is better or worse than the existing transcript system; think of yourself as recommending whether or not the Secretary of Education should proceed with the construction of an AGR system.

Your report should answer the specific questions listed above under Design Requirements. A reader should also be able to understand how your design would work in a typical scenario such as the following:

  1. Alyssa Hacker takes some set of MIT subjects as an undergraduate, and receives grades for them.
  2. One summer Alyssa takes a class at Northeastern and receives a grade.
  3. In the fall of her senior year, Alyssa applies to Harvard's PhD program in Computer Science; her application includes all her grades.
  4. Harvard receives Alyssa's application and processes it; part of the processing involves validating the authenticity of Alyssa's grades.
  5. In the spring of her senior year, Alyssa receives an undergraduate degree in computer science from MIT's EECS department.
  6. When Alyssa starts at Harvard, Harvard checks that MIT really did award her an undergraduate degree.
If you are in doubt about how to focus your design efforts, start with working out the details of this example. You may wish to consult the material about signing, certificates, and certificate chains in Chapter 6 of the 6.033 lecture notes.

Your paper must not exceed ten 11-point, single-spaced pages in length. Please use 1-inch margins. Don't forget to use diagrams where appropriate.

Writing Suggestions

This section provides some suggestions and guidelines on writing style and some of the things we look for in your report.

1. Suggestions on Writing Style

Your paper should be as long as is necessary to explain the problem, your solution, the alternatives you considered, and the reasons for your choices. It should be no longer than that. Again, please make sure your paper is no longer than ten pages.

A good paper begins with an abstract. The abstract is a very short summary of the entire paper. It is not an outline of the organization of the paper! It states the problem to be addressed (in one sentence). It states the essential points of your solution, without any detailed justification. And it announces any conclusions you have drawn. Good abstracts can fit in 100-150 words, at most.

The body of your paper should expand the points made in the abstract. Here you should:

  1. Explain the problem and the externally imposed constraints. You should explain to your intended audience the background of the problem in terms that the audience can understand.
  2. Explain and elaborate your solution. Be sure to explain the approach or architecture conceptually before delving into details, components, and mechanics. (Remember, you aren't writing a mystery novel!) Present any analysis clearly and concisely.
  3. Show how your solution satisfies the constraints and solves the problem (or how it fails to do so); explain how the properties of your solution that result from choices you have made in your design are reasonable or desirable in the context of the problem statement.
  4. Briefly describe the alternative approaches that you considered and rejected, and why you rejected them. Your paper will be more convincing if you say not just why your idea is good, but why it is better than the alternatives. (For example, if another approach would meet all of the objectives perfectly, but the cost would be 100 times higher, then you should mention that as a reason for choosing your less general but cheaper approach.)
  5. Document your sources, giving a list of all references (including personal communications). The style of your citations (references) and bibliography should be similar to the styles in the technical papers you're reading in this class. In particular, a bibliography at the end and no citations in the text of your paper is insufficient; we'd like to see what specific pieces of information you learned from where as we read your paper.

Write for an audience consisting of colleagues who took 6.033 five years ago. That is, they understand the underlying system and network concepts and have a fair amount of experience applying them in various situations, but they have not thought carefully about the particular problem you are dealing with. Give enough detail that your design could be turned over to some programmers for implementation with some confidence that you won't surprised by the result.

2. How do we evaluate your report?

When evaluating your report, your instructor will look at both content and writing.

Some content considerations:

Some writing considerations: You can find other helpful suggestions on writing this kind of report in the M.I.T. Writing Program's on-line guide to writing Design and Feasibility Reports.  You may also want to look at the Mayfield Handbook's explanation of IEEE documentation style.  A very good book on writing style is: "The Elements of Style," by William Strunk Jr. and E. B. White, Third Ed., MacMillan Publishing Co., New York, NY, 1979. (An older version is also available online or from the MIT libraries.)

VII. Schedule

Your report is due at the beginning of recitation Thursday, May 9th, 2002.

Go to 6.033 Home Page Questions or Comments: 6.033-tas@mit.edu