CPE 315 - Computer Architecture
Winter 2008

Professor Daniel Stearns
Office 14-203
Office Hours Posted on office door and on Web page
email address dstearns22@earthlink.net
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 229(x225) and CSC 103 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 (Revised 3rd edition) , Morgan Kaufmann, 2005
Kidder, Soul of a New Machine , any edition

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 and office hours to ask questions about the course content 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 skip my spam filters.

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

Laboratory Exercises
Lab exercises are assigned and due the same day; they are intended to jump start your learning.
You are required to do all of the laboratory exercises; their purpose is to save you time!
Most of the lab exercises may be done with a partner.

Laboratory Projects
Laboratory projects are assigned regularly and are graded as described below.
Some laboratory projects are mandatory; they must be successfully completed to pass CPE 315. Failure to complete a mandatory project will result in a course grade of F.

Some lab projects (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 recommended laboratory tool is SIM, a tool provided by Michigan State University. SIM runs on Linux and can be run on almost all CSL computers. For most laboratory projects, you may use either SIM or Xilinx Schematic Capture and ModelSim.

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, have your lab writeup reviewed before you submit it.

  1. Laboratory projects 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. (Code files) 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. (Code files) When appropriate, subprograms should be used. The beginning of each subprogram must have an excellent description and clear specs for each parameter.

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

  5. (Code files) 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 files) 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. (Code files) 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.

Cheating
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 projects. 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 arithmetic and Appendix B of Patterson and Hennessy.

There will be another midterm examination (after Chapter 5) and a comprehensive final examination.

Grading
Homework - 5%

Homework is due before the beginning of lecture. No extensions will be given on homework for any reason. The examinations 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 Exercises - 0% to -24%
The laboratory exercises have no effect on your course grade if you either a) complete all of them on time or b) earn a laboratory project grade of 90% or greater.
Otherwise, each uncompleted or late laboratory exercise will lower your final course grade by 3 percentage points.
e.g. If your final course grade is 77 and you miss two exercises, your course grade will be adjusted to 71.

Laboratory projects- 30%

Laboratory projects are due at the beginning of the lecture period on the date due. Late projects 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 projects. 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 Report submitted late; submission rules #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 1/5/08