Course Description
This course provides the basic background necessary to understand the design and implementation of software components that support modern computer systems. The course covers C programming, machine organization, assembly language, and design, testing and debugging of software components as well as portions of operating systems concepts. Students will also learn how to use text editors, compilers, linkers, debuggers, and other software tools.Important Notes
- This class will be online and run live over Zoom.
- However, all the exams (midterm/final) will be conducted offline.
- We will use Campuswire and KLMS. You must register via email invitation. Contact TAs if you have not received a Campuswire invitation email.
- Campuswire: [EE209A & EE209B] (Register via email invitation)
- To contact TAs, please use kaist.ee209.ta@gmail.com instead of individual emails.
- We will not answer emails sent to individuals.
Lectures :
Meeting Time | Meeting Place (Zoom) | |
Mon/Wed 10:30~11:45 | EE209A | https://kaist.zoom.us/j/86945820045?pwd=L3NHRVhBUWxDemR0S2J1R05ON1d0dz09 |
EE209B | https://kaist.zoom.us/j/82815276172?pwd=N1RYcTRZdTVQZEEva04zWnFBN1AzZz09 |
Professors :
Name | Office Hours | Office | |
Minsoo Rhu (EE209A) | By appointment | N1, 809 | minsoo.rhu@gmail.com |
Dongsu Han (EE209B) | By appointment | N1, 814 | dhan.ee@kaist.ac.kr |
Schedule:
Week | Date | Class / Assignment | Slides | |||
---|---|---|---|---|---|---|
1 | 2/28 | Mon | Intro | [slides-A] [slides-B] | ||
3/2 | Wed | Numbers & Data Types | [slides-A] [slides-B] | |||
2 | 3/7 | Mon | Expressions, Control Flow & C Examples | [slides-A] [slides-B] | ||
3/9 | Wed | Election day - no class | ||||
3 | 3/14 | Mon | Functions | [slides-A] [slides-B] | ||
3/16 | Wed | Scope & Array Strings | [slides-A (Scope)] [slides-B (Scope)] [slides-A (Array Strings)] [slides-B (Array Strings)] | |||
3/18 | Fri | Due: Assignment #1 [Document] | ||||
4 | 3/21 | Mon | Pointers | [slides-A] [slides-B] | ||
3/23 | Wed | Structures & Dynamic Memory Allocations | [slides-A] [slides-B] | |||
5 | 3/28 | Mon | Testing | |||
3/30 | Wed | Debugging | ||||
6 | 4/4 | Mon | Linked List & Hash Tables | |||
4/6 | Wed | Modularity | ||||
4/8 | Fri | Due: Assignment #2 [Document] | ||||
7 | 4/11 | Mon | TBD | |||
4/13 | Wed | TBD | ||||
8 | 4/18 | Mon | Midterm week | |||
4/20 | Wed | Midterm week | ||||
9 | 4/25 | Mon | TBD | |||
4/27 | Wed | TBD | ||||
4/29 | Fri | Due: Assignment #3 (TBA) | ||||
10 | 5/2 | Mon | TBD | |||
5/4 | Wed | TBD | ||||
11 | 5/9 | Mon | TBD | |||
5/11 | Wed | TBD | ||||
12 | 5/16 | Mon | TBD | |||
5/18 | Wed | TBD | ||||
5/20 | Fri | Due: Assignment #4 (TBA) | ||||
13 | 5/23 | Mon | TBD | |||
5/25 | Wed | TBD | ||||
14 | 5/30 | Mon | TBD | |||
6/1 | Wed | TBD | ||||
15 | 6/6 | Mon | Memorial day - TBD | |||
6/8 | Wed | TBD | ||||
6/10 | Fri | Due: Assignment #5 (TBA) | ||||
16 | 6/13 | Mon | Finals week | |||
6/15 | Wed | Finals week |
Teaching Assistants :
Name | |||||
Jinha Chung (Head TA) | Yujeong Choi | Youngeun Kwon | Ranggi Hwang | Taehun Kim | Beomsik Park |
Hwijoon Lim | Jaehong Kim | Juncheol Ye | Yunheon Lee | NaHyeon Park | Minkyoo Song |
Jaehan Kim | Minsu Lee | Seongmin Song | Hyunyoung Park |
Assignments:
Assignment 1 | Assignment 2 | Assignment 3 | Assignment 4 | Assignment 5 | |
---|---|---|---|---|---|
TA | Youngeun Kwon | Taehun Kim | Jaehong Kim | Hwijoon Lim | Yujeong Choi |
Beomsik Park | Youngeun Kwon | Hwijoon Lim | Jaehong Kim | Beomsik Park | |
Ranggi Hwang | Jinha Chung | Yunheon Lee | Juncheol Ye | Ranggi Hwang |
Office hour:
Professors' office hours
- Start the email subject with [EE209].
- Set up an appointment by contacting the professor via email.
- E.g., "Hello Professor XXX" is not a good email subject, but "[EE209] Office hour registration" is.
TA office hours
- Office hours are held offline by default. However, if you would like to schedule an online meeting instead, let us know in advance by emailing us at kaist.ee209.ta@gmail.com.
- Office hours are held every Monday and Wednesday, from 7pm to 8pm. Mondays are for asking course-related questions, like getting help for Linux command usage and C language. Wednesdays are for asking assignment-related questions, but keep in mind that we cannot do the debugging for you.
- Visit this spreadsheet to sign up for office hours. You can still visit TAs during office hours even if you hadn't written down your name in advance, but we'd like to get a grasp of how many students will visit in advance.
- Come to the correct office! All TA offices are located in the N1 building, but the office numbers are different depending on your inquiries. More details are provided in the spreadsheet link.
Assignment 1:
Week 1, 2, 3 | Mon | Wed |
---|---|---|
19:00 ~ 20:00 | Course-related questions | Assignment-related questions |
N1 #919 | N1 #818 |
Assignment 2:
Week 4, 5, 6 | Mon | Wed |
---|---|---|
19:00 ~ 20:00 | Course-related questions | Assignment-related questions |
N1 #919 | N1 #818 |
Assignment 3:
Week 7, 8, 9 | Mon | Wed |
---|---|---|
19:00 ~ 20:00 | Course-related questions | Assignment-related questions |
N1 #919 | N1 #817 |
Assignment 4:
Week 10, 11, 12 | Mon | Wed |
---|---|---|
19:00 ~ 20:00 | Course-related questions | Assignment-related questions |
N1 #919 | N1 #817 |
Assignment 5:
Week 13, 14, 15 | Mon | Wed |
---|---|---|
19:00 ~ 20:00 | Course-related questions | Assignment-related questions |
N1 #919 | N1 #818 |