Software Engineering 101: Data Structures With Python & C++

Posted By: ELK1nG

Software Engineering 101: Data Structures With Python & C++
Published 5/2025
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.53 GB | Duration: 4h 48m

Linear and non linear data structures, searching and sorting algorithms, dynamic programming, recursion and backtracking

What you'll learn

Learn the basic fundamentals of data structures and algorithms, such as getting to know their use cases and technical limitations

Learn about linear and non linear data structures

Learn how to build employee attendance tracker using array

Learn how to build customer support ticketing system using linked list

Learn how to create undo function using stack

Learn how to build patient queue system

Learn how to find customer ID using binary search tree

Learn how to build patient prioritization system using heap

Learn how to build social network friend recommendation algorithm using graph traversal

Learn how to implement quick sort, merge sort, and bubble sort

Learn how to implement binary search and linear search in e-commerce product catalog

Learn how to optimize flight route using greedy algorithm and dijkstra algorithm

Learn how to optimize investment budget using dynamic programming and Knapsack algorithm

Learn how to perform mathematical computation and Fibonacci calculation using recursion

Learn how to create Sudoku solver using backtracking

Learn how to implement hashing in product database

Learn how to build flight data management system using binary search

Learn how to build autonomous robot path planner using priority queue and A algorithm

Requirements

No previous experience in data structures is required

Basic knowledge in Python and C++

Description

Welcome to Software Engineering 101: Data Structures with Python & C++ course. This is a comprehensive project based course where you will learn the fundamentals of data structures and algorithms like arrays, linked lists, stacks, queues, trees, graphs, and hash tables, while also exploring algorithms such as sorting, searching, and dynamic programming. This course is a perfect combination between computer science and system optimization, making it an ideal opportunity to practice your programming skills while improving your technical knowledge in software engineering. In the introduction session, you will learn the basic fundamentals of data structures and algorithms, such as getting to know their use cases, technical limitations, and commonly used algorithms. Then, in the next section you will find and download dataset from kaggle, it is a platform that offers high quality datasets from various industries. Afterward, we will start the project. Initially we will focus on linear data structure concepts. In the first project, we are going to develop an employee attendance tracker, where arrays will be used to efficiently store and update daily attendance records. In the second project, we are going to design a customer support ticketing system that uses linked lists to manage incoming requests in the order they arrive. For the third project, we are going to implement an undo feature for a simple text editor by leveraging the Last In First Out behavior of stacks. In the fourth project, we are going to simulate a hospital queue system, using the queue concept to manage patients based on their arrival time. Following that, we will move to non linear data structures concepts. In the fifth project, we are going to create a Customer ID finder tool using binary search trees for fast data retrieval. In the sixth project, we are going to build a patient prioritization system using a heap to ensure urgent cases are addressed first. In the seventh project, we are going to build a friend recommendation engine for a social network using graph traversal techniques. In the eighth project, we are going to apply sorting algorithms like merge sort, quick sort, and bubble sort to organize sales data. In the ninth project, we are going to implement binary and linear search to help users quickly find products in an e-commerce product catalog. In the tenth project, we are going to optimize flight routes using the Dijkstra algorithm, which is a popular greedy algorithm for finding the shortest path. Projects one through ten will be implemented in Python, while projects eleven to fourteen will be implemented in C++ as it will give us more advanced control and better performance. In the eleventh project, we are going to create an investment budgeting tool using dynamic programming, specifically Knapsack algorithm which will help us maximize returns within budget constraints. In the twelfth project, we are going to deepen our understanding of recursion by computing Fibonacci sequences efficiently. In the thirteenth project, we are going to design a Sudoku solver using backtracking to systematically explore and fill the correct numbers. The fourteenth project is a real world application project where we are going to build a flight data management system using binary search to extract historical records quickly. Lastly, at the end of the course, we are going to build an autonomous robot path planner using min heap and the A algorithm to simulate intelligent pathfinding in a dynamic environment.Firstly, before getting into the course, we need to ask this question to ourselves, why should we learn about data structures and algorithms? Well, here is my answer, they help you write programs that run faster, use memory efficiently, and handle large volumes of data effectively. In software engineering, this knowledge is crucial for solving complex problems, optimizing system performance, and designing solutions that are reliable under various conditions.Below are things that you can expect to learn from this course:Learn the basic fundamentals of data structures and algorithms, such as getting to know their use cases and technical limitationsLearn about linear and non linear data structuresLearn how to build employee attendance tracker using arrayLearn how to build customer support ticketing system using linked listLearn how to create undo function using stackLearn how to build patient queue systemLearn how to find customer ID using binary search treeLearn how to build patient prioritization system using heapLearn how to build social network friend recommendation algorithm using graph traversalLearn how to implement quick sort, merge sort, and bubble sortLearn how to implement binary search and linear search in e-commerce product catalogLearn how to optimize flight route using greedy algorithm and dijkstra algorithmLearn how to optimize investment budget using dynamic programming and Knapsack algorithmLearn how to perform mathematical computation and Fibonacci calculation using recursionLearn how to create Sudoku solver using backtrackingLearn how to implement hashing in product databaseLearn how to build flight data management system using binary searchLearn how to build autonomous robot path planner using priority queue and A algorithm

