Data Structure and Algorithms: - Course Information
Data Structure and Algorithms: - Course Information
• Algorithm –
well-defined computational procedure that take
some value(s) as input and produces some value(s)
as output.
2
What are we learning?
• “Cookbook style”
- introduction of the most commonly used
data structures
3
4
What are we also learning?
• Learn how to analyze the running time of your
program / algorithm
• So that you write good, fast, efficient programs
5
Topics to be covered
Before Midterm: After Midterm:
• Array • Heap and hash table
• Stack & Queue • Disjoint set, selection
• Linked List • Advance tree structure
• String Matching • Graph basics
• Sorting • Fast Fourier Transform
• Tree (tentatively)
(tree traversal and
binary search tree)
6
“This is an experimental version
of the DSA course”
9
10
Textbook
Introduction to Algorithms, 3rd edition, 2009, MIT Press
by Cormen, Leiserson, Rivest, and Stein
*借用呂學一老師2010 Fall投影片中的圖片
11
The teaching team
Name Picture Name Picture
12
The teaching team
• TA (Administrative)
• 吳浩平 (Paul)
• R424
13
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:
“只要作業都有寫有交, 考試考卷每題都有寫不放棄, 就
很難被當“
14
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”
15
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
16
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.
17
Exams
• 3-hour exam during the regular midterm & final
exam time
• Both exams will feature
• Programming problems + online judge
• Additional hand-written problems
18
Lecture time
• Official time:
• Lecture: Tuesdays, 678 (13:20-16:20)
• Breaks: 14:10-14:20, 15:10-15:30
19
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.
20
Typical DSA office hour
(when no HW due soon)
Communications
• Course website:
http://www.csie.ntu.edu.tw/~hsinmu/courses/dsa_17spring
• How do you reach us?
1. Email to [email protected]
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
21
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)
22