FIT100 (CSE 100/INFO 100)

Winter 2002

Fluency With Information Technology


PROJECT 2: Cryptographer's Assistant
Introduction  Bottom of page

Part 0 notes

 

Part 0 sample (Windows only).  Try it out!  Make yours at least as good.  

Deadline: Tuesday evening, 11:59pm, Feb. 12.  Turn-in your work by using this electronic turn-in form.  Hint: look at it now.  Try using it once well before the deadline, in case of any problem.  

Sample solution code

Part 1 details

Part1 Turn-in Form

Part 1 Sample A (Windows only).  

Sample B (Windows only.  Uses a listbox for the CodeBook display.  Way fancier than yours has to be).  

Unlike Part 0, Part 1 is not quite self-explanatory.  Also, your version doesn't need to do as many things as the samples.  

Due date Tuesday evening, Feb. 19 Wed, Feb. 20, 11:59pm.

Related to Project 2, part 1: Datebook example from lecture, W 2/20.

  Sample code for solving the basic features of Part 1.

Part 2 information

Electronic Deadline: Wed, Feb. 27, 11:59pm. Print receipts to turn in Thu/Fri.

Draft A/B list: turn in as part of the TAInfo.txt file, on the turn-in form.

Final A/B list deadline: Friday (details later)

Sample Part 2 Initial Form Executable

E-mail 2/25 with additional information about the A/B lists

New! Part 2 Turn-in Form

Introduction

Codes are an important part of computing.  Often the codes used at one level are completely different from those at the next level.  For example, pages of raw HTML seldom resemble the page as rendered by a browser.

 

Of course, codes are not unique to computing.  The human genetic code is a biological example.  The telegraph introduced perhaps the first widely used binary representation of writing: the Morse code.  Sending a telegram actually involved at least four levels of coding.  First, the verbal message had to be written down (coded into letters).  Then message was translated into upper case only, and all punctuation was replaced with special uppercase words.  The result of that encoding step was then ready to undergo Morse coding.  Finally, the abstract Morse coding itself was mechanically transformed into electrical impulses for transmission to a remote location.  The first stage might be carried out by the end user or the operator; the second stage was a mental one, performed by the operator as he or she manually performed the third step.  The last step was carried out mechanically by the telegraph equipment.

 

Sometimes people are better at coding tasks, and sometimes computers are.  Sometimes the computer's role is simply to assist the human.  For example, despite decades of research, translating text from one language to another is very difficult for a computer.  For high-quality results, the best systems involve both a human operator and computer-based assistance.  There are also some coding tasks so difficult that neither people nor computers can do them effectively.

 

In this project, we'll explore three environments in which a computer might assist a human in a coding task.  You are invited to think of other applications and how they do or not fit this model of human-computer interaction. 

Part 0: Telegraph Operator's Assistant

 This part was due on Tuesday, February 12, 2002.  The instructions, complete, were:

Part 0 sample (Windows only).  Try it out!  Make yours at least as good.  Deadline: Tuesday evening, 11:59pm, Feb. 12.  Turn-in your work by using this electronic turn-in form.  Hint: look at it now.  Try using it once well before the deadline, in case of any problem.

See the Bulletin Board and the e-mail archive for hints and discussion.  Sample solution code was distributed in lecture.

 Part 1:  Cryptographer's Assistant

 Original announcement: 

Part 1Sample A, Sample B (Windows only).  There will probably be other sample versions later.  Unlike Part 0, this one is not quite self-explanatory.  Also, your version doesn't need to do as many things as the sample.  Try it out!  See if you can get some ideas going.  Due date Tuesday evening, Feb. 19.  More information later.

 

In cryptography, the goal of coding is to disguise the message so that only its intended recipients can decode it.  Crypto codes are very ancient.  In recent years, cryptography has use advanced mathematics and the power of computers to create seemingly unbreakable codes.

 

In our project, we will use a long-known technique of "substitution".  Some versions are called a "Caesar Cipher" because Julius Caesar is said to have used this technique.  [Anybody want to find out the historical truth and report to us??]

 

The idea is that each symbol in the original text is replaced by another letter or symbol.  The table of substitutions is called the "code book."  The original, uncoded message is referred to as "clear text."  For our project, we will translate all characters to upper case first, and do no substitution of non-letter symbols.  That is, spaces, number, punctuation, etc. will be passed through without change.  This would have been fine for Julius Caesar.  In his day, words were generally written all in upper case, without punctuation, and frequentlywithoutspacesbetweenthewords.

 

Your task in Part 1 of the assignment is to build a VB application to help Caesar cipher.   

 

Your solution should have the following for close to full credit:

 

If you have those features, you will get close to full credit.

 

To get the last little bit of credit, you must also:

 

To get SBR (Special Bragging Rights; no extra credit, just glory), you must also:

There is already one sample version available to play with.  It meets all of the basic requirements except one: its code book is not valid, because each letter is mapped to itself. 

There will be a form for electronic turn-in.  Please do not use the Part 0 turn-in form.  You are encouraged to turn in whatever you have completed by the deadline, even if everything is not working perfectly.

Part 2:  Secret Agent's Assistant

 Click for information.

Back to Top

 

BACK TO TOP
Google
Search WWW Search the CSE web Search the I-School web
Page last changed: Tuesday, February 26, 2002 06:56 PM