Not logged in. Login

Assignment 3: Rough Draft

This assignment will centre around describing a process.

Because there is a peer review component to this assignment, and that has to get started, this rough draft will not be accepted late.

Your company has expertise in a data security technology. They wish to publicize that expertise by having one or more key employees write an article in a trade magazine on some aspect of the technology. You have volunteered to write the article. A prominent technical magazine (such as IEEE Computer or Communications of the ACM) is interested in publishing it.

Purpose and Audience

The audience for this magazine are professional programmers and systems engineers. They work with a diverse range of software technologies. A few will already know your topic at least as well as you do, but the article is written for those familiar with software in general but not with your topic specifically (and for the purposes of this assignment, the topic may be more elementary than this description suggests). We're focusing on the choices required in writing such an article, not the precise technical content.

The writing should be relatively formal. You will be writing in a high-profile magazine, representing your organization. Many people important to the future careers of both you and your company will read this article.

Observe the basic principles of formal writing. Don't use contractions. Humour is acceptable, provided it's understated. On the other hand, the principles of clear writing still apply. Take responsibility for your opinions with phrasings such as, I believe or I recommend, rather than offering opinions in the passive, It is widely believed. If you wish to claim that you are presenting the opinion of your organization, you are welcome to phrase it as, We believe, or even, At Yoyodyne Propulsion Systems, we believe The Future Begins Tomorrow.

Topic

Select a process that arises in data security and describe it. In computing, processes arise all the time. Examples include resolving a page miss in virtual memory, the stages in a POSIX pipe script, compiling a programming language, the steps of a sorting algorithm, or the cycle of an agile development method. A process is characterized by a series of steps performed by an agent or a series of stages through which some data passes.

This does not need to be a topic in a course you are taking this semester, and in fact does not need to be a topic in any course you've taken. It could just be something that interests you. Some processes make better topics than others. You'll need something with rich detail to sustain a lengthy description. A topic can be too large: for example, software engineering is likely too abstract. In fact, software engineering itself isn't a process, but a collection of processes such as development cycles, testing strategies, estimation procedures, and so forth. By contrast, small processes rarely have the same problem of insufficient detail. Almost any technical topic has enough complexity to fill several pages. Although you should be careful not to pick a process that is too small, the greater risk is to pick one that is too large.

Some possible processes (or sources of interesting processes):

  • Diffie-Hellman key exchange
  • Clickjacking attacks and prevention
  • TCP/IP firewalls and packet filtering
  • Two-factor authentication
  • Whole-disk encryption
  • Transport-layer security
  • OAuth authentication

You are also free to choose a different security-related process.

Diagrams

Processes are natural candidates for description by diagram. Your final description must include at least two diagrams, and your text must incorporate these diagrams in the description. You may wish to include additional diagrams. For example, you might wish to show a system's progress through several stages, with a separate diagram for each one.

Each diagram should clarify parts of your description that are difficult to express in words. The spatial organization provided by a diagram is especially good for showing hierarchies of components and communication paths between components, as well as steps in a complex process. A diagram can sometimes organize large amounts of detail far more clearly than words can.

Each of your diagrams must be original: not simply a redrawn version of someone else’s diagram.

Approaches

For the draft of this assignment, you are being asked to experiment with different ways to describe the process. Write two alternate explanations of the same process. As part of the peer review, you will get feedback on which works best. You should produce a complete document for each approach, but will likely want to share content (introduction, diagrams, etc) between the two.

Some possible approaches to describe a process:

  • Describe it as a series of steps: First this happens, then that, and finally this other thing.
  • Describe it as movement through a series of locations or data structures: Start here, then go there, then go this third place. In computing, the locations are often data structures rather than physical locations.
  • Describe it as a series of human or machine actors: First this person works on it, then this person, finally this one. Or first this algorithm processes the input, then this algorithm, and so forth.

Result

Each description should be between 3 and 5 double-spaced pages. You must include at least two diagrams. The following don't count towards the page limit: reference list, diagrams, figures, or screen shots. Remember, it is dishonest to resubmit work you did for another course as an assignment for this course.

Please concatenate your descriptions into a single document (of 610 pages, presumably). It's easier to distribute for peer evaluation that way.

Submitting

Do not include your name (or student number or other identifying info) in the documentation (or filenames or anywhere else). It will be distributed to others in the course for peer review, and that should be anonymous.

Save/export your twin-explanations document as a PDF. Submit the file:

Updated Thu July 07 2016, 16:08 by ggbaker.