Instructor: Dr. Roshanak Roshandel
Office Phone: (206) 296-5512
Office: ENGR 507
Office Hours: Tuesdays 5:00-6:00 pm or by appointment
E-mail: roshanak@seattleu.edu
· Introduction to the Design and Analysis of Algorithms (2nd Edition) Levitin
ISBN-10: 0321358287, ISBN-13: 978-0321358288
Basic strategies of algorithm design: top-down design, divide and conquer, average and worst-case complexity, asymptotic costs, simple recurrence relations. Choice of appropriate data structures such as arrays, stacks, queues, trees, heaps, graphs, hash tables, etc. Applications to sorting and searching. Introduction to discrete optimization algorithm: dynamic programming, greedy algorithms.
|
Date |
Topics |
Readings |
Assignments |
|
W1 1/6/2009 |
Introduction Fundamentals
of Algorithms and Problem Solving Overview of
Data Structures |
Chapter 1 |
|
|
W2 1/13/2009 |
Data
Structure Analysis of
Algorithm Efficiency |
Chapter 2 and
3 |
Assignment 1
due |
|
W3 1/20/2009 |
Brute force |
Chapter 3 |
Assignment 2
due |
|
W4 1/27/2009 |
Divide and
Conquer |
Chapter 4 |
Exam 1 |
|
W5 2/3/2009 |
Divide and
Conquer Decrease and
Conquer |
Chapter 4 and 5 |
Assignment 3
due |
|
W6 2/10/2009 |
Decrease and Conquer |
Chapter 5 |
|
|
W7 2/17/2009 |
Transform and
conquer |
Chapter 6 |
Programming
Assignment 1 due |
|
W8 2/24/2009 |
Transform and
conquer |
Chapter 6 |
Exam 2 |
|
W9 3/3/2009 |
Space and
Time Tradeoffs Dynamic programming |
Chapter 7, 8 |
Assignment 4
due |
|
W10 3/10/2009 |
Greedy algorithms Algorithm Limitations |
Chapter 9, 11 |
Programming
Assignment 2 due Extra
Credit (Assignment 5 due) |
|
3/17/2009 |
Exam
3 |
||
You are responsible for the materials covered in class, assignments announced and modified, etc. There will also be quizzes and in-class assignments.
All take-home assignments are due before the start of class on the due date. No late submission will be accepted.
There is a 10% penalty for late submission of assignments up
to 24 hours. Submission after 24 hours will not be graded without prior
permission from the instructor.
You are expected to review assigned materials in advance of the relevant class (handouts and textbook). There will be several programming and non-programming assignments, some take home assignments (not graded), a few in-class quizzes and assignments, a midterm, an in-class or take home final exam.
You are encouraged to participate in various class activities, ask questions, discuss and test your ideas. You are also highly encouraged to ask questions either during office hours or by email.
There will be several programming assignments throughout the quarter. You may choose to solve these problems in either C++ or Java programming language. No other programming language will be accepted for these assignments.
Plagiarism is the unacknowledged use of the work or
intellectual property of other persons, published or unpublished, presented as
ones own work. All students are expected to work on all individual assignments
independently. Collaboration on individual assignments is considered cheating
and will be penalized accordingly. Other examples of behavior that is not
tolerated in this class include copying all or part of someone elses work and
submitting it as your own, sharing your assignment solution with other students
in the class, consulting with another student during an exam, and copying text
from published literature without proper attribution. If you have questions
about what is allowed, please discuss it with the instructor. All students are
responsible for reading and following the