Instructor: Dr. Melissa Danforth
Office: Sci III 319, 654-3180
Office Hours: MTuW 2:00 - 3:00pm, F 2:00 - 4:00pm, and by appointment
Email: melissa@cs.csubak.edu
Course website:
http://www.cs.csubak.edu/~mdanfor/ under Teaching menu
Moodle website:
http://moodle.cs.csubak.edu/moodle/course/view.php?id=85
Course meets MW 3:15 - 4:55pm and Tu 3:15 - 5:45pm in Sci III 315
This course follows the Digital Logic Design course and focuses on the
design of the CPU and computer system at the architectural (or functional)
level: CPU instruction sets and functional units, data types, control unit
design, interrupt handling and DMA, I/O support, memory hierarchy, virtual
memory, and buses and bus timing. In contrast, the Digital Logic Design
course is primarily concerned with implementation; that is, the combinatorial
and sequential circuits which are the building blocks of the functional units.
Prerequisite: CMPS 223 with a grade of C- or better
C/C++ Programming
Data Structures
Introduction to Algorithms
5 quarter units. 4 units lecture (200 minutes), 1 unit lab (150 minutes).
Required for CS and CE
Computer Organization and Design, 5th edition. David A.
Patterson and John L. Hennessy. Publisher: Morgan Kaufmann Publishers, 2014.
ISBN: 978-0-12-407726-3
You may also use the revised 4th edition:
Computer Organization and Design, 4th edition (revised printing). David A.
Patterson and John L. Hennessy. Publisher: Morgan Kaufmann Publishers, 2012.
ISBN: 978-0-12-374750-1
None
Melissa Danforth, Wei Li, Marc Thomas
This course covers the following ACM/IEEE Body of Knowledge student learning
outcomes:
CC-AR4: Memory system organization and architecture
CC-AR5: Interfacing and communication
CC-AR6: Functional organization
CC-AR7: Multiprocessing and alternative architectures
The course maps to the following performance indicators for
Computer Science (CAC/ABET):
- 3a. An ability to apply knowledge of computing and mathematics
appropriate to the discipline.
-
- 3c. An ability to design, implement and evaluate a computer-based
system, process, component, or program to meet desired needs.
-
- 3i. An ability to use current techniques, skills, and tools necessary
for computing practice.
-
- 3j. An ability to apply mathematical foundations, algorithmic
principles, and computer science theory in the modeling and design of
computer-based systems in a way that demonstrates comprehension of the
tradeoffs involved in design choices.
-
The course maps to the following performance indicators for
Computer Engineering (EAC/ABET):
- 3a. An ability to apply knowledge of mathematics, science, and
engineering.
-
- 3c. An ability to design a system, component, or process to meet desired
needs within realistic constraints such as economic, environmental,
social, political, ethical, health and safety, manufacturability, and
sustainability.
-
- 3j. A knowledge of contemporary issues.
-
- 3k. An ability to use the techniques, skills, and modern engineering tools
necessary for engineering practice.
-
Exact topics will be posted to the Calendar section of the website.
Chapter 3 | Arithmetic for Computers | Review |
Appendix B | The Basics of Logic Design | Review |
Chapter 1 | Computer Abstractions and Technology | Weeks 1 and 2 |
Chapter 2 | Instructions: Language of the Computer | Weeks 1 and 2 |
Appendix A | Assemblers, Linkers and the SPIM Simulator | Weeks 1 and 2 |
Chapter 5 | Large and Fast: Exploiting Memory Hierarchy | Weeks 2 and 3 |
Chapter 4 | The Processor | Week 4 - 10 |
Chapter 6 | Parallel Processors from Client to Cloud | Week 10 (brief intro) |
Appendix C | Graphics and Computing GPUs | Week 10 (brief intro) |
Not applicable to this course.
Students are responsible for their own attendance. The topics covered
in lecture will be listed on the course website. Lab attendance is not
required but is strongly encouraged. If you attend lab and finish your
lab work before leaving, you can get it "instantly" graded by coming up
and showing me your work.
You may discuss the assignments with others in the class. If the
assignment is a group assignment, the group can turn in one assignment
for the entire group. If the assignment is an individual assignment,
each student must turn in their own work in their own words; no direct
copying from any source is allowed. Refer to the Academic Integrity
policy in the campus catalog and class schedule for more details.
The CEE/CS Tutoring Center in Sci III 324 is available for use by students
in this course outside of class time on a first come, first serve basis.
Priority in the lab is given to students who are completing assignments
for CEE/CS courses. See the schedule on the door for hours the lab will be
open.
There are also computers available in the CEE/CS Major Study Lounge in Sci
III 341 (formerly the CEE/CS Library). This room is only open when faculty
members are on campus, e.g. approximately 8am to 5pm on weekdays. If the
door is currently locked, see Steve, Erika, myself, or another faculty member
to unlock it.
Labs/Homework | 25% |
Midterms (2) | 50% (25% for each Midterm) |
Final | 25% |
Grades are posted on Moodle. Note: Moodle does not penalize your grade for
any ungraded assignments, so it will show your "current" overall percentage
based off the classwork graded to-date.
It is your responsibility to check Moodle for grades and any comments on
assignments. If you believe you submitted your assignment on time but the
comment field says "assignment not received", contact me.
Lab assignments will be posted on the course website. The labs are due at
noon on the day after the lab (Wednesday). Partial credit will be given for
incomplete labs. Late labs will not be accepted. The lowest lab grade will
not be counted towards the overall lab grade.
You may work on labs in groups of up to 3 students. If you work in a group,
make sure to put everyone's names on the assignment each week. Only the
students whose names are on the assignment will get credit for the lab.
If you attend the lab session on Tuesday and finish the lab by the end of
the session, come show your work to me to get "instantly" graded on Moodle.
If you do not attend the lab, submit your work to Moodle. Emailed submission
are not guaranteed to be accepted.
Homework assignments and due dates will be posted on the course website.
Assignments must be turned in via the Moodle website. Emailed submissions
are not guaranteed to be accepted.
Homeworks may be discussed with others in the class, but every student must
turn in their own assignments in their own words. Copying from other students,
the Internet, previous solutions, the textbook, etc. are all considered
violations of the Academic Integrity Policy.
Submissions must be in text (TXT), OpenOffice (ODT), DOC, PNG, JPEG, GIF, or
PDF format. DOCX files will not be accepted since they do not display properly
on Linux. You may also just write your answers in the Notes section if you
can adequately answer them in text format. Moodle records the last time you
edit the Notes field or upload a file as the submission time for the assignment.
If you have drawn something out by hand, take a picture or use a scanner.
Moodle has a maximum file size of 2MB, so keep this in mind when creating
your files. Split information over multiple files if needed.
If you submit multiple files, please name them in a fashion that indicates
what they contain, e.g. hw1_q2_drawing.jpg, hw2_part1.pdf, hw2_part2.pdf,
and so on.
If you have any difficulties submitting to Moodle, contact me or Steve Garcia
for help. Emailed submissions are not guaranteed to be accepted since my
email volume is so high and the spam detection software can silently drop
emails.
If there is no late policy posted on the homework assignment, then the
homework may be turned in up to three days late. Saturday and Sunday
combined count as only one day late (e.g. if the assignment is due Friday
and you turn it in Sunday, it will be marked as one day late). If there
is a late policy posted on the assignment, then that policy will apply
for that particular assignment. Late homework will be marked down 10%
for each day it is late.
Midterm 1 will be given on Tuesday January 27, 2015 during lab time
Midterm 2 will be given on Tuesday February 24, 2015 during lab time
If you miss a midterm, please inform me as soon as possible of the reason
for missing the midterm. Makeup midterms will not be given, but the other
midterm will be counted proportionally higher if you have a valid reason
for missing a midterm.
Midterm review sessions will be on the previous Friday at 3:15pm in Sci
III 315.
Wednesday March 18, 2015 from 5:00 - 7:30pm in Sci III 315
If you cannot make the scheduled final time because it conflicts with another
final or you have more than two finals scheduled that day, arrange an
alternate time with me at least ONE WEEK in advance of the above date.
The final review session time will be announced in class.
Melissa Danforth on 31 December 2014
Approved by CEE/CS Department on [date]
Effective Winter 2015