Please print this page and provide it to the
TA when you demonstrate your machine problem.
When you submit this, the TA should:
check your solutions,
ask a random question that tests your understanding of the MP,
assign points for each item on the list,
run the performance benchmark,
assign bonus/penalty points,
and provide the floppy for electronic handin.
This page should be stapled to the front of your MP1 assignemnt.
| Category |
Points |
Min |
Max |
PrintTextMsg (M)
- Prints Text Message= TextBuf in plain ASCII.
- Test Case: TMY*MESSAGE(enter)M ->
Text Mesage= MY*MESSAGE
| | 0 | 5 |
ReadTextMsg (T)
- Robustly reads a text message from the keyboard
- Converts all letters to UPPERCASE
- Rejects and beeps at all letters except letters, space, and asterisk.
- Allows backspacing
- Prevents typing overflow (more 70 characters) and beeps
- Prevents underflow (i.e., backspacing too far) and beeps
- Test Case 1: Random typing by TA does not crash program.
Test Case 2: Printing (M)essage exactly
matches entered string.
| | 0 | 5 |
PrintBuffer (R)
- Prints Size of buffer (bits and bytes)
- Prints Least significant bit of LSBit first
- Inserts space between bytes
- Prints at most 40 bits (5 bytes) per line.
- Test Case1:TBABA(enter)E ->
10010000 00100100 0000
- Test Case2:Longer strings print 5 bytes/line.
| | 0 | 5 |
ReadBuffer (B)
- Robustly reads 0's and 1's from keyboard
Beeps and rejects everything else!
- Allows backspacing
- Prevents underflow (i.e., backspacing too far) and beeps
- Test Case 1: Random typing by TA does not crash program.
Test Case 2: Printing (R)buffer exactly
matches entered string.
| | 0 | 5 |
Encode : Part of EncodeHuff (E)
- Sets AX=Symbol (LSBit first), DH=size.
- Test Case1:TA(enter)E -> 0000
- Test Case2:TC(enter)E -> 1101
- Test Case3:TJ(enter)E -> 11000011 1
| | 0 | 5 |
AppendBufferN : Part of EncodeHuff (E)
- Adds variable-length symbol to end of buffer array.
- Test Case1:TXYZ TAN(enter)E ->
11000010 10011111 10000110 01011111 00000111
| | 0 | 5 |
EncodeHuff (E)
- Huffman-Encodes text data into variable-length binary symbols
- Test Case: No Differences found between
MP2 < I:\ECE291\MP2\test1.in > mytest.out
FC mytest.out I:\ECE291\MP2\test1.out
| | 0 | 5 |
DecodeHuff (D)
- Decodes buffer into ASCII
- Test Case: No Differences found between
MP2 < I:\ECE291\MP2\test1.in > mytest.out
FC mytest.out I:\ECE291\MP2\test1.out
| | 0 | 10 |
Performance (P)
- Benchmarks Encoding and Decoding Routines by calculating
number of encodings and decodings per 1/18 second.
Higher numbers are better.
- CheckAll original and functional code for:
- ( ) Encode
- ( ) AppendBufferN
- ( ) DecodeHuff
- ( ) EncodeHuff
- Make Sure that students are using
libmp2 ver 4.0 to calculate performance.
Run I:\ECE291\MP2\FIX.BAT to get new files !!
- Run: MP2 < perf.in
_________ MY iterations
- Run: I:\ECE291\MP2\MP2.EXE < perf.in
_________ LIB iterations
- Performance Ratio:100 * MY / LIB =
_________ %
- Score
- 110% or more: 5 pts
- 90% or more: 4 pts
- 50% or more: 2 pts
- 10% or more: 1 pt
- Incomplete, non-functional, or slower: 0 pts
| | 0 | 5 |
| Functionality SubTotal |
| 0 | 50 |
Comments (* percentage of code written)
- Clear and precise line & procedure comments
(describes all major routines): -0
- Sports Announcer comments (line-by-line): -1
- Unclear comments: -1
- Sparse comments: -3
| | -5 | 0 |
Technique & Style (* percentage of code written)
- Compact and Efficient code: -0
- Contains repeated code (lacks loops): -3
- Makes poor use of registers and/or variables: -2
| | -5 | 0 |
I/O Specs & Modularity (* percentage of code written)
- Violates specifications for given subroutines: -5
| | -5 | 0 |
Penalty/Bonus
Before 5pm, Fri 2/20/98: +1 pt/weekday
After 5pm, Fri 2/20/98: -10 pts/weekday
| | -50 | 5 |
| Total | | 0 | 55 |