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

Microsoft

Data Structures and Algorithms

Microsoft via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course explores data structures and algorithms for back-end development, focusing on performance and scalability. You'll learn to analyze, implement, and optimize key structures and algorithms in .NET Core to efficiently solve real-world back-end challenges. By the end of this course, you will be able to… Analyze the efficiency of common data structures (arrays, linked lists, trees, graphs) and algorithms (sorting, searching) to determine their impact on back-end development. Implement data structures and algorithms in .NET Core to solve specific back-end problems, including sorting, searching, and traversal tasks, with a focus on performance and scalability. Design scalable back-end applications using appropriate data structures and algorithms, optimizing for performance in areas such as database query handling and large-scale data processing within the final project. Optimize back-end code for performance by applying advanced algorithmic techniques and refactoring inefficient solutions based on complexity analysis throughout the course.

Syllabus

  • Introduction to Data Structures and Algorithms
    • Understanding fundamental data structures is essential for efficient back-end development. This module introduces core data structures, including arrays, linked lists, stacks, and queues, explaining their characteristics and use cases. Learners will implement these structures in a .NET Core environment and analyze their time and space complexity using Big O notation. By comparing different linear data structures, participants will develop the ability to select the most suitable one for various back-end applications, such as optimizing API request handling.
  • Sorting and Searching Algorithms
    • Efficient data processing requires mastering sorting and searching algorithms. This module covers widely used sorting techniques, such as bubble sort, quicksort, and merge sort, emphasizing their efficiency and real-world applications. Learners will implement these algorithms in .NET Core, analyze their time and space complexity, and explore searching techniques like linear search and binary search. By applying binary search within sorted data sets, participants will enhance back-end system performance and evaluate trade-offs between different algorithmic approaches.
  • Trees and Graphs
    • Hierarchical and interconnected data structures are essential for many back-end applications. This module introduces tree structures, including binary trees and balanced trees (e.g., AVL trees), along with traversal techniques such as preorder, inorder, and postorder traversal. Learners will also explore graph theory concepts, implementing traversal algorithms like Depth-First Search (DFS) and Breadth-First Search (BFS) to solve practical back-end challenges. Analyzing the time and space complexity of these structures will help developers optimize system performance.
  • Advanced Algorithms and Problem-Solving
    • Advanced problem-solving techniques, such as dynamic programming and greedy algorithms, play a crucial role in optimizing back-end systems. This module covers the implementation of dynamic programming solutions (e.g., Fibonacci sequence, longest common subsequence) and explores how hashing and hash tables improve search operations. Learners will apply these advanced algorithms to real-world back-end tasks, such as database query processing and authentication systems, while evaluating trade-offs between different algorithmic approaches.
  • Algorithmic Optimization and Advanced Problem-Solving
    • AI-assisted development tools like Microsoft Copilot can streamline the implementation and optimization of complex algorithms. This module explores how Copilot enhances back-end efficiency by assisting in writing and optimizing data structures and algorithms in .NET Core. Learners will use Copilot to implement advanced algorithms like Dijkstra's shortest path and A* search, analyze AI-generated code for performance improvements, and complete a comprehensive optimization project. By leveraging Copilot, developers can refine their approach to algorithmic design and scalability.

Taught by

Microsoft

Reviews

4.8 rating at Coursera based on 28 ratings

Start your review of Data Structures and Algorithms

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.