CSE 373: Design and Analysis of Algorithms
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