EEE3530-01 Computer Architecture (Spring 2026)
Lectures: Tuesday 9-10:50 AM, Thursday 11-11:50 AM @ D603
Lectures-labs-credits: 3-0-3
Instructor: William J. Song (Office: Engineering Hall #3, C410, Email: wjhsong {\at} yonsei {\dot} ac {\dot} kr, Phone: 02-2123-2864)
Teaching assistants: TBD
Office hours:
- Instructor: Thursday 10-11 AM, or by appointment
- Teaching assistants: TBD
Prerequisites:
- Introduction to C/C++ Programming (or equivalent)
- EEE2020 Data Structures and Algorithms in C/C++
- EEE2040 Digital Logic Circuits
Class objectives: This course introduces the fundamental concepts, operations, and structures of computer architecture. Class objectives are as follows.
- Understanding the basic concepts of computer architecture, including instruction sets, instruction-level parallelism, pipelining, and caches
- Applying computer architecture concepts through hands-on programming assignments
Class policies:
- Honest and ethical behaviors are expected at all times. Any form of cheating will be severely penalized and reported to the university administration. This is a one-strike policy.
- Students must complete all assignments individually but are encouraged to seek help from the instructor or the teaching assistant (TA). There will be two office hours every week, one by the instructor and another by the TA. Students are encouraged to use office hours to troubleshoot programming assignments or to ask questions about course materials.
- Discussions between students are allowed, but sharing assignment solutions or source code is strictly prohibited.
- Lectures will be conducted entirely in English. Students may use Korean for Q&As.
- Requests for partial credits on assignments or exams will be considered cheating. Any student making such a request will lose all scores.
Textbook:
- Computer Organization and Design RISC-V Edition: The Hardware Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design), 2nd Edition, by John Hennessy and David Patterson (Link to Amazon)
Programming Assignments:
- Kite: Architecture Simulator for RISC-V Instruction Set (Link to GitHub)
Grading:
- Attendance: 10%
- Class participation: 5%
- Programming assignments: 45% (subject to change)
- Assignment #1: RISC-V assembly
- Assignment #2: Function calls
- Assignment #3: Floating-point numbers
- Assignment #4: Code optimization
- Assignment #5: Branch prediction
- Assignment #6: Cache
- Midterm exam: 20%
- Final exam: 20%
Course plans: (subject to change)
| Weeks | Dates | Lectures | Notes | |
| 1 | 03/03 | 03/05 | Computer abstraction | |
| 2 | 03/10 | 03/12 | Computer abstraction | |
| 3 | 03/17 | 03/19 | Instructions | Assignment #1 |
| 4 | 03/24 | 03/26 | Instructions | |
| 5 | 03/31 | 04/02 | Instructions | Assignment #2 |
| 6 | 04/07 | 04/09 | Arithmetic | |
| 7 | 04/14 | 04/16 | Arithmetic | Assignment #3 |
| 8 | 04/21 | Midterm | ||
| 9 | 04/28 | 04/30 | Datapath | |
| 10 | 05/07 | Datapath | Assignment #4 | |
| 11 | 05/12 | 05/14 | Pipelining | |
| 12 | 05/19 | 05/21 | Pipelining | Assignment #5 |
| 13 | 05/26 | 05/28 | Pipelining | |
| 14 | 06/02 | 06/04 | Memory hierarchy | Assignment #6 |
| 15 | 06/09 | 06/11 | Memory Hierarchy | |
| 16 | 06/16 | Final |
