CPE 315 - Computer Architecture II
fall 2002

Professor Daniel Stearns
Office 14-222
Office Phone 756-7182
Office Hours Posted on office door and on Web page
email address dstearns@csc.calpoly.edu
Web URL http://www.csc.calpoly.edu/~dstearns


Course Objectives:
  1. To understand and apply the principles of computer organization, architecture and hardware.
  2. To obtain a working knowledge of the MIPS instruction set architecture and cpu design.
  3. To be able to design combinatorial and sequential digital circuits.

Prerequisites:
CPE 215, CSC 103 and EE 219 are prerequisites for this course. These are real prerequisites; we use the material from each course extensively.

Required Texts:
Patterson and Hennessy, Computer Organization and Design (2nd edition) , Morgan Kaufmann, 1997

Supplies:
A set of 5 small-tip colored highlighters is required for homework and examinations.

Class Communications
The best communication medium is our laboratory; there is lots of time available to ask questions.
Use lecture time to ask questions about the course content.
Use class time for questions about the course content, laboratories and homework.
Electronic mail is a poor medium for most communication; use email for personal questions only (e.g. lab extension requests).
Put CPE 315 on the email subject line to attract my attention.

There are also daily question forms that can be used to ask questions in writing; they will be answered immediately or during the next class period.

The Course Web Page contains all assignments, handouts and announcements. The web page is the primary communication medium for course work. You should look at the update history every day.

Laboratory Assignments
Laboratory assignments will be given on a regular basis and are graded as described below.
Some laboratories are mandatory; they must be succesfully completed to pass CPE 315. Failure to complete a mandatory assignment will result in a course grade of F.

Some lab assignments (or portions thereof) may be done with a partner; the lab description will give you explicit permission to use a partner in this case. Without explicit permission, you must work alone.

Laboratory Tools
The laboratory tools require X Windows support. You will be expected to perform laboratory assignments outside of class time on a machine that supports X Windows. It is your responsibility to find a machine that provides such support.

Lab Submission Rules
You are expected to do all laboratories at a professional level. Specific rules are listed below. If you aren't sure what constitutes professional work, submit your lab writeup before it's due for feedback.

  1. Laboratory assignments must be submitted on 8 1/2 by 11 paper with clear, dark printing.
    The lab writeup must be submitted and stapled in the following order:

    Cover page containing
    Name
    CPE 315-Section 0x
    Lab #N
    Today's date
    Your signed statement that you did the work yourself.
    A list of all other people (except Prof. Stearns) that you discussed the laboratory with.
    source files, whether you wrote them or not
    test files, whether you wrote them or not
    data files, whether you wrote them or not
    any printouts or other material that prove your laboratory worked properly.

  2. The top of each file must contain a header that contains:
    File name
    Your name
    Lab #
    Date
    Description of file (describe program in main file)
    Notes on problems, extra work, unusual algorithms, etc.

  3. When appropriate, subprograms should be used. The beginning of each subprogram must have a header that contains:
    Preconditions: The preconditions that must be met for the subprogram to run correctly; this must include a description of each parameter.

    Postconditions: A description of the actions performed by the subprogram including any side effects.

  4. If you use work from any other source (including human sources), cite that source. Failure to follow this rule is considered cheating.

  5. Each logical group of code must have a comment, before the group, that describes its purpose.
    It is unprofessional and a waste of time to describe the code itself.
    Comments must be written on their own line as English phrases with active voice present tense verbs and direct objects.
    In general, a comment should fit on one line.

    Do not place comments on the same line as source code.

  6. Code must be easy to read and understand. This means:

    Put one statement per line.
    Put a blank line after each block of code.
    Comments must be grammatically correct.
    No
    magic numbers in the code.
    Use consistent, clear indentation and white space; code must be aligned in listings. (Courier New is a good font)
    Use well chosen, clear names
    Print listing files in landscape if necessary to avoid wraparound.

  7. Loops must have exactly one entry, one termination test, one loop-back and one exit.

  8. Resubmitted Work (on mandatory labs)
    If you receive a grade of R, this means that you must redo and resubmit the work to receive the assigned grade.
    The following rules apply to resubmitted work:
    You must submit the unaltered original assignment with the redone work.
    You must highlight the differences between the redone work and the original work.
    You should redo the work as soon as possible; your original grade might be raised depending on how quickly you redo the work.

Plagiarism
Cooperative work is an important part of learning; you are encouraged to study together, discuss the lectures, laboratory concepts and computer architecture issues. Be sure to list the names of anyone you talked to on lab assignments. But,

It is cheating to turn in duplicate work (even one line or code or comment)
It is cheating to copy work (even one line) from another student's assignment or file.
It is cheating to copy work (even one line) from a published source without credit.
It is cheating to lend another student your assignment.
It is cheating to write part (even one line) of another student's assignment.
If you cheat, you will receive a course grade of F and a letter will be sent to the campus Judicial Affairs Office.

Examinations
There will be an early midterm examination on Appendix B of Patterson and Hennessy. If you fail that exam (grade < 60), be advised that you lack the prerequisite knowledge and there is a strong likelihood you will fail CPE 315.

There will be a written midterm examination and final examination. Both exams will be closed book but you will be allowed to use a page of written notes.
The final examination will be given during one of the common final times.

Individuals may be required to demonstrate knowledge of the laboratory work with a practical examination at the end of the quarter. If you fail the practical examination, you will receive an F in the course.

Grading
Homework - 5%

Homework is due before the beginning of lecture. No extensions will be given on homework for any reason. The midterm and final exams will draw heavily from the homework material. Homework will not be graded but will be returned with a check or not as appropriate. You must show your work; homework is good practice for examination questions.

Laboratory assignments - 30%

Laboratory assignments are due at the beginning of the lecture period on the date due. Late assignments will receive a grade of 0 unless a request (written or email) request is submitted and approved by me at least 24 hours before the lab is due. Be sure to ask for a specific due date in your request. One written request during the quarter will be approved without the need to give justification.

The grade on a mandatory lab is based on the work submitted on the due date. For example, a lab that receives a grade of 45R will eventually become a grade of 45 when the lab is complete.

You may be asked, at any time, to demo lab work and answer questions on laboratory assignments. The purpose of such a demonstration is to verify that you performed the laboratory work yourself. If you are unable to satisfactorily demonstrate that you performed the work, your grade on the lab assignment will be 0.

Laboratories are graded holistically; a working lab solves the problem and handles every test case input correctly. A lab that almost works can never receive a grade higher than 59.

90-100 Well-designed working lab that follows all submission rules.
80-89 Working lab with minor design flaws or one violation of the submission rules.
60-79 Working lab with major design flaws or two violations of the submission rules.
Or, minor directions not followed on lab.
0-59 Lab doesn't work, major directions not followed, assignment not completed or many submission rules not followed.
0 Submission rule #1 or #5 not followed.
F in course           Submission rule #4 not followed.

Exam #1 - 10%

Exam #2 - 25%

Final exam - 30%

Final Course Grades will assigned using the following table. Plus/Minus grades will be assigned according to my subjective evaluation of your class participation (i.e. class attendance, use of office hours, outside reading and research)

85 - 100% A
70 - 85% B
60 - 70% C
0 - 59% F

GRADING SYMBOLS
Marks on returned papers are defined in the grading symbols page on the web.


Last updated on 9/9/02