EE209: Programming Structures for Electrical Engineering


Course Info

Lectures:

Meeting Time Meeting Place (Zoom)
Mon/Wed
13:00~14:15
EE209A https://kaist.zoom.us/my/wewantsj
EE209B https://kaist.zoom.us/j/84218018031?pwd=bHRreHVTTWtqTkxRL05PeG1NVmxZQT09
Professors :

Name Office Hours Office Email
Sung-Ju Lee (EE209A) By appointment N1, 306 profsj (at) kaist.ac.kr
Insu Yun (EE209B) By appointment N1, 812 insuyun (at) kaist.ac.kr
Teaching Assistants :

Name Email
Ryuhaerang Choi ryuhaerang.choi (at) kaist.ac.kr
Jiwan Hur jiwan.hur (at) kaist.ac.kr
Sungsu Hur sshuh1215 (at) kaist.ac.kr
Minsu Jang nobleminsu (at) gmail.com
Byeongin Joung byeonginjoung (at) kaist.ac.kr
Jaehan Kim rlawogks145 (at) kaist.ac.kr
Taeckyung Lee taeckyung (at) nmsl.kaist.ac.kr
Jinwoo Park jinwoo520528 (at) kaist.ac.kr
NaHyeon Park julia19 (at) kaist.ac.kr
Minkyoo Song minkyoo9 (at) kaist.ac.kr
SeungWon Yoo ysw1021 (at) gmail.com
Dongsuk Oh ods1108 (at) kaist.ac.kr
IMPORTANT NOTES

  • This class will be online and run live over Zoom. We will also record the lectures and upload the video.
  • We will use Campuswire and Google Drive instead of KLMS. YOU MUST REGISTER:
  • To contact Profs and TAs, please use ee209 (at) nmsl.kaist.ac.kr instead of individual emails.
  • We will not answer emails sent to individuals.

Class Overview

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.



Schedule:

Week Date Class / Assignment Slides Videos Submission
1 8/30 Mon Intro [slides-A] [slides-B] [video-A] [video-B]
9/1 Wed Numbers & Data Types [slides] [video-A] [video-B]
2 9/6 Mon Expressions, Control Flow & C Examples [slides] [video-A] [video-B]
9/8 Wed Functions & Scope [slides] [video-A] [video-B]
3 9/13 Mon Array Strings [slides] [video-A] [video-B]
9/15 Wed Pointers [slides] [slides ver.2] [slides ver.3] [video-A] [video-B]
9/17 Fri Due: Assignment #1 [Document] [submit-A] [submit-B]
4 9/20 Mon Chuseok - no class
9/22 Wed Chuseok - no class
5 9/27 Mon Structures & Dynamic Memory Allocations [slides] [video-A] [video-B]
9/29 Wed Testing [slides] [video-A] [video-B]
6 10/4 Mon Day off for National Foundation Day - no class
10/6 Wed Debugging [slides] [video-A] [video-B]
10/8 Fri Due: Assignment #2 [Document] [submit-A] [submit-B]
7 10/11 Mon Day off for Hanguel Day - no class
10/13 Wed Linked List & Hash Tables [slides-Linked List] [slides-Hash Tables] [video-A] [video-B]
8 10/18 Mon Midterm week [Online Exam Guideline] [Midterm Place (Zoom)]
10/20 Wed Midterm week
9 10/25 Mon Modularity [slides] [video-A] [video-B]
10/27 Wed Assembly 1 [slides] [video-A] [video-B]
10/29 Fri Due: Assignment #3 [Document] [submit (A/B)]
10 11/1 Mon Assembly 2 [slides] [video-A] [video-B]
11/3 Wed Assembly Functions [slides] [video-A] [video-B]
11 11/8 Mon Assemblers & Linkers [slides] [video-A] [video-B]
11/10 Wed Exceptions & Processes [slides] [video-A] [video-B]
12 11/15 Mon Memory Management [slides] [video-A] [video-B]
11/17 Wed Dynamic Memory [slides-A] [video-A] [video-B]
11/19 Fri Due: Assignment #4 [Document] [submit (A/B)]
13 11/22 Mon I/O Management [slides] [video-A] [video-B]
11/24 Wed Process Management [slides] [video-A] [video-B]
14 11/29 Mon Signals [slides] [video-A] [video-B]
12/1 Wed Undergrad Admissions Interview - no class
15 12/6 Mon Performance 1 [slides] [video-A] [video-B]
12/8 Wed Performance 2 [slides] [video-A] [video-B]
12/10 Fri Due: Assignment #5 [Document] [submit (A/B)]
[team registration]
16 12/13 Mon Finals week
12/15 Wed Finals week

Class Policy

Students are encouraged to interact with classmates, as well as the professor and the TAs, to discuss course material and assignment problems. In all your writing, including homework, essays, reports, and exams, use your own words, and acknowledge the source if you use someone else’s slides, quotes, figures, text, etc. Plagiarism and cheating are serious offenses and will be punished by failure on exams/assignments/course, and suspension or expulsion from the University.