Course Description
Computers have profoundly affected our everyday lives and changed the ways we work and play. Computers will continue to have their impacts in almost every aspect of our society. In this course, we examine the organization and components of computer systems and the classical and cutting-edge technology for each of the components. The topics covered in this course include, but are not limited to:- Computer abstractions and technology
- Digital logic and devices
- Processor technology: datapath, pipeline and hazards, multiple issue, out-of-order execution
- Memory technology: memory hierarchy and caches, cache performance, performance optimization
- Parallel processing technology: categorization, multithreading, chip multiprocessing, cluster
Learning Objectives
Upon completion of this course, students will be able to:- Understand Von Neumann architecture and components
- know how to build basic computing and storage devices such as adders and registers
- Conduct system performance evaluation and analysis
- know representative architectures and their designs
- Understand parallel processing and technologies
- Evaluate cache performance and identify bottlenecks
Course Type
Required for BS CPSC. Student Outcomes for this course associated with the B.S. degree in Computer Science:- Graduates will be able 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
- Graduates will be able to analyze a problem, and identify and define the computing requirements appropriate to its solution.
- Graduates will be able to express ideas effectively in oral and written communications
- Graduates will be able to understand professional, ethical, legal, security and social issues and responsibilities
Required Materials
- D. Patterson and J. Hennessy, Computer Organization and Design, 5th edition, 2014. The ebook for the 4th edition is available to Clemson students through the Cooper Library.
Personnel
- Instructor: Rong Ge
- Email: rge AT clemson DOT edu
- Office hours: TR 10:45 AM - 12:10 PM
- Office: McAdams 209
- Grader: Pengfei Zou
- Email: pzou AT g DOT clemson DOT edu
- Office hours: TR 3:30 PM - 5:30 PM
- Office: TBA
Course Homepage
http://people.cs.clemson.edu/~rge/cpsc3300
Prerequisites
CPSC 2120 and CPSC 2310 with grades of C or better.
Assignments and Grading
The tentative grading scheme is as follows:- Quizzes for tracking attendance: 10%
- Homework: 20% (2.5% * 8)
- Projects: 15% (5% * 3)
- Exams: 30% (15% * 2)
- Final Exam: 25% (Comprehensive)
Course Policy
- Class attendance: class attendance is taken by submitted in-class quizzes and exams.
- Homework: homework assignments must be typed and submitted electronically and on time to blackboard.
- Programs: programs must run on servers in
School of Computing.
(Your laptop may have
applications and/or libraries not available on the servers; thus,
if your program makes use of these, your program cannot be run and
graded on the servers.)
- Programs that do not compile correctly will be assigned at most a score of 25%.
- Programs that work correctly for a few test cases but not for all reasonable inputs will not be given full points. It is your responsibility to code correctly for reasonable inputs.
- A total of three days (72 hours) of late submission is granted to each student for homework assignments and projects. No other late submissions will be accepted.
- Unless otherwise noted, programming is to be individual work. Do not discuss the solution to an assignment with anyone else (either a class member or someone else). If you have questions, ask me or the TA in person or by email.
- Exams: Exams must be taken at designated times. The exam dates are currently tentative on the schedule page.