• 沒有找到結果。

Data Structure and Algorithms

N/A
N/A
Protected

Academic year: 2022

Share "Data Structure and Algorithms"

Copied!
22
0
0

加載中.... (立即查看全文)

全文

(1)

Data Structure and Algorithms

Prof. Michael Tsai Spring 2017

- Course Information

[CSIE 1212 Class 02]

(2)

Data Structure and Algorithm – What are they?

• Data structure –

store, represent, and manipulate DATA in the computer.

• Algorithm –

well-defined computational procedure that take

some value(s) as input and produces some value(s) as output.

(3)

What are we learning?

“Cookbook style”

- introduction of the most commonly used data structures

Transformation of concept to program

Learn by examples (C and pseudo code)

LOTS of opportunities (in-class exercises and homework)

Know how to manipulate the data

“graphically”

in a step-by-step manner

Know how to implement the data structure using computer programs

(4)
(5)

What are we also learning?

• Learn how to analyze the running time of your program / algorithm

So that you write good, fast, efficient programs

• Some commonly used software development tools

& methodology (if time permits)

(6)

Topics to be covered

Before Midterm:

• Array

• Stack & Queue

• Linked List

• String Matching

• Sorting

• Tree

(tree traversal and binary search tree)

After Midterm:

• Heap and hash table

• Disjoint set, selection

• Advance tree structure

• Graph basics

• Fast Fourier Transform (tentatively)

(7)

“This is an experimental version of the DSA course”

Some English (new) slides Some English lectures

Uncertain but fun!

Interactive classroom

課堂程式競賽、程式除錯、

分組討論、上台報告…

(8)
(9)

My teaching style

• GOAL: 80% of the students will understand 80% of the content

• NEW GOAL: hopefully DURING THE CLASS

• I will ask you questions

(or nudge you if you fall asleep during class)

• I will repeat until you understand

(looking for signs of comprehension)

• I tell icy jokes (to keep you awake)

(10)
(11)

Textbook

Introduction to Algorithms, 3rd edition, 2009, MIT Press by Cormen, Leiserson, Rivest, and Stein

(12)

The teaching team

Name Picture Name Picture

李鈺昇 (Kevin) 邱筱晴 (Daphne)

謝明勳 (Leon) 林于智 (Steven)

許晉嘉 (Eddy) 楊承勳 (Hsun)

(13)

The teaching team

• TA (Administrative)

• 吳浩平 (Paul)

• R424

A few more to join the team later…

(14)

Grade

40% 4 Homework assignments

25% In-class performance

15% Midterm exam

Covers all content before midterm

20% Final exam

Covers all content taught in this semester

Conversion between raw score & letter grade will be determined by the instructure

Based on our experience:

“只要作業都有寫有交, 考試考卷每題都有寫不放棄, 就 很難被當“

(15)

Homework

In each assignment:

• 2 Programming problems

Will be graded by online judge

Maximum of 5 code submissions per day

Learn how to test your own code!

• 2-3 additional, non-programming problems

Proofs, analysis

Or design data structure / algorithm by “hands”

(16)

Homework: references

• We encourage discussion

• Please note references for all problems

Example 1: Reference: wikipedia page at [URL]

Example 2: Discussion with B87506055

Example 3: Reference: book [title] p.xx

• No COPYING!

(write with references in front of you)

• We will use tools to monitor code similarity

• CONFIRMED case of PLAGIARISM:

F grade

(17)

Homework: submission

• Electronic submission only

(details to be announced, SVN or git)

• Late submission: up to one day after the deadline

For all late submission, you get linearly increased penalty for that assignment.

Example: you submit your homework 3 hours late.

Then you get (1-(3600*3/86400))*100% = 87.5% of your score.

• Detailed rules will be available at the beginning of each homework problem description document.

(18)

Exams

• 3-hour exam during the regular midterm & final exam time

• Both exams will feature

Programming problems + online judge

Additional hand-written problems

(19)

Lecture time

• Official time:

• Lecture: Tuesdays, 678 (13:20-16:20)

• Breaks: 14:10-14:20, 15:10-15:30

• We might do minor adjustments according to how the students react (too sleepy, for example).

• Note the difference with the other class taught by Prof. 張智星 (Tuesdays, 789)

(20)

For students

who have not yet got in…

Maximum number of students: 100

Priority:

1. 資訊工程系大一雙班(不小心退選了?)

2. 資訊工程系大四(及以上)>大三>大二>大一

3. 資訊學群研究所

4. 電機資訊學院學生(大四及以上>大三>大二>大一) 5. 其他學院(大四及以上>大三>大二>大一)

Please fill out the form:

https://goo.gl/forms/mWuWrW3YHA8iMV2A3

Students who have special reasons and REQUIRE to take this course this semester:

please come and talk to me today after the lecture.

(21)

Communications

Course website:

http://www.csie.ntu.edu.tw/~hsinmu/courses/dsa_17spring

How do you reach us?

1. Email to dsa1@csie.ntu.edu.tw 2. Facebook Group

https://www.facebook.com/groups/dsa17spring/

3. Please come to our office hour.

How do we reach you?

Email to your NTU mailbox (via CEIBA) [id]@ntu.edu.tw

Important announcements will also be available on Facebook Group

Typical DSA office hour (when no HW due soon)

(22)

TODO

• Get your textbook (required!)

Reading assignment for week 3 will be available soon.

• Make sure that you can receive emails sent via CEIBA

• Sleep well and prepare for a productive new semester

• NO CLASS NEXT WEEK! (228 memorial day)

參考文獻

相關文件

For example, as a user of deep learning, you probably need to roughly know how it worksX. Otherwise you might now know what you are doing and what kinds of results you

Reading Task 6: Genre Structure and Language Features. • Now let’s look at how language features (e.g. sentence patterns) are connected to the structure

● size() 回傳 queue

● In computer science, a data structure is a data organization, management, and storage format that enables efficient access and

important to not just have intuition (building), but know definition (building block).. More on

• Uses a nested structure to accumulate path data as the simulation is running. • Uses a multiple branch structure to choose the

• Recorded video will be available on NTU COOL after the class..

—we cannot teach all, but with reading you can learn all 3-6: 3 hour teaching, 6 hour reading/writing after class as important as writing assignments:. some may show up