0% found this document useful (0 votes)
4 views15 pages

Lec 0

The document outlines the syllabus for a Data Structures course taught by Fang Yu at National Chengchi University in Fall 2017. It includes course information, objectives, requirements, and a roadmap of topics to be covered throughout the semester, emphasizing programming in Java and teamwork on a project. Key components include weekly homework, a midterm exam, and a team project titled 'Let's Beat Google!'.

Uploaded by

ims
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views15 pages

Lec 0

The document outlines the syllabus for a Data Structures course taught by Fang Yu at National Chengchi University in Fall 2017. It includes course information, objectives, requirements, and a roadmap of topics to be covered throughout the semester, emphasizing programming in Java and teamwork on a project. Key components include weekly homework, a midterm exam, and a team project titled 'Let's Beat Google!'.

Uploaded by

ims
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Fall 2017

Fang Yu

Software Security Lab.


Data Structures
Dept. Management Information
Systems,
National Chengchi University
Lecture 0
Syllabus
Course Information
¡ Instructor: 郁方 (Yu, Fang)
¡ [email protected]
¡ Office: 1113, 11F College of Commerce (商院261113)

¡ Lecture Time and Location:


¡ Weekly sessions
¡ Mandarin Session: Thursday 234 (9:10-12:00am, 商院260312)
¡ English Session: Thursday D56 (1:10-4:00pm, 商院260312 )

¡ You can find/download most of the course materials from


the course web site:
http://soslab.nccu.edu.tw/soslab/Courses.html
Text book
¡ Data Structures and Algorithms in Java 6th edition, by
Michael T. Goodrich and Roberto Tamassia, John Wiley &
Sons, Inc.

¡ Online resources:
http://www.wiley.com/go/global/goodrich

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

¡ TAs:
¡ 方元廷, [email protected]
¡ 田韻杰, [email protected]
¡ Monday 12:10-2:00pm
¡ Location: 逸仙樓 5F 資管系PC 教室
Course Objectives
¡ A next (and important) step in programming

You will learn

¡ the concepts, implementations, and applications of


fundamental data structures and algorithms

You will also learn

¡ how to develop Java applications using eclipse and java


class library
At the end of this course,
You should

¡ understand common data structures and algorithms

¡ be able to implement new data abstractions and use existing


library components

¡ feel comfortable programming in Java

¡ be a stronger programmer
Course Requirements
¡ Homework and Labs: 40%
¡ You will have a small programming homework (most likely it
will be every week)
¡ TAs will guide you in the lab
¡ You need to upload your code using WM5 before the due date.
¡ Late submission is accepted with penalty

¡ Midterm Exam (close book): 30%

¡ You are allowed to bring an A4 size note.


Course Requirements
¡ Team Project: 30%
¡ Topic: Lets Beat Google!
¡ 3-5 students as a team (Send the list to your TAs)
¡ Develop your application using Eclipse with SVN
¡ You will get extra points for updating your code constantly
¡ Each team needs to
1. Get your code running (Upload source codes)
2. Write the proposal and the final report
3. Give a Demo at the end of this semester
To be successful
You need to work hard, and work step by step.
- Attend labs and lectures
- Write your own code
- Visit the course website frequently
- Submit HWs/Reports on time
- Share your experience/ Discuss with your classmates, TAs,
and senior students
NO NO:
- No direct copies of others’ code (We can figure it out!)
- At least re-type/compile/test the codes on your own!
Road map.
September - Get ready to do programming!
¡ Topics:
¡ A brief overview of Java and eclipse
¡ Object-oriented design and abstract data type
¡ Text/Pattern matching
¡ Class project announcement

¡ Text book: Ch1, Ch2, and Ch12


In the following two weeks, please make sure that you
¡ can write and execute a small java code using Eclipse
(TAs will teach Eclipse in the lab on 9/18)
¡ have a team and start to think about the project
Road map..
October – Introduce basic data structures and their
implementations

¡ Topics:
¡ Linked Lists
¡ Queues
¡ Stacks
¡ Trees
¡ Heaps

¡ Text Book: Ch3, Ch5, Ch6, Ch7, Ch8


Road map…
November – Introduce fundamental algorithms and their
analyses

¡ Topics:
¡ Analysis of Algorithms
¡ Divide and Conquer
¡ Dynamic Programming
¡ Sorting and Search

¡ Text Book: Ch4, Ch10, Ch11, Ch12


Road map….
December – Step on advanced data structures

¡ Topics:
¡ Hash tables
¡ Skip lists
¡ Dictionaries and Maps
¡ Graphs and Topologies

¡ Text book: Ch9, Ch10, Ch13, Ch15


Road map….
January – It’s show time. Lets beat Google!

¡ Jan. 11: Project demo

¡ Jan. 18: Final code due. Make up exam (if needed)

You might also like