M 11/1/010
|
HW due: As we discussed in
class last Friday, everybody needs to re-do the HW due Wednesday (10/27) and
due Thursday (10/28) on clean sheets of paper. Three-hole punched paper is
required. Please read the HW guidelines here or
at the top of the calendar block.
Show adequate work, not simply the answers. For example, for #4, you need to
copy the matrix A onto your homework paper (since that is the setup of the
problem) and then give answers to parts (a) through (e) as follows:
(a) A(3,2) = 15
(b) A(4,1) = 27
(c) A(1,5) = 5
(c) A(2,3) = 10
[etc.]
Q. Mr. Hansen! Do we have to write
the “A(3,2)” and the equals sign
for part (a)?
A. Yes.
Q. Why can’t we just write the
answer, 15, and circle it?
A. The rule is that every problem
must have a short statement of the problem. The reason for the rule is that I
want you to reinforce the topic that is being taught, namely matrix notation
in this case.
Q. I think this is dumb. I’m just going
to write the answer.
A. It’s a free country, and you
are certainly free to do that. However, you will not earn the full number of
points that are possible.
|
|
T 11/2/010
|
HW due: Yesterday’s “retro”
assignment will be collected again. Most people have only a few small
corrections to make. Others need to do more. Then, do the following
open-ended (creative thinking) assignment.
Integer Addition and Subtraction
Sampler
There are many types of additions and subtractions that we can do with two
2-byte hex values represented in two’s complement. For simplicity, we should
treat all subtractions as adding the complement, so that we are dealing only
with addition. However, even so, we have at least half a dozen cases to
consider. For example,
- We could add a pair of positive values that
equal a positive answer (easy).
- We could add a pair of positive values that
equal a negative answer (indicates overflow)
- We could add a pair of negative values that
equal a negative answer (easy).
- We could add a positive and a negative where
the negative has smaller absolute value, thus achieving a positive
answer.
- We could add a positive and a negative where
the negative has greater absolute value, thus achieving a negative
answer.
- [etc.]
Your job is to list all the
different cases you can think of and then come up with a problem that
illustrates each skill. Four sample problems are already on your test, but
you cannot re-use those. Good luck!
|
|
W 11/3/010
|
HW due: Complete your
sampler. We will have class today,
since there is no school on Friday this week.
|
|
Th 11/4/010
|
HW due: Read pp. 297-301,
331-334. Your written assignment is to write down the 17-character Vehicle
Identification Number (VIN) from at least one automobile. For almost all
recently manufactured cars, the VIN can be found on the dashboard on the
driver’s side and is easily viewable from the outside, through the
windshield. If you cannot find the VIN, ask your parents to show you an
insurance card or a vehicle registration form for the car, since both of
those documents would show the VIN.
In class: VIN error detection, plus Karl’s talk on Hamming codes for error
correction.
|
|
F 11/5/010
|
No school (teacher work day).
|
|
M 11/8/010
|
Day off.
|
|
T 11/9/010
|
HW (required): Explore this
interactive
demo on Hamming codes and answer the question below. You will have to
play around with the links and carefully read what appears on the screen each
time you click the “Next Step” link. Spend some time on this (20 minutes, at
least) until you figure out exactly how the encoding and decoding steps work.
The first link on the page (entitled “Hamming . . . Code in action”) is not
very exciting, but at least it illustrates how Hamming codes can correct
single bit errors but cannot correct two errors in the same 11-bit packet. The two links you really need to explore,
however, are the next two on the page: “Construction . . .” and “Error
Correction . . .”
Note: The Web link above refers to
the code in the demo as “Hamming 7-4” since there are 7 data bits in each
word plus 4 parity bits. However, the more common nomenclature used in the
U.S. in Hamming(11,7), by which we mean 11 transmitted bits for each 7-bit
data word. A 7-bit word is obsolete today but was once useful, since the
original ASCII code was a 7-bit code. Nowadays, ASCII is generally considered
to be a single-byte code (8 bits per symbol), while Unicode is a double-byte
code (16 bits per symbol).
Question: A very popular Hamming
code is the Hamming(72,64) code (64 data bits + 8 check bits = 72 total bits
per packet). Explain why this code is more convenient than the Hamming(11,7)
code: _____________________________________
The Hamming(72,64) code is much too tedious for us to implement by hand or
even to watch a demo of. However, the principles are similar to those seen in
the Hamming(11,7) code, which is the one I want you to explore in depth by
visiting the link above.
Older HW due: Your two’s complement sampler will be collected and graded
again today. Jared’s is already good enough to earn an A. However, for
maximum points (A+), everyone will need to show operations in both decimal
and hex, and doing that is fairly easy with the Windows Calculator in hex
mode.
Remember, though, that hex values of 8000h and above need to be interpreted
as negative values, i.e., translated to their complement with a negative sign
tacked on in front. For example, it would be a mistake to leave an answer in
a form like this:
EC28h = 60456.
Instead, you should write
EC28h = −(13D8h) = −5080.
In other words, a value of 8000h or above needs to be complemented before
being converted to decimal, and the final answer must have a negative sign.
|
|
W 11/10/010
|
Quiz on Hamming(11,7) Code (11 bits per word, 7 of which are data).
HW due: Decode the following 88-bit bitstream given in hex, correcting the
errors as you go. Some of the characters have no errors. If you do it
correctly, a simple 8-character message will be spelled out. Use the ASCII
table on p. 399 to help you with the decoding. If you e-mail Mr. Hansen your
8-character answer, you can receive information to help you.
FCA27EC930C68AF30E28CB
Everyone who does the homework correctly should be able to ace the quiz,
since the quiz will be virtually identical. (Only the secret message will
change.)
|
|
Th 11/11/010
|
HW due: Finish yesterday’s quiz (get all 8 characters as a
homework assignment); read pp. 335-344; write p. 345 #5 and the question below.
Karl was the only one who finished all 8 characters during class, but
everyone gets credit for an A on the in-class quiz.
Question: What have we learned
from the Hamming(11,7) exercise that will last a lifetime? Write 2-3
sentences of reflection to reinforce what you think the learning objectives
were. We discussed many of these ideas yesterday at the end of class, and you
may freely recycle any of those or add some new ones if you wish.
|
|
F 11/12/010
|
HW due: Read pp. 346-351
(middle); write 354 #5, 6, and decrypt the following message created by Alex:
KWTV QE JPAUK RDX
WTE W CETR
MDDV ZETIDU WUB A'G IDTTR WFDXJ
JWRVDT IQALJ FXJ KWURE QEIJ
AI JPE FEIJ WTJAIJ DL WVV JAGE.
Hints: The key is a simple substitution cipher. In other
words, each letter represents exactly one letter of the original message, and
each letter always stands for the same letter of the message. That means that
by figuring out which letters occur most frequently, you will have good
candidates for the SENORITA letters. (E, T, A, O, I, N, S, and R are 8 of the
most common letters in English, and sometimes we add H to the list as well.)
Also, be aware that there are several proper names within the message,
including Karl.
Alex (and anyone who can’t solve the first one) should solve this one, which
uses a different substitution key:
KVI LDJJ GCQNN MQN
BTXNK KQYHVK TP
KVI NFXTPH DB KMD KVDYNQPJ QPJ BDYX.
QK KVQK KTLI, PD GXIJTK DX HXQJIN
MIXI DBBIXIJ--TK MQN DPCU BDX BYP.
Hint: Use your SENORITA letters as in the other puzzle. The
proper name MODD appears somewhere within this one.
|
|
M 11/15/010
|
No additional HW due. Take
a weekend off and enjoy the beautiful weather! (Or, maybe you can even get
some sleep.)
|
|
T 11/16/010
|
HW due: Read pp. 351-353; write
the problems below and (as an optional challenge problem) p. 354 #10a. If you
can’t do it, you should still write down what
you know, and what you think you would do next.
As we discussed earlier in the fall, modulo arithmetic means arithmetic where
we keep only the remainder when
dividing by a certain number. For example, 17 mod 3 = 2, since 2 is the
remainder when 17 is divided by 3. As another example, (any even number) mod
2 = 0, and (any power of 10) mod 3 = 1.
Problems (required):
Compute 7 mod 2, 2 mod 7, 18 mod 3, and 1,194,718,631,234,982,098,986,427 mod
2.
|
|
W 11/17/010
|
Day off.
|
|
Th 11/18/010
|
HW due: Read pp. 300-330;
write p. 354 #10abc.
|
|
F 11/19/010
|
No additional HW due, but
you really need to read pp.
351-353, the reading that was assigned for Tuesday. Pay special attention to
the worked example on p. 353, which serves as your guide to doing #10abc on
p. 354. That assignment will be collected a second time.
Reading notes for pp. 300-330 (due yesterday) will also be checked.
|
|
M 11/22/010
|
HW due: Reread pp. 300-330
if necessary; write pp. 324-325 #4, 5, 14.
The concept of entropy is
difficult. First, please remember that we are talking about entropy as
defined near the bottom of p. 321, which is entropy for information theory.
This is not the same as entropy in thermodynamics, which refers to the
disorder of atoms.
If you are interested in learning more about the types of entropy, do a
Google search on entropy. The first two hits are the Wikipedia articles for
(1) thermodynamic entropy and (2) entropy in information theory.
In information theory, entropy is a measure of the amount of “true
information” contained in a bitstream. For example, 0000000000000000000000111111000000000011
has 40 bits, but most of them follow a simple repeating pattern. The entropy
is much lower than 40 bits, probably only about 5 or 6 bits. On the other
hand, a more random-looking bitstream such as
0100110100110101101010110101011010010100 contains much more entropy, i.e.,
true information.
|
|
T 11/23/010
|
HW due: Read this article on
symmetric-key cryptography (don’t worry; it’s short) and the
portion entitled “A Postal Analogy” from the companion article on asymmetric
(public-key) cryptography. The second article is quite long (and
interesting), but you do not need to read all of it. Do read all of the first
article, however. Then write p. 331 #2-5 all.
|
|
W 11/24/010
|
No school.
|
|
Th 11/25/010
|
No school (Thanksgiving).
|
|
F 11/26/010
|
No school.
|
|
M 11/29/010
|
HW due: Write out at least
2 project ideas. Some suggestions are listed below, or you can choose one entirely
of your own creation. You need to write out at least 2, so that in case one
of them is rejected you will still have a backup. Projects should involve a
fair amount of work outside of class, should be connected to MODD course
content in some way, and should result in a paper of 3-5 pages and a short
PowerPoint or other video presentation that you will give to the class during
the first week of January.
Ideas:
1. Research the life and accomplishments of Claude Shannon. Present his most
interesting findings, in words that everyone can understand.
2. Compose a piece of tonal, melodic music (not rap, not random-sounding)
entirely from aliased sounds. Play the original (recorded at a sampling rate
above the Nyquist rate) as well as the aliased version. It is the aliased
version that should sound “correct.” Explain clearly exactly what is going
on.
3. Do a project similar to #2, except in the visual domain (digital
photography or digital movies).
4. Implement a small-scale PKI and show exactly how keys can be distributed,
validated, and managed.
5. Demonstrate beat frequencies, and show how beats and harmonics can either
enhance or degrade musical performances.
6. Implement a full integer adder in software, and demonstrate that it can
properly handle all error conditions that are likely to occur. Your system
must be able to handle negative integers (i.e., subtraction). Floating-point
operations are not required.
7. Implement a “strong” password generator in a spreadsheet or in an actual
programming language, and demonstrate how it is superior to typical “weak”
passwords.
8. Demonstrate a hacking strategy against an XOR cipher of various key
lengths. Show how keys that are too short, as well as random number
generators that are too predictable, can severely compromise the security of
a cryptosystem.
9. Use the VAB system (available on loan from Mr. Hansen) to develop a
rudimentary computer vision system for edge detection, contrast enhancement,
and motion detection.
10. Make a real-time simulation of transmission through a noisy channel with
error correction at the receiving end. Show how, until noise reaches a
certain threshold, throughput remains reliable and unaffected, but at that
threshold, when the error correction protocol can no longer handle the
frequency of errors, a total breakdown may occur. You can use audio, video,
or text for your underlying signal, but the most interesting demonstration
would probably be achieved with audio or video.
11. Borrow Mr. Hansen’s PCM box and demonstrate how speech is sampled,
companded, and modulated for transmission over digital phone lines. (Click here for a description of
what companding means.)
12. Simulate a “man-in-the-middle” attack using packet sniffing and spoofing.
Warning: You are not permitted to
do this on the STA network. You would need to set up a small private network
of your own or do the entire exercise as a pencil-and-paper simulation.
|
|
T 11/30/010
|
HW due: Convert each power
ratio to decibels (dB), and convert each decibel quantity to a power ratio.
1000:1 = ___ dB
500,000:1 = ___ dB
35 dB = ____ : 1
77 dB = ____ : 1
150:1 = ____ dB
Which is greater, a ratio of 500:1 or a ratio of 25 dB? Explain briefly.
If a signal is 43 dB below a power level of 28 watts, compute the signal’s
power in milliwatts. Note: a
milliwatt is 1/1000 of a watt.
|
|