ECE291 Computer Engineering II Lockwood, Spring 1998

Machine Problem 2: Grading Report

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.

Name:
Date Submitted:
Demo To: Graded By:
Handin to floppy
Score recorded
Gold Star
Programming Excellence

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
 
-50
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
 
-50
I/O Specs & Modularity (* percentage of code written)
  • Violates specifications for given subroutines: -5
 
-50
Penalty/Bonus
Before 5pm, Fri 2/20/98: +1 pt/weekday
After 5pm, Fri 2/20/98: -10 pts/weekday
 
-505
Total
 
055