0% found this document useful (0 votes)
83 views22 pages

Data Structure and Algorithms: - Course Information

This document provides an overview of the CSIE 1212 Data Structures and Algorithms class for Spring 2017. It introduces the course information, topics to be covered, teaching style, assignments, exams and communications. The course will introduce commonly used data structures and teach how to implement them in programs. It will also cover analyzing algorithm running times. Topics include arrays, stacks, queues, linked lists, trees and graphs. The grade is based on homework, in-class performance, a midterm and final exam.

Uploaded by

wyh62373
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)
83 views22 pages

Data Structure and Algorithms: - Course Information

This document provides an overview of the CSIE 1212 Data Structures and Algorithms class for Spring 2017. It introduces the course information, topics to be covered, teaching style, assignments, exams and communications. The course will introduce commonly used data structures and teach how to implement them in programs. It will also cover analyzing algorithm running times. Topics include arrays, stacks, queues, linked lists, trees and graphs. The grade is based on homework, in-class performance, a midterm and final exam.

Uploaded by

wyh62373
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/ 22

[CSIE 1212 Class 02]

Data Structure and Algorithms


- Course Information
Prof. Michael Tsai
Spring 2017
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.

2
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


Know how to implement
the data
the data structure
“graphically”
using computer programs
in a step-by-step manner

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

• Some commonly used software development tools


& methodology (if time permits)

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”

Some English (new) slides Interactive classroom


Some English lectures
課堂程式競賽、程式除錯、
分組討論、上台報告…

Uncertain but fun!


7
8
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)

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

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

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

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

12
The teaching team
• TA (Administrative)
• 吳浩平 (Paul)
• R424

A few more to join the team later…

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

• 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)

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

You might also like