Overview

Section 1: Introduction to the Course

Lecture 1 Introduction

Lecture 2 Table of Contents

Lecture 3 Whom This Course is Intended for?

Section 2: Tools, IDE, and Datasets

Lecture 4 Tools, IDE, and Datasets

Section 3: Introduction to Data Structures & Algorithms

Lecture 5 Introduction to Data Structures & Algorithms

Section 4: Array & Linked List

Lecture 6 Array & Linked List

Section 5: Creating Undo Function Using Stack

Lecture 7 Creating Undo Function Using Stack

Section 6: Building Patient Queue System

Lecture 8 Building Patient Queue System

Section 7: Finding Customer ID Using Binary Search Tree

Lecture 9 Finding Customer ID Using Binary Search Tree

Section 8: Building Patient Prioritization System Using Heap

Lecture 10 Building Patient Prioritization System Using Heap

Section 9: Building Friend Recommendation Algorithm Using Graph Traversal

Lecture 11 Building Friend Recommendation Algorithm Using Graph Traversal

Section 10: Implementing Quick Sort, Merge Sort, and Bubble Sort Algorithms

Lecture 12 Implementing Quick Sort, Merge Sort, and Bubble Sort Algorithms

Section 11: Implementing Binary Search & Linear Search in E-Commerce Product Catalog

Lecture 13 Implementing Binary Search & Linear Search in E-Commerce Product Catalog

Section 12: Optimizing Flight Routes with Greedy Algorithm & Dijkstra Algorithm

Lecture 14 Optimizing Flight Routes with Greedy Algorithm & Dijkstra Algorithm

Section 13: Optimizing Investment Budget Using Dynamic Programming & Knapsack Algorithm

Lecture 15 Optimizing Investment Budget Using Dynamic Programming & Knapsack Algorithm

Section 14: Performing Mathematical Computation Using Recursion

Lecture 16 Performing Mathematical Computation Using Recursion

Section 15: Creating Sudoku Solver Using Backtracking

Lecture 17 Creating Sudoku Solver Using Backtracking

Section 16: Implementing Hashing in Product Database

Lecture 18 Implementing Hashing in Product Database

Section 17: Building Flight Data Management System Using Binary Search

Lecture 19 Building Flight Data Management System Using Binary Search

Section 18: Building Autonomous Robot Path Finder Using Priority Queue & A Algorithm

Lecture 20 Building Autonomous Robot Path Finder Using Priority Queue & A Algorithm

Section 19: Conclusion & Summary

Lecture 21 Conclusion & Summary

Software engineers who are interested to learn data structures and algorithm using Python and C++,Game developers who are interested in creating game logics and optimizing game performance