csie1212: data structures and algorithms 資料結構與演算法 hsuan-tien lin ( 林軒田 )...

23
CSIE1212: Data Structures and Algorithms 資資資資資資資資 Hsuan-Tien Lin ( 林林林 ) Jyh-Shing Roger Jang ( 林林林 ) CSIE Dept, National Taiwan University

Upload: kristian-hutchinson

Post on 27-Dec-2015

279 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

CSIE1212:Data Structures and Algorithms

資料結構與演算法

Hsuan-Tien Lin ( 林軒田 )Jyh-Shing Roger Jang ( 張智星 )

CSIE Dept, National Taiwan University

Page 2: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

2

Warnings Before (Signing for) the Course (1/3)

Goal of NTU DSA class As good as the best ones in the world

Tentatively, 6 homework sets, midterm exam, final project

About homework Including writing assignments and time-consuming

programming assignments HW1 is to be announced next week

Warning: High expectations Be prepared to work hard!

Page 3: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

3

Warnings Before (Signing for) the Course (2/3)

Will you give me a second chance if I copy homework from other people? No.

Could you let me pass because I will be kicked out by the ½ rule? No.

Will you change my score from F to C? No.

Warning: Strict instructor Be prepared to follow the rules!

Page 4: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

4

Warnings Before (Signing for) the Course (3/3)

We are veterans HT: Fifth-time teach the course Roger: Fourth-time teach the course

But we are ambitious and willing to experiment with different ways for effective learning.

How many people will not pass? Not known yet.

Will your investment get good return (knowledge)? No guarantees, but we’ll try our best.

Warning: Uncertain outcome Be prepared to take some risks!

Page 5: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

5

Wise Words

給資訊系的同學們:努力加油!給想加選的外系同學們:審慎考慮!

Page 6: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

6

Some Historical Notes

Around 1997 「計程」有兩學期,上學期教 C ,下學期教 C++ 大二上學期教「資料結構」 大二下學期教「演算法」

Starting 2001 「計程」變成一學期,大一下學期教「物件導向程式設計」 大二上學期教「資料結構與演算法上」 大二下學期教「資料結構與演算法下」

Starting 2010 物件導向程式設計變為選修 大一下學期教「資料結構與演算法」 大二上學期教「演算法設計與分析」

Page 7: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

7

Reasons

兩學期的「計程」變成一學期、「物件導向程式設計」變成選修:相信同學們可以有自己學習不同語言的能力。

把「資料結構」及「演算法」合成一門課:兩者互相依賴,其實不容易分散來教。

把「資料結構與演算法上 / 下」區分成「資料結構與演算法」和「演算法設計與分析」:強調前者以實作為主,銜接計程做更深入的程式練習;後者以分析為主,建立在前者的基礎上以探討更多不同的演算法。

Page 8: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

8

Course Descriptions

Goal Use software to synergize two resources effectively

Computation: CPU, GPU Storage: memory, disk, network

A program is… Algorithms + Data Structures = Programs

Page 9: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

9

About Instructors

Instructors Hsuan-Tien Lin 林軒田

Email: [email protected] Office: 314

J.-S. Roger Jang 張智星 Email: [email protected] Skype: roger_jang Mobile: 0953-154-045 Office: 509

Office hours: After class or by appointments

Page 10: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

10

Important Links

Important links for DSA DSA on Facebook

https://www.facebook.com/groups/1613087705581971 CEIBA (for mailing list, etc)

HT: http://ceiba.ntu.edu.tw/1032dsa Roger: http://ceiba.ntu.edu.tw/1032dsaByRoger

Course websites: HT: http://www.csie.ntu.edu.tw/~htlin/course/dsa15spring Roger: http://mirlab.org/jang/courses/dsa

Page 11: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

11

Textbook and Prerequisites

Textbook: Data Structures and Algorithms in C++, 2nd Edition by Goodrich, Tamassia and Mount. Please get it as early as possible since we have reading

assignments Learning to read a text book is part of the course NTU Library: reserved copy in the shared course material area

Prerequisites C: required C++: preferred

Page 12: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

12

To Keep Two Classes Sync’ed

To keep these two DSA classes equivalent (and make it fair), we will try to keep (almost) everything the same, including textbook, homework, midterm exam, final project, grading formula, TAs, schedule, etc.

So what’s the difference? HT’s class is in English Roger’s class is in Mandarin

So… You don’t need to switch between these two classes. You are welcome to attend any class at any time.

Page 13: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

13

More about the Instructors

Both instructors are strict but friendly, and willing to help... Will you repeat the previous code/slide? Yes! Will you discuss with me after class if I don’t understand? Yes! Will you pardon my silly questions? There is no silly questions at

all!

Feel free to ask the instructors and give feedbacks!

Page 14: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

14

About Enrollment

Both instructors welcome extra enrollment, up to the limit of the classroom. (Type-3)

Auditing is also welcome.

Think before you choose to enroll.If you have chosen to do so, welcome aboard!

Page 15: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

15

About TAs

List of TAs (tentatively): Graduate student: 黃冠豪 Undergraduates: 宋彥頡、林天翼、陳步青、鍾毓安、鍾詠先、

林于智、沈亮欣、劉承昌、周紀寧 Email for TAs: [email protected]

All the TAs and instructors will receive emails sent to this account.

It is usually faster than sending to individual. Office hours for TAs: to be announced.

Very friendly TAs. Be sure to ask them questions!

Page 16: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

16

Policy of fairness

How important is fairness? For monkeys

Our ultimate policy of fairness Taking any unfair advantages over other class members is not

allowed It is everyone’s responsibility to maximize the level of fairness. This applies to instructors, TAs, and students.

No cheating!No lying!

No plagiarism!

Page 17: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

17

Grading Policy

10% for participation 2% each for in-class or on-forum (FB) questions/asnwering

90% Homework: 45% or so Midterm exam: 20% or so Final project: 25% or so

The final grades are based on both scores and rankings The instructors reserve the rights to

Adjust percentages of each categories Determine the way to combine scores and rankings

Page 18: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

18

About Homework (1/2)

Homework discussions are encouraged, but students should have their own write-ups alone and understand them fully.

References (books, notes, Internet) can be consulted, but not copied from.

Lending/borrowing homework is strictly prohibited!

Deal? If your classmate wants to borrow homework from you, what do you say?

Page 19: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

19

About Homework (2/2)

No individual extension allowed unless for legitimate reasons notified in advance

Overdue penalty for homework 90% discount for overdue of 0-12 hours 80% discount for overdue of 12-24 hours …

Four penalty-free late half-days ( 金牌 ) per person.

Page 20: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

20

Reading Assignments

Weekly reading assignments Sections related to what we teach Sections that are worth reading by yourself

3/6: 3-hour teaching, 6-hour reading/writing after class Some of the reading material may show up in exams

We cannot teach the whole book, but with reading you can learning it all.

Page 21: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

21

How to Pass the Class?

Golden rules to pass the class Catch up from day 1 Ask questions! Have fun (and spend hours) writing programs Understand theorems and proofs

Page 22: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

22

Can and Cannot

Rules in the classroom Eating? Fine, but no smells and no noise Sleeping? Fine, but no snoring Cellphone? Fine, but use silent mode and speak outside

Page 23: CSIE1212: Data Structures and Algorithms 資料結構與演算法 Hsuan-Tien Lin ( 林軒田 ) Jyh-Shing Roger Jang ( 張智星 ) CSIE Dept, National Taiwan University

23

Todo List

Update your secondary email address on CEIBA Read the policy thoroughly Buy the textbook and read Chapter 1

Welcome aboard!Questions?