SemesterFall Semester, 2019
DepartmentSophomore Class A, Department of Management Information Systems Sophomore Class B, Department of Management Information Systems
Course NameData Structure
InstructorYU FANG
Credit3.0
Course TypeRequired
Prerequisite
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

TBA


Requirement/Grading

Homework:

- 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.



Exam: 

- 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: http://www.wiley.com/go/global/goodrich



PDF Handouts [zip]



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



 


Urls about Course
The course web page: http://soslab.nccu.edu.tw/Courses.html 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]
Attachment