CSE 373: Design and Analysis of Algorithms
CSE 373
Course Meeting Time:
(Section 7) MW 09:40 AM - 11:10 AM
(Section 8) MW 11:20 AM - 12:50 PM
Undergraduate Teaching Assistants:
TBA
Credit Hours: 3
Prerequisites:
CSE 225 - Data Structure and Algorithms
MAT 361 - Probability and Statistics
Course Description: This course introduces basic methods for the design and analysis of efficient algorithms emphasizing methods useful in practice. Different algorithms for a given computational task are presented and their relative merits evaluated based on performance measures. The following important computational problems will be discussed: sorting, searching, elements of divide-and-conquer, dynamic programming and greedy algorithms, advanced data structures, graph algorithms (shortest path, spanning trees, tree traversals), string matching, NP completeness.
Course Objectives: The objectives of this course are to
- analyze the asymptotic performance of algorithms.
- write rigorous correctness proofs for algorithms.
- demonstrate a familiarity with major algorithms and data structures.
- apply important algorithmic design paradigms and methods of analysis.
- synthesize efficient algorithms in common engineering design situations.
Required Text and Materials: “Introduction to Algorithms”, 3rd Edition by Charles E. Leiserson, Clifford Stein, Ronald Rivest, and Thomas H. Cormen.
Reference Text and Materials: “Algorithms”, 4th Edition by Robert Sedgewick and Kevin.
Course Grade
| ACTIVITIES | PERCENTAGES |
|---|---|
| Quizzes | 20% |
| Assignments | 10% |
| Midterm Exam | 30% |
| Final Exam | 40% |
| Total | 100% |
This course will be graded on as per university grading policy.
Lectures
| LECTURE | DATE | TOPIC |
|---|---|---|
| 1 | 30-06 | Introduction |
| 2 | 06-07 | Introduction (Continues) |
| 3 | 08-07 | Growth of functions |
| 4 | 13-07 | Divide and Conquer Algorithms |
| 5 | 15-07 | Divide and Conquer Algorithms (Continues) |
| 6 | 20-07 | Divide and Conquer Algorithms (Continues) |
| 7 | 22-07 | Sorting |
| 8 | 27-07 | Sorting (Continues) |
| 9 | 29-07 | Sorting (Continues) |
| 10 | 03-08 | Sorting (Continues) |
| 11 | 05-08 | Greedy Algorithms |
| 12 | 10-08 | Greedy Algorithms (Continues) |
| 13 | 12-08 | Greedy Algorithms (Continues) |
| 14 | 17-08 | [Midterm] |
| 15 | 19-08 | Dynamic Programming |
| 16 | 24-08 | Dynamic Programming (Continues) |
| 17 | 26-08 | Dynamic Programming (Continues) |
| 18 | 31-08 | Graph Algorithms (Continues) |
| 19 | 02-09 | Graph Algorithms (Continues) |
| 20 | 07-09 | Graph Algorithms (Continues) |
| 21 | 09-09 | Graph Algorithms (Continues) |
| 22 | 14-09 | Graph Algorithms (Continues) |
| 23 | 16-09 | Graph Algorithms (Continues) |
| 24 | 21-09 | NP-Completeness (Continues) |
| 25 | TBA | Final Exam |
Policy
-
Exams and Quizzes: TBA
-
Assignments: TBA
-
Class etiquette: TBA
-
Collaboration and Cheating Policy: TBA