Skip to content

MSIT 5214 - Algorithms: Learning Materials

Get Ready For Your College Courses

To best prepare for your future studies, please review the below preparation resources. We encourage you to use the time before starting your first term, to get a taste of the topics of your upcoming courses. There’s no better time to start than now! Good luck with your studies!

Learn Principles of Databases

Course Overview

The need for efficient algorithms arises in nearly every area of computer science. But the type of problem to be solved, the notion of what algorithms are "efficient,'' and even the model of computation can vary widely from area to area. In this second class in algorithms, we will survey many of the techniques that apply broadly in the design of efficient algorithms and study their application in a wide range of application domains and computational models.

 

The goal is for the class to be broad rather than deep. Our plan is to touch upon the following areas. This is a tentative list of topics that might be covered in the class; we will select material adaptively based on the background, interests, and rate of progress of the students.

Preparation Resources

MSIT 5214 Algorithms - Course Schedule and Topics:

This course will cover the following topics in eight learning sessions, with one Unit per week.

Week 1: Unit 1 - The Role of Algorithms in Computing

Week 2: Unit 2 - Growth of Functions and Asymptotic Analysis of Algorithms

Week 3: Unit 3 - Divide and Conquer

Week 4: Unit 4 - Analysis of Sorting Algorithms

Week 5: Unit 5 - Data Structures and Algorithms

Week 6: Unit 6 - Hash Tables and their Applications

Week 7: Unit 7 - Graphs and Algorithms

Week 8: Unit 8 - String Matching Algorithms