SemesterFall Semester, 2019
DepartmentSophomore Class A, Department of Management Information Systems Sophomore Class B, Department of Management Information Systems
Course NameData Structure
InstructorYU FANG
Course TypeRequired
Course Objective
Course Description
Course Schedule

Lectures/Schedules (Subject to change)

彈性上課/No Lectures: Week 2, 16 and 18.

September- Get ready to programming!

Week 1. [3/3 hours] Opening: A brief overview of Java and eclipse [Lec0] [Lec1]

- Text Book (TB) Chapter 1

Week 2. [6 hours] Java environement setup. [彈性上課/No Lectures]

Week 3. [3/3 hours] Introduction: Object-oriented design and abstract data type [Lec2]

- TB Chapter 2

Week 4. [3/3 hours] Text matching and Class project announcements [Lec3]

- TB Chapter 12 

- Project: Intelligent Searching-BeatGoogle!

October – Introduce basic data structures and their implementations

Week 5. [3/3 hours] Linked List [Lec4]

- TB Chapter 3 and Chapter 6 

Week 6. [3/3 hours] Queues and Stacks [Lec5

- TB Chapter 5 and Chapter

Week 7. [3/3 hours] Trees [Lec6]

-TB Chapter 7. 

         -Lab programming test

Week 8. [3/3 hours] Heaps [Lec7

-TB Chapter 8

November – Introduce fundamental algorithms and their analyses

Week 9. [3/3 hours] BigO, Divide and Conquer [Lec8]  

        -TB Chapter 4, 11

Week 10. [3/3 hours] Merge/Quick Sort (Recurrence Equations) [Lec9]

        -TB Chapter 4, 11

Week 11. [3/3 hours] Dynamic Programming [Lec10]

         -TB Chapter 12

Week 12. [3/12 hours] Midterm Exam 

-Lecture 1-9 TB Chapter 1-8, 11-12

December – Step on advance data structures

Week 13. [3/3 hours] Binary Search Trees [Lec11]

         -TB Chapter 10

Week 14. [3/3 hours] Maps and Hash tables [Lec12]  and Dictionaries and Skip Lists  [Lec13

         -TB Chapter 9 and 10

Week 15. [3/6 hours] Graphics I [Lec14] and Graphics II [Lec15]  

-TB Chapter 13, 15

January – Talk and Demo 

Week 16. [12 hours] Project Implementation: Let's Beat Google (Project Proposal) [彈性上課/No Lectures]

Week 17. [3/12 hours] Project Implementation: Let's Beat Google (Project Demo)

Week 18. [12 hours] Project Implementation: Let's Beat Google (Final Report and Code Uplaod) [彈性上課/No Lectures]

Teaching Methods
Teaching Assistant




- Assignments/Labs: 40% (Weekly)

- Programming Project: 30% - including project proposal (20%), demo (40%) and implementation (40%). 3-5 students as a team. The project details will be announced at the early of Oct.


- Midterm Exam (close book): 30% 

*Please note that all slides/exams will be written in English despite Chinese or English sessions. Students are strongly encouraged to write their proposal and present their project in English.

Textbook & Reference

Text Book

Data Structures and Algorithms in Java 6th edition, by Michael T. Goodrich and Roberto Tamassia, John Wiley & Sons, Inc.

Official Website:

PDF Handouts [zip]

代理商:新月圖書公司/東華書局, 台北市重慶南路一段143號三樓TEL: 02-23317856


Urls about Course
The course web page: Links that might be useful: •Introduction to programming in Java [open course by MIT] •Java Applet Tutorial [oracle] •An svn tutorial [ibm] •Eclipse download [official website] •An eclipse tutorial [eclipse]