CS441 System Design Lab

C.S. 441 System Design Lab


Coding of an assembler, syntax analysis, verification, and validation.

Prerequisites: C.S. 440 System Design (C- or higher)
Professor: Douglas J. Ryan
Office: Strain Science Building (Room 201)
Office Hours: 1:30-2:30 MTWF
Phone: 359-2135

Book(s): See CS440


Approximate Grading:
Pass1 Design ..............................   25 pts
Pass2 Design ..............................   25 pts
Pass1 Implementation w/ST .................  100 pts
Pass2 Implementation w/OM..................  150 pts 
                                             ---
Total .....................................  300 pts
Note: Final grades will be determined on a percent basis (total points received / total points possible) using the following scale:

[92 - 100]  	A  
[90 - 92)  	A-  
[87 - 90)  	B+   
[82 - 87)   	B 
[80 - 82) 	B- 
[77 - 80)  	C+  
[72 - 77)    	C    
[70 - 72) 	C-
[67 - 70) 	D+ 
[60 - 67)  	D   
[0 - 60)  	F

Design / Project Timelines / Reports

The pass 1 design is due on Monday (2/8/2000) along with a timeline of when you are going to complete Pass 1. Your deadline schedule is to include what you plan to have accomplished every time we meet until you get pass 1 complete. At the beginning of each class, each person will give a brief report of where they are in conjunction with their deadline schedule.

Pass 1

Pass1 will be fully graded based on the results of the printout from your symbol table and the final value of the location counter. No error checking will be looked at during this phase, but you must be able to handle any syntactically correct assembly language program based on our grammar and instruction set. Further, for full credit, our programs will produce the same values for the symbols in the ST if everything in the assembly program is previously defined. This means no worst case assumption for the number of bytes on a line will be necessary. In pass1, you are to implement all addressing modes and the only time you can make a worst case assumption about the number of bytes for a line is if the line contains a forward reference and the actual number of bytes cannot be determined.

Pass 2

Pass2 will be graded with three major components comprising your grade. The first of these components will be how your assembler handles assembly language source code with no errors. That is, what does the assembly listing look like for these assembly programs. The second component will be how does your assembler handle assembly language source code with various degrees of errors. That is, does your assembler flag most or all of the errors and not bomb out on some tough test case situation. The last component of this phase is can your object module be linked using Microsoft LINK and actually execute the executable successfully.

Guidelines for grading Pass1 and Pass2

Successful Execution (80%)
Efficiency (10%)
Documentation (5%)
Coding Style/Hungarian Notation (5%)


Code Reviews / Discussion

Each week after the progress reports, we will do a code review. Hopefully, we will be able to do two code reviews for each person in the class. Each class meeting is mandatory. Anyone not showing up on time or not staying for the duration of the class will lose 2.5% of the total points in the class. Anyone not actively participating in the discussion of the reviews will lose 1% of the total class points. Participation is being actively involved in the group discussion for the duration of class.


Since you are telling me when you will have the pieces of the project done, there is no need to have a late policy. That is, nothing will be accepted late. You are determining when things are due. My only stipulation is that pass 1 must be completed on or before April 10 (5 pm). Chances are if you wait that long, you are in serious trouble.


Policies:

1) A program that does not successfully compile or produces no output loses 80%.

2) The cheating policy is defined in Pacific Stuff (beginning on page 60) & the Pacific Catalog (beginning on page 26) as well as the Academic Policy that each of you signed. Be sure you read or reread this policy carefully. Every function written for CS440/441 is to be an original design and an original implementation. The Web, textbooks, and any other references are simply references for you. Copying source code from any source is prohibited. Further, source code is not to exchange hands in any form or by any medium except when sending your solutions to the instructor. It is OK to share high level ideas during the design phase, help someone in the class fix a bug occasionally, share information dealing with OS issues, debugger issues, in general, development issues that do not involve code writing.

3) All code in any form generated from this course becomes the intellectual property of Pacific University. You may not share this code with anyone without obtaining written permission from Pacific University.

4) Neither computer failure, software failure, nor lack of computer access are accepted as excuses for late programs; therefore, start work on the programs as soon as they are assigned, don't put them off until the last minute!!! Further, corruption of programs due to bad disk media is also not accepted as an excuse for late programs; therefore, always keep a current backup of all programs on a separate disk!!!


Goals for the course
© 2000 Douglas J. Ryan / ryandj@pacificu.edu