SYLLABUS

CSCI 370 Computer Architecture

(the only required hardware course offered by the CS Division)
School of Electrical Engineering and Computer Science, University of North Dakota
Spring 2024

Class times & room: 11:15am – 12:05pm, MoWe; Leonard 215
Class times & room: 11:15am – 12:05pm, TuTh; Leonard 107
Credit hours: 4
Prerequisites: CSCI 330 (with a grade of C or better), EE 201, and EE 201L (strictly enforced—school policy)
Class pages: http://undcemcs01.und.edu/~wen.chen.hu/course/370/
 
Instructor: Wen-Chen Hu   (my teaching philosophy)
Email: wenchen@cs.und.edu
Office: Upson II 366K
Office hours: 12:30pm – 02:30pm, TuTh
Zoom ID: https://und.zoom.us/j/2489867333
 
Teaching assistant: Mohamed Osama Ali Mahmoud
Email: mohamed.mahmoud.1@und.edu
Office: Upson II 223
Office hours: 09:00am – 11:00am, MoTuWe
Zoom ID: https://und.zoom.us/j/3468502524


Synchronous Class Delivery
The class lectures will be delivered synchronously via https://und.zoom.us/j/2489867333, and the Zoom video will be posted on the Blackboard afterwards. Students can watch the video clips anytime they want.

Textbook
Computer Organization and Design MIPS Edition: The Hardware/Software Interface, 6th ed., David A. Patterson and John L. Hennessy, Morgan Kaufmann, ISBN: 978-0-12-820109-1

There is no specific textbook adopted for the assembly language discussed in this course because the lecture notes and the links provide enough information for us to use.)

Lecture Notes
Other than the textbook, award-winning, interactive, complementary, and abridged lecture notes (based on the textbook and other online documents and user manuals) and detailed and precise class instructions will be provided. Collectively, the lecture notes and instructions are more like a small book, which supplies much more information than regular notes do and makes the subject studies much easier. Students will not have problem learning the subjects or taking the exams after studying them and doing the homeworks and programming exercises.

Course Description
This course gives a study of computer architecture, which is the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance, and cost goals. It consists of two themes:
  • A high-level study of computer architecture including computer architecture basics, simple performance evaluations, arithmetic for computers, CPUs, memory, storage, and some other special topics.

  • A low-level study of programming languages—the MIPS assembly language—including machine presentation of numbers and characters, data transfers, addressing, arithmetic, conditional processing, procedures, etc.
A system structure of basic computer systems —


An assemble-link-execute cycle —


Objectives
After taking this course, students are able to achieve the following goals, but not limited to:
  • Knowledge of MIPS assembly language principles,
  • Knowledge of computing component and system principles,
  • An ability to understand and evaluate a computer-based system to meet desired needs, and
  • An ability to apply computer science principles in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
Evaluations
    Five homeworks             ——  20% total and 04% each
    Two programming exercises  ——  20% total (07% and 13%, respectively)
    Two exams                  ——  20% each
    Final exam                 ——  20%

Tentative Schedule
    Weeks      1,  2, &  3  ——  Introduction (Chapter 1)
    Weeks  4,  5,  6, &  7  ——  MIPS assembly language programming (Chapter 2)
    Weeks          8  & 10  ——  Arithmetic for computers (Chapter 3)
    Weeks 11, 12, 13, & 14  ——  The processor (Chapter 4)
    Weeks     15, 16, & 17  ——  Memory hierarchy (Chapter 5)

Instructor’s Qualification
The instructor has been teaching computer architecture for more than 10 years, so he is well familiar with the topics. In addition, he taught an assembly-language course for 7 years and designed and implemented a POPLOG virtual machine for which both LISP and PROLOG compilers generate code.

Dishonesty
Under no circumstances will acts of academic dishonesty be tolerated. Any suspected incidents of dishonesty will be promptly referred to the Assistant Dean of Students. Refer to the Code of Student Life, Appendix B.2: Academic Dishonesty.

Disability
Students who need special accommodations for learning or who have special needs are invited to share these concerns or requests with the instructor as soon as possible.





      Looking at my face is like reading in the car.    
      It’s all right for 10 minutes, then you start to feel sick.    
      — Andrew Lawrence