Data Structures, Fall 2017
This is an introductory course on data structures, concerning the various ways of organizing data so that the data can be accessed and manipulated efficiently by an application.
A central concept is that of an abstract data type, which is a collection of data and a set of operations on the data.
The course therefore focuses on the fundamental concepts, techniques, and tools for the design and implementation of abstract data types, following the teaching of object-oriented design and programming for computer problem solving.
Announcements
01/22: Grade Report available; contact Yih-Kuen Tsay by 5PM 01/23 if you have any question or request.
-
-
12/18: slides for Graphs available.
12/18:
HW#10 due 2018/01/02.
-
12/11: slides for Balanced Search Trees available.
12/04: slides for Dictionaries and for Hashing available.
-
-
11/20: slides for Heaps available.
-
-
11/13: slides for Trees (Terminology and ADTs) and for Tree Implementations available.
-
-
10/30: slides for Queues available.
-
10/23: slides for Algorithm Efficiency and for Sorting available.
-
10/16: slides for Lists: The ADT and Its Uses and for Lists: Implementations available.
-
10/16: Ceiba course site (ID: 1061ds2017) ready; entering via the
Ceiba main site gets better functionality (as advised by Ceiba developers).
-
10/02: slides for Stacks: The ADT and Its Uses and for Stacks: Implementations available
09/29: slides for Link-Based Implementations along with example programs available.
-
09/25: slides for Review of C++ and for Array-Based Implementations along with example programs available.
-
09/18: slides for Recursion available.
09/11: slides for Data Abstraction available.
09/08: website announced. This website is the primary source of all up to date course information and syllabus of Data Structures 2017; there is no separate PDF version for the syllabus.
Instructor
Yih-Kuen Tsay (蔡益坤), NTU IM Dept.,
3366-1189, Xtsay@ntu.edu.twX
(between the enclosing pair of X's).
Lectures
Monday 2:20~5:20PM, Room 103, Management Building 1.
TA
sessions will be scheduled prior to some of the class meetings between 1:20
and 2:10PM; see the course schedule below.
Office Hours
Tuesday 1:30~2:00PM, Wednesday 1:30~2:00PM, or by appointment, Room 1108,
Management Building 2.
TAs
Carlos Chang (張永叡), Xjake080449@gmail.comX
(between the enclosing pair of X's).
Hung-Chih Chen (陳泓志), Xr06725012@ntu.edu.twX
(between the enclosing pair of X's).
Textbooks
[CH] F.M. Carrano and T. Henry, “Data Abstraction and Problem Solving with C++: Walls and Mirrors,” 6th Edition, Pearson, 2013 (International Edition).
Supplementary readings.
Syllabus/Schedule (with links to notes/slides)
The course will cover most of the main textbook [CH] in essentially the same order, plus supplementary readings. (Note: a TA session will precede a class meeting whose date is marked with an *. There are four TA sessions on 10/16, 10/30, 11/20, and 12/25.)
References
Grading
Homework (including programming exercises/projects) 30%, Participation 10%, Midterm 30%, Final 30%.