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.

Data Structures and Algorithms

Data Structures and Algorithms
This course is part of multiple programs.
This course is part of multiple programs

Instructor: Microsoft
Access provided by IEM UEM Group
9,585 already enrolled
26 reviews
Recommended experience
Recommended experience
Beginner level
No prior experience is required for this course.
26 reviews
Recommended experience
Recommended experience
Beginner level
No prior experience is required for this course.
Skills you'll gain
Tools you'll learn
Details to know

Add to your LinkedIn profile
See how employees at top companies are mastering in-demand skills

Build your subject-matter expertise
- Learn new concepts from industry experts
- Gain a foundational understanding of a subject or tool
- Develop job-relevant skills with hands-on projects
- Earn a shareable career certificate from Microsoft

There are 5 modules in this course
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.
What's included
22 videos13 readings8 assignments3 ungraded labs3 plugins
22 videos• Total 82 minutes
- Course Introduction: Data Structures and Algorithms• 2 minutes
- Instructor Introduction• 2 minutes
- The What’s What of the Course• 3 minutes
- Completing the Guided Labs• 4 minutes
- Introducing the AI Tool: Microsoft Copilot• 3 minutes
- How to Be Successful in This Program• 5 minutes
- Introduction to the Project• 5 minutes
- Introduction to Data Structures• 2 minutes
- Characteristics of Arrays and Linked Lists• 5 minutes
- Use Cases for Stacks and Queues• 4 minutes
- Implementing Arrays and Linked Lists in .NET Core• 4 minutes
- Stacks and Queues Implementation With .NET Core• 4 minutes
- Implementing Data Structures in Visual Studio Code• 5 minutes
- Introduction to Big O Notation• 4 minutes
- Applying Big O Notation to Data Structures• 5 minutes
- Introduction to Distributed Caching• 5 minutes
- Tools for Distributed Caching (e.g., Redis, SQL Server)• 3 minutes
- Configuring Distributed Caching With Redis in .NET Core• 4 minutes
- Introduction to Cache Expiration Policies• 4 minutes
- Strategies for Choosing the Right Expiration Policy• 4 minutes
- Implementing Cache Expiration Policies in .NET Core With Redis• 5 minutes
- Conclusion: Introduction to Data Structures• 2 minutes
13 readings• Total 170 minutes
- Course Syllabus: Data Structures and Algorithms• 10 minutes
- Completing the Guided Labs• 30 minutes
- Microsoft Tools for Back-End Development• 10 minutes
- Activity: Reflection on Data Structures - Answer Key• 10 minutes
- Choosing the Right Data Structure for the Job• 10 minutes
- You Try It! Implementing Data Structures in Visual Studio Code - Answer Key• 10 minutes
- Implementing Data Structures in .NET Core• 10 minutes
- Activity: Annotate Code With Big O Notation - Answer Key• 30 minutes
- Analyzing Time and Space Complexity: A Practical Guide• 10 minutes
- You Try It! Configuring Distributed Caching With Redis in .NET Core - Answer Key• 10 minutes
- Configuring Redis and SQL Server for Distributed Caching• 10 minutes
- You Try It! Implementing Cache Expiration Policies in .NET Core With Redis - Answer Key• 10 minutes
- Implementing Cache Expiration Policies With Redis• 10 minutes
8 assignments• Total 220 minutes
- Activity: Reflection on Data Structures• 30 minutes
- Practice Quiz: Key Linear Data Structures• 20 minutes
- Practice Quiz: Implementing Data Structures With .NET Core• 25 minutes
- Activity: Annotate Code With Big O Notation• 30 minutes
- Practice Quiz: Analyzing Data Structure Performance With Big O Notation• 25 minutes
- Practice Quiz: Configuring Distributed Caching in .NET Core• 20 minutes
- Practice Quiz: Implementing and Managing Cache Expiration Policies• 20 minutes
- Graded Quiz: Introduction to Data Structures• 50 minutes
3 ungraded labs• Total 180 minutes
- You Try It! Implementing Data Structures in Visual Studio Code• 60 minutes
- You Try It! Configuring Distributed Caching With Redis in .NET Core• 60 minutes
- You Try It! Implementing Cache Expiration Policies in .NET Core With Redis• 60 minutes
3 plugins• Total 45 minutes
- Guided Lab: Implementing Data Structures in Visual Studio Code• 15 minutes
- Guided Lab: Configuring Distributed Caching With Redis in .NET Core• 15 minutes
- Guided Lab: Implementing Cache Expiration Policies in .NET Core With Redis• 15 minutes
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.
What's included
18 videos11 readings9 assignments3 ungraded labs3 plugins
18 videos• Total 87 minutes
- Introduction to Sorting and Searching Algorithms• 2 minutes
- Introduction to Bubble Sorting Algorithms• 3 minutes
- Mechanics of Quicksort and Merge Sort• 6 minutes
- Implementing Bubble Sort in .NET Core• 6 minutes
- Implementing Quicksort and Merge Sort in .NET Core• 6 minutes
- Implementing and Testing Sorting Algorithms in .NET Core• 5 minutes
- Linear Search in Data Structures• 3 minutes
- Applying Linear Search in Data Structures• 3 minutes
- Binary Search in Sorted Data Structures• 5 minutes
- Applying Binary Search in Sorted Data Structures• 6 minutes
- Implementing Binary Search in .NET Core• 5 minutes
- Applying Binary Search in Back-End Systems• 4 minutes
- Code Optimization Techniques Using Binary Search• 11 minutes
- Binary Search for Efficient API Request Handling• 4 minutes
- Comparing Time and Space Complexities• 5 minutes
- Identifying Best-Use Cases for Sorting Algorithms in Back-End Systems• 5 minutes
- Best-Use Cases for Sorting Algorithms in Back-End Systems• 5 minutes
- Conclusion: Sorting and Searching Algorithms• 2 minutes
11 readings• Total 110 minutes
- Activity: Sorting Algorithm Comparison Exercise - Answer Key• 10 minutes
- Sorting Algorithms: Use Cases and Performance• 10 minutes
- You Try It! Implementing and Testing Sorting Algorithms in .NET Core - Answer Key• 10 minutes
- Sorting Algorithms: Efficiency and Real-World Applications• 10 minutes
- Activity: Comparing Linear and Binary Search Algorithms - Answer Key• 10 minutes
- You Try It! Implementing Binary Search in .NET Core - Answer Key• 10 minutes
- Linear vs. Binary Search: Algorithm Selection and Optimization• 10 minutes
- You Try It! Binary Search for Efficient API Request Handling - Answer Key• 10 minutes
- Optimizing API Request Handling With Binary Search• 10 minutes
- Choosing the Right Sorting Algorithm: A Practical Guide• 10 minutes
- Activity: Evaluating Sorting Algorithms for Different Back-End Scenarios - Answer Key• 10 minutes
9 assignments• Total 250 minutes
- Activity: Sorting Algorithm Comparison Exercise• 30 minutes
- Practice Quiz: Introduction to Sorting Algorithms• 20 minutes
- Practice Quiz: Implementing and Analyzing Sorting Algorithms in .NET Core• 20 minutes
- Activity: Comparing Linear and Binary Search Algorithms• 30 minutes
- Practice Quiz: Searching Algorithms in Data Structures• 30 minutes
- Practice Quiz: Optimizing Search Operations With Binary Search• 15 minutes
- Activity: Evaluating Sorting Algorithms for Different Back-End Scenarios• 30 minutes
- Practice Quiz: Evaluating Sorting Algorithms for Back-End Performance• 25 minutes
- Graded Quiz: Sorting and Searching Algorithms• 50 minutes
3 ungraded labs• Total 180 minutes
- You Try It! Implementing and Testing Sorting Algorithms in .NET Core• 60 minutes
- You Try It! Implementing Binary Search in .NET Core• 60 minutes
- You Try It! Binary Search for Efficient API Request Handling• 60 minutes
3 plugins• Total 45 minutes
- Guided Lab: Implementing and Testing Sorting Algorithms in .NET Core• 15 minutes
- Guided Lab: Implementing Binary Search in .NET Core• 15 minutes
- Guided Lab: Binary Search for Efficient API Request Handling• 15 minutes
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.
What's included
14 videos11 readings9 assignments3 ungraded labs3 plugins
14 videos• Total 72 minutes
- Introduction to Trees and Graphs• 1 minute
- Overview of Tree Structures• 4 minutes
- Practical Use Cases for Tree Structures• 4 minutes
- Introduction to Tree Traversal Techniques• 4 minutes
- Implementing Tree Traversals in .NET Core• 6 minutes
- Directed vs. Undirected Graphs• 3 minutes
- Implementing Graph Traversal Algorithms in .NET Core• 5 minutes
- Introduction to Load Balancing• 6 minutes
- Load Balancing Algorithms and Strategies• 13 minutes
- Implementing Load Balancing Algorithms in .NET Core• 6 minutes
- Introduction to Asynchronous Processing• 6 minutes
- Implementing Asynchronous Tasks in .NET Core• 7 minutes
- Asynchronous Processing in Back-End Systems• 5 minutes
- Conclusion: Trees and Graphs• 2 minutes
11 readings• Total 111 minutes
- Tree Structures• 10 minutes
- Exploring Tree Traversal Algorithms• 1 minute
- Activity: Select the Right Graph Type - Answer Key• 10 minutes
- You Try It! Implementing Graph Traversal Algorithms in .NET Core - Answer Key• 10 minutes
- Graph Traversal Quick Reference• 20 minutes
- Activity: Select the Right Load Balancing Algorithm - Answer Key• 10 minutes
- You Try It! Implementing Load Balancing Algorithms in .NET Core - Answer Key• 10 minutes
- Load Balancing Techniques for Scalable Systems• 10 minutes
- Activity: Create a Simple Asynchronous Task - Answer Key• 10 minutes
- Asynchronous Processing and Its Role in Scalability• 10 minutes
- You Try It! Asynchronous Processing in Back-End Systems - Answer Key• 10 minutes
9 assignments• Total 255 minutes
- Practice Quiz: Introduction to Tree Structures• 20 minutes
- Practice Quiz: Implementing Tree Traversal Algorithms• 20 minutes
- Activity: Select the Right Graph Type• 30 minutes
- Practice Quiz: Graph Theory Concepts and Practical Applications• 25 minutes
- Activity: Select the Right Load Balancing Algorithm• 30 minutes
- Practice Quiz: Load Balancing Concepts and Implementation• 20 minutes
- Activity: Create a Simple Asynchronous Task• 30 minutes
- Practice Quiz: Asynchronous Processing for Scalable Applications• 30 minutes
- Graded Quiz: Trees and Graphs• 50 minutes
3 ungraded labs• Total 180 minutes
- You Try It! Implementing Graph Traversal Algorithms in .NET Core• 60 minutes
- You Try It! Implementing Load Balancing Algorithms in .NET Core• 60 minutes
- You Try It! Asynchronous Processing in Back-End Systems• 60 minutes
3 plugins• Total 45 minutes
- Guided Lab: Implementing Graph Traversal Algorithms in .NET Core• 15 minutes
- Guided Lab: Implementing Load Balancing Algorithms in .NET Core• 15 minutes
- Guided Lab: Asynchronous Processing in Back-End Systems• 15 minutes
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.
What's included
13 videos10 readings9 assignments2 ungraded labs2 plugins
13 videos• Total 70 minutes
- Introduction to Advanced Algorithms and Problem-Solving• 2 minutes
- Overview of Dynamic Programming• 7 minutes
- Overview of Greedy Algorithms• 7 minutes
- Introduction to Code-Based Dynamic Programming Tasks• 5 minutes
- Demonstrating Dynamic Programming for Cache Optimization• 7 minutes
- Implement Dynamic Programming in a Scheduling Application• 4 minutes
- Introduction to Hashing Concepts• 7 minutes
- Demonstrating Hash Table Implementation in .NET Core• 5 minutes
- Overview of Performance Optimization Using Copilot• 3 minutes
- Applying Copilot for Comprehensive Performance Optimization• 4 minutes
- Introduction to Algorithmic Trade-Offs• 8 minutes
- Implementing a Greedy Algorithm in a Back-End System• 7 minutes
- Conclusion: Advanced Algorithms and Problem-Solving• 2 minutes
10 readings• Total 100 minutes
- Dynamic Programming vs. Greedy Algorithms: Which to Choose?• 10 minutes
- You Try It! Implement Dynamic Programming in a Scheduling Application - Answer Key• 10 minutes
- Memoization and Resource Scheduling with Dynamic Programming• 10 minutes
- Activity: Hash Table Use Case Analysis - Answer Key• 10 minutes
- Using Hash Tables for Fast Search and Authentication• 10 minutes
- Activity: Identifying Copilot Optimization Opportunities - Answer Key• 10 minutes
- You Try It! Applying Copilot for Comprehensive Performance Optimization - Answer Key• 10 minutes
- Optimization with Copilot: Key Features and Best Practice• 10 minutes
- Activity: Selecting the Best Algorithm for a Real-World Problem - Answer Key• 10 minutes
- Choosing the Right Algorithmic Strategy• 10 minutes
9 assignments• Total 250 minutes
- Practice Quiz: Dynamic Programming and Greedy Algorithms• 15 minutes
- Practice Quiz: Implementing Dynamic Programming in Real-World Scenarios• 20 minutes
- Activity: Hash Table Use Case Analysis• 30 minutes
- Practice Quiz: Hashing and Hash Tables in Back-End Systems• 25 minutes
- Activity: Identifying Copilot Optimization Opportunities• 30 minutes
- Practice Quiz: AI-Driven Performance Optimization Capstone Project• 25 minutes
- Activity: Selecting the Best Algorithm for a Real-World Problem• 30 minutes
- Practice Quiz: Assessing Algorithmic Trade-Offs in Back-End Systems• 25 minutes
- Graded Quiz: Advanced Algorithms and Problem-Solving• 50 minutes
2 ungraded labs• Total 120 minutes
- You Try It! Implement Dynamic Programming in a Scheduling Application• 60 minutes
- You Try It! Applying Copilot for Comprehensive Performance Optimization• 60 minutes
2 plugins• Total 30 minutes
- Guided Lab: Implement Dynamic Programming in a Scheduling Application• 15 minutes
- Guided Lab: Applying Copilot for Comprehensive Performance Optimization• 15 minutes
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.
What's included
10 videos4 readings4 assignments1 peer review
10 videos• Total 37 minutes
- Introduction to Algorithmic Optimization and Advanced Problem-Solving• 1 minute
- Overview of Microsoft Copilot Capabilities for Back-End Development• 4 minutes
- Using the Microsoft Copilot to Generate Code Snippets for Data Structures• 4 minutes
- Overview of Advanced Algorithms—Dijkstra’s and A*• 3 minutes
- Generating Dijkstra’s Algorithm Using Microsoft Copilot• 5 minutes
- Introduction to Time and Space Complexity in LLM-Generated Code• 4 minutes
- Annotating Microsoft Copilot Generated Code for Performance Optimization• 5 minutes
- Refining Existing Code With Microsoft Copilot Assistance• 4 minutes
- Refactoring a Priority Queue Using Copilot• 4 minutes
- Course Conclusion: Data Structures and Algorithms• 2 minutes
4 readings• Total 40 minutes
- Harnessing Microsoft Copilot to Enhance Algorithmic Efficiency• 10 minutes
- Leveraging AI for Advanced Problem-Solving• 10 minutes
- Optimizing Algorithm Performance With AI Insights• 10 minutes
- Refactoring and Optimizing With AI• 10 minutes
4 assignments• Total 120 minutes
- Activity: Hands-On Microsoft Copilot Code Generation• 30 minutes
- Activity: Applying Microsoft Copilot Generated Algorithms in Real-World Contexts• 30 minutes
- Activity: Performance Analysis and Refinement• 30 minutes
- Activity: Optimizing Data Structures With the LLM• 30 minutes
1 peer review• Total 60 minutes
- Data Structures and Algorithms Project• 60 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructor
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.

Offered by

Offered by

Our goal at Microsoft is to empower every individual and organization on the planet to achieve more. In this next revolution of digital transformation, growth is being driven by technology. Our integrated cloud approach creates an unmatched platform for digital transformation. We address the real-world needs of customers by seamlessly integrating Microsoft 365, Dynamics 365, LinkedIn, GitHub, Microsoft Power Platform, and Azure to unlock business value for every organization—from large enterprises to family-run businesses. The backbone and foundation of this is Azure.
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.
Explore more from Computer Science
BBirla Institute of Technology & Science, Pilani
Course

Course

Course
NNortheastern University
Course
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.