Department of Computer Science and Engineering
Instructor: Jungsun Kim

kimjs@hanyang.ac.kr
(031) 400-5669

Time Location
Section A (Thu) 09:00-10:15 Á¦1°øÇаü 304È£
(Fri) 09:00-10:15 Á¦1°øÇаü 305È£
Section B (Thu) 10:30-11:45 Á¦1°øÇаü 304È£
(Fri) 10:30-11:45 Á¦1°øÇаü 305È£


Objectives

The course is aimed to improve student`s programming techniques by introducing data structures, abstract data types, and algorithms for sorting and searching. Course topics include the design and implementation of data structures such as arrays, lists, stacks, queues, trees, heaps, and graphs. Other topics include the algorithm analysis method and the study of algorithms for manipulating those data structures. On completion of the course, the student will be able to develop efficient applications.


Prerequisites

Students should be able to program in JAVA programming language. Some mathematical maturity also will be expected.


Textbook

Data Structures and Algorithms in Java
6th. ed., Michael T. Goodrich and Roberto Tamassia,
John Wiley & Sons, Inc., 2014
Lecture notes may be posted on the class web page, if necessary, as the lecture proceeds.


Course Schedule

This is a tentative schedule and thus might be updated as the class progresses.

Week Contents
1 Introduction to Data Structures
2 Arrays and Linked Lists
3 Recursions
4 Analysis Tools (Big-Og Notation)
5 Stacks and Queues
6 List and Iterator ADT
7 Trees
8 Midterm Exam
9 Heaps and Priority Queues
10 Hash Tables and Maps
11 Trees
12 Binary Search Trees (I)
13 Binary Search Trees (II)
14 Binary Search Trees (III)
15 Sorting
16 Final Exam


Grading

Midterm Exam 35%
Final Exam 50%
Homeworks & Projects 15%