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

Mirza Mohammad Lutfe Elahi
Mirza Mohammad Lutfe Elahi
Senior Lecturer

My research interests include Machine Learning and Computer Vision.