C.S. 440 System Design

The design of an Assembler, syntax analysis, code generation, macros, linkers and loaders. In particular, the first three phases of the software development cycle (requirements analysis, system specification, and system design) will be implemented for a large software system.


Prerequisites: C.S. 320 Assembly Language Programming Professor: Douglas J. Ryan Office: Strain Science Building - Room 201 Office Hours: 1:00-2:00 M-F Phone: 359-2135
Reference books in the lab: Managing projects with make by Oram and Talbott Guide to UNIX Using Linux by Dent and Gaddis Assembly Lnaguage for Intel-Based Computers by Irvine Program Translation Fundamentals by Calingaert ASM86 Assembly Language Reference Manual An Introduction to ASM86 iAPX 86/88, 186/188 User's Manual MS-DOS Encyclopedia
Approximate Course Grading:
Lexical Analyzer Implementation .....50 pts
6502 Hand Assembly ..................30 pts
Symbol Table Design .................25 pts
Symbol Table Implementation .........50 pts
Midterm .............................75 pts
x86 Hand Assembly ...................25 pts
x86 Link/Execute ....................25 pts
Project Specification ...............35 pts
Final ..............................100 pts

Total ----------------------------->415 pts

Percent Breakdown:

92-100 (A)  90-92 (A-)
88-90  (B+) 82-88 (B) 80-82 (B-) 
78-80  (C+) 72-78 (C) 70-72 (C-)
68-70  (D+) 60-68 (D)
0-60   (F)

Program Grading:

1) 80% successful execution
2) 10% acceptable structure and style (no redundant code, looking for speed and efficiency)
3) 10% documentation


Policies:

1) A program can be turned in up to 24 hours late with a penalty of 20% of the program points. Any program turned in more than 24 hours late will not be accepted.

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

3) The instructor reserves the right to raise or lower a student's grade based on class participation and attendance.

4) No early or late exams/finals will be given.

5) 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.

6) 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.

7) 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