CS206C: Data Structure
This course will offer essential skills for a software engineer (SWE) to survive in the industry. We will study together how to 1) model real-world data into data representations in software and to 2) compose code that efficient processes data embodied in these data representation.
Basic Information
- Lecture: Tuesday/Thursday 10:30 AM - 11:45 AM
- Instructor: Sooel Son
- Email: sl.son (at) kaist.ac.kr
- Homepage: https://sites.google.com/site/ssonkaist/
- Lecture room: KLMS page
- Lab sessions: Elice page
- Office hours: Tuesday 2:30 PM ~ 3:30 PM via Zoom
- T.A.:
- Sunnyeo Park: psnyeo88 (at) kaist.ac.kr
- Soyoung Lee: soyoungleell (at) kaist.ac.kr
- Jungwoo Kim: kimjw0623 (at) kaist.ac.kr
Evaluation
- Attendance & Class participation: 10%
- Programming Assignment: 35%
- Quiz: 10%
- Final exam: 45%
Schedule
The following schedule is subject to change.
1st week
- 3/2: Introduction
- 3/4: Introduction to Java
2nd week
- 3/9: Arrays and Linked Lists
- 3/11: Lab session #1. Ceasar Cipher
3rd week
- 3/16: Recursion and Analysis Tools
- 3/18: Lab Session #2. Reversing a Linked List
Programming Assignment1
Due: PM 11:55, 3/22
4th week
- 3/23: Stacks and Queues
- 3/25: Lab Session #3. Linked List based Queue
5th week
- 3/30: Lists and Iterators
- 4/1: Lab Session #4
Programming Assignment2
Due: PM 11:55, 4/5
6th week
- 4/6: Trees
- 4/8: Lab Session #5. Evaluating Arithmetic Expressions
7th week
- 4/13: Priority Queue
- 4/15: Lab Session #6. Implementing Max-Priority Queue
Programming Assignment3
Due: PM 11:55, 4/19
8th week
- Midterm season
9th week
- 4/27: Priority Queue (Part II)
- 4/29: Lab Session #7. Implementing Max-Priority Queue 2
10th week
- 5/4: Maps and Dictionaries
- 5/6: Lab Session #8. Double Hashing
11th week
- 5/11: Search Tree
- 5/13: Lab Session #9. Implementing Binary Search Tree
Programming Assignment4
Due: PM 11:55, 5/17
12th week
- 5/18: Sorting, Sets, and Selection #1
- 5/20: Lab Session #10. Implementing Quick-sort
13th week
- 5/25: Sorting, Sets, and Selection #2
- 5/27: Lab Session #11. Implementing Radix-Sort
Programming Assignment5
Due: PM 11:55, 5/31
14th week
- 6/1: Graphs #1
- 6/3: Lab Session #12. Implementing BFS
15th week
- 6/8: Graphs #2
- 6/10: Lab Session #13.
16th week
- 6/??: Final exam from 9:00 AM to 10:45 AM (Subject to change)