Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Northeastern University

Data Structures & Algos: Software Development Skills

Northeastern University via Coursera

Overview

This course will guide you through the essential principles of algorithms and their significance in computational problem-solving. You'll begin by exploring what an algorithm is, its core characteristics, and how it applies to real-world scenarios—from simple everyday tasks to complex computing challenges. As you progress, you will learn about the critical role algorithms play in improving efficiency and scalability across various fields. We’ll break down key concepts such as algorithmic complexity, helping you evaluate the efficiency of different approaches, which will ultimately guide your decision-making.

Syllabus

  • Introduction to Algorithms
    • In this module, you will be introduced to the foundational concept of algorithms, including their characteristics and how they are integral to solving computational problems. You’ll explore the basics of algorithmic complexity and efficiency, providing a strong foundation for the advanced topics in subsequent modules.
  • Stable Matching and the Gale-Shapley Algorithm
    • In this module, you will explore the powerful and elegant Gale-Shapley algorithm, originally developed to solve the stable marriage problem. This algorithm, widely used in real-world applications such as college admissions and job matching, ensures that individuals are paired in a way that avoids instability—where two participants could form a better match with someone else. By understanding the principles behind stable matching and the mechanics of this algorithm, you'll gain insight into one of the most influential solutions in game theory, optimization, and computer science.
  • Sorting and Caching
  • Algorithm Analysis
    • In this module, you'll begin by summarizing key concepts like computational tractability, asymptotic growth, and the notations used to evaluate algorithm efficiency. You'll then dive into time complexity, learning how to optimize algorithms for different scenarios and classify them into appropriate complexity classes. By the end, you'll be able to apply these analysis techniques to real-world problems, optimizing solutions while considering the implications and limitations of algorithm analysis.

Taught by

Nicholas Brown

Reviews

Start your review of Data Structures & Algos: Software Development Skills

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.