Preview this course in the non-credit experience today!
Start working toward program admission and requirements right away. Work you complete in the non-credit experience will transfer to the for-credit experience when you upgrade and pay tuition. See How It Works for details.
Cross-listed with DTSA 5503
- Course Type: Pathway | Breadth
- Specialization: Foundations of Data Structures and Algorithms
- Instructor: Dr. Sriram Sankaranarayanan, Professor of Computer Science
- Prior knowledge needed: You must understand all concepts covered in Dr. Sankaranarayanan's non-credit Algorithms for Searching, Sorting, and Indexing and Trees and Graphs: Basics courses to succeed in this course. We highly recommend successfully completing those two courses in the non-credit experience before starting this course; they are a great option to refresh your skills and ensure you're ready. Note that you cannot apply credit from either of these courses toward MS-CS graduation requirements. Calculus, probability theory: distributions, expectations and moments. Some programming experience with Python.
Mathematical Background
Calculus, Introduction to Complex Algebra, Probability Theory: distributions and expectations.
Programming Background
The course involves solving programming assignments in Python. Beginner to intermediate programming experience with Python.
Course Description
This course is part three of a specialization on algorithms and data structures. It covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) .
Learning Outcomes
Course Grading Policy:
Assignment |
Percentage of Grade |
---|---|
Quizzes (Multiple Choice) |
2% each (28% total) |
Programming Assignments 1-3 |
15% each (45% total) |
Programming Assignment 4 |
17% |
Final Exam |
10% |
Total |
100% |
Course Content
2022 Coursera Innovation Award Winner. Learn more.