Administrivia
Download
Report
Transcript Administrivia
RAIK 283
Data Structures and Algorithms
Dr. Ying Lu
[email protected]
Schorr Center 104
472-5793
Aug 28, 2012
http://www.cse.unl.edu/~ylu/raik283
Lecture
Data Structures and Algorithms
TuTh 1:30-3:20pm
Kauffman 112
Instructor: Dr. Ying Lu
Office hours: TuTh 12:20-1:20pm and by
appointment
Office: Schorr Center 104, 472-5793
e-mail: ylu AT cse dot unl dot edu
TAs
David Stephens
Office hours: W 8:00-9:00pm and by
appointment
Office: Kauffman 302
e-mail: davidstephens92 AT gmail dot com
Jordan Degner
Office hours: M 8:00-9:00pm and by
appointment
Office: Kauffman 307A
e-mail: jdegner0129 AT gmail dot com
Textbook
Introduction to the Design and Analysis of
Algorithms (3nd Edition), by Anany Levitin,
Addison Wesley
Course Theme
Data structure
An algorithm
a set of instructions that, when followed, solve a
specific problem
Programs
a way of storing data in a computer so that it can be
retrieved efficiently when required
implementations of algorithms that are executed by
computers
Better algorithms
huge performance improvement in resultant
programs
Course Objectives
Study classic data structures and algorithms that
solve common problems
Learn standard approaches to solving new
problems
Follow a rigorous approach to analyze and
compare algorithms
When needed, some discrete mathematics will
be covered, since it forms the foundation for
rigorous analysis
Broader Objectives
Learn critical thinking
Learn how to learn (on your own)
These objectives will be met through
interactive classroom discussions
challenging assignments
regular quizzes
progress assessment test (PAT)
final exam
Topics Covered (I)
The basics of algorithm analysis
Algorithmic techniques
Brute Force
Divide-and-Conquer (Decrease-andConquer, and Transform-and-Conquer)
Space and Time Tradeoffs
Dynamic Programming
Greedy Techniques
Topics Covered (II)
Theory of computing
Finite state machines
Halting problem
Tractable and in-tractable problems
Complexity classes, like P, NP & NP-Complete
Advanced topic: linear programming
Prerequisite:
CSCE /RAIK 184H
Mastery of data structures including list,
stack, queue, tree, and graph
Familiarity with recursion
Exposure to complexity analysis
Grading
Class Participation 6%
Assignments 50%
Quizzes 24%
PAT 2%
Final 18%
Letter Grade
No incomplete (I) will be given
A+ 97 B+ 87 C+ 77 D+ 67 F < 60
A 93 B 83 C 73 D 63
A- 90 B- 80 C- 70 D- 60
Class Participation
Attend classes
Participate in class discussions
Volunteer to solve in-class problems on
the white board
Do not use laptop, ipad, iphone, or any
device that pull your attention away from
the class!
Check your email regularly, of course
outside of the classroom
Assignments
Homework will be assigned about every three
weeks
Totally, 4 assignments
Each assignment
includes analytical (pen and paper) problems and
a programming exercise
will be due at the beginning of the class on the
given due date
Late Homework
Late homework is “OK” but...
Only if it’s not too late
You’re not late too often
All homework submitted after its deadline is
considered late
Assignments
submitted within 24 hours after the original
deadline are considered to be “one day late”,
within 48 hours, “two days late”, etc.
Late Homework Details
A late homework assignment will be
accepted without penalty if
the total “lateness” of all homework assignments
received to date (including the current
assignment) does not exceed 3 days
The penalty for late assignments is 25% per
day they are late
Weekends count in evaluating the lateness
of an assignment
Quizzes
Quizzes, will be given in-class
approximately every two weeks (MAY NOT
be announced in advance)
Format:
Problems based on the materials covered in
the immediate past
Course Conduct
You may work in groups in
You may not
understanding assignments
developing approaches and strategies
learning to use programming tools
develop joint solutions with other students
share code with other students
copy anything
All assignments, except for the last
programming exercise, constitute a team of
size one!
Announcement
To build our class roster
Send our TA David Stephens
(davidstephens92 AT gmail dot com) an email
with subject “RAIK283 roster”, your photo
(<2MB) and your name by this Thursday
Class roster example
Count toward your class participation
Announcement
Next, we will begin to study chapter1 in
the textbook
Reading List of the Week
Chapter 1, Chapter 2.1, Chapter 2.2