We may earn an affiliate commission when you visit our partners.
SaifAli Kheraj

Data structure is an efficient way of organizing data and keeping the mess out of your system. This course teaches further about these data structures. The most popular data structures in store data category include binary search trees, hash tables, heaps, and graphs. After learning the codes, you will be able to develop your knowledge side by side with your teacher. There are lot of other courses on data structures so why take this course?? (1. Teaching Style + Side by Side Coding with Theory 2. No use of traditional powerpoint slides)

Read more

Data structure is an efficient way of organizing data and keeping the mess out of your system. This course teaches further about these data structures. The most popular data structures in store data category include binary search trees, hash tables, heaps, and graphs. After learning the codes, you will be able to develop your knowledge side by side with your teacher. There are lot of other courses on data structures so why take this course?? (1. Teaching Style + Side by Side Coding with Theory 2. No use of traditional powerpoint slides)

This course was primarily made for those with basic knowledge of C++ that want to improve in computer science.

What is the working system of this course?

  • Providing the illustration and examples for better understanding

  • Easy lectures for beginners

  • Complete detailed explanation of data structures

  • Code in C++

What does this course cover?

  • Arrays

  • Stacks

  • Abstract data type

  • Queues

  • LinkedList

  • Recursion

  • Trees and other algorithms

  • Hash Tables and Graphs (To be covered soon)

After completing the course, you will have enough knowledge to code these data structures on your own and be confident enough to perform your own data structural operations. Its purpose is to facilitate the introduction to programming and exercise the strategies. When designing or using a library, two things are fundamental: time efficiency operations with objects of classes and memory management. The C ++ is a language that tends to be very effective in these areas. This course is crucial in all these categories and will help you learn in the easiest possible way.

Knowing the basic techniques used during intermediate generation, optimization and code generation expanding programming techniques is the plot of computer science that you will always come back to.

Enroll now

What's inside

Learning objectives

  • Apply data structure concepts in different applications of computer science
  • Compare and contrast different data structure based on application
  • Write their own algorithms and can analyse between different algorithm
  • Implement various algorithms in programming language
  • Develop planning skills required for datastructure

Syllabus

Slide is uploaded

It will help students in understanding the need of data structures.

This is the beginner level tutorial. You can skip this if you know already know about the arrays.

Read more

Slide is attached.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses C++ for implementation, which is a popular language for systems programming and performance-critical applications
Covers arrays, stacks, queues, linked lists, recursion, and trees, which are fundamental data structures in computer science
Includes coverage of trees and binary search trees, which are essential for understanding more advanced data structures and algorithms
Features a section on recursion, which is a core concept in computer science and a powerful technique for solving problems
Includes infix to postfix conversion and postfix evaluation, which are relevant to compiler design and expression parsing
Covers AVL trees, which are self-balancing binary search trees, but the course may benefit from including more modern self-balancing trees

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Foundational data structures and algorithms in c++

According to learners, this course on Data Structures From Scratch offers a solid foundation for those with basic C++ knowledge. Many praise the engaging teaching style and the practical, side-by-side coding approach, finding it highly effective for understanding fundamental structures like arrays and linked lists. While good on basics, some students feel it lacks depth on more complex topics like trees and may need supplementary material. The pacing can feel fast, and transitions abrupt. Overall, it's a valuable starting point but may not be exhaustive.
Some topics listed not yet covered.
"Waiting for the Hash Tables and Graphs modules to be added!"
"Hash Tables and Graphs (To be covered soon)"
Solid introduction to core concepts.
"Good foundational course. Covers the basics well - arrays, lists, stacks, queues."
"The coverage of arrays and linked lists was thorough."
"Covers the core data structures well. The C++ implementation focus is good."
"A strong starting point. The material on arrays and linked lists is well presented."
Instructor explains concepts effectively.
"The instructor explains complex topics like linked lists and recursion with such clarity."
"Excellent course for beginners... The instructor's teaching style is very engaging..."
"Loved this course! The instructor is knowledgeable and passionate."
"Very practical and easy to follow. The instructor breaks down difficult concepts effectively."
Hands-on coding sessions are very helpful.
"The side-by-side coding approach is incredibly helpful. It's great for solidifying understanding."
"Loved this course! ... Coding along made a huge difference. Highly recommend for anyone wanting a practical understanding..."
"Learning to implement these structures in C++ alongside the explanations was key."
"The instructor's teaching style is very engaging, and the hands-on coding sessions helped immensely."
Requires a certain C++ comfort level.
"It assumes a certain level of C++ comfort that I didn't quite have, even though I completed a basic C++ course before."
"Sometimes I felt lost. It assumes a certain level of C++ comfort..."
"This course was primarily made for those with basic knowledge of C++..."
Pacing can be fast and transitions abrupt.
"The explanations are sometimes too brief, and the transitions between topics feel abrupt."
"While I appreciate the lack of slides, a bit more structure or accompanying text would be helpful."
"The pacing felt a bit fast at times."
Complex topics need more detailed coverage.
"...could maybe use a bit more depth on certain topics."
"The trees section was particularly challenging to grasp fully without external resources."
"...the depth isn't always there, especially for more complex structures."
"Felt like I needed supplementary material for a deeper dive."
"It's okay as a first look, but don't expect to become an expert. ...lacks theoretical depth required for interviews."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Data Structures From Scratch with these activities:
Review C++ Fundamentals
Solidify your understanding of C++ fundamentals, including pointers, classes, and memory management, as this course heavily relies on C++ implementation.
Show steps
  • Review C++ syntax and data types.
  • Practice writing simple C++ programs.
  • Study object-oriented programming concepts.
Review 'Data Structures and Algorithms in C++'
Supplement your learning with a comprehensive textbook on data structures and algorithms in C++, providing deeper insights and alternative explanations.
Show steps
  • Read relevant chapters before each corresponding course module.
  • Work through the examples and exercises in the book.
Implement Data Structures from Scratch
Reinforce your understanding by implementing the data structures covered in the course from scratch in C++, without relying on built-in libraries.
Show steps
  • Choose a data structure (e.g., linked list, stack, queue).
  • Implement the basic operations for that data structure.
  • Test your implementation thoroughly.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create Visualizations of Data Structures
Deepen your understanding by creating visual representations (diagrams, animations) of how different data structures work and how operations modify them.
Show steps
  • Select a data structure and an operation (e.g., inserting into a binary search tree).
  • Create a visual representation of the data structure before and after the operation.
  • Add annotations to explain the steps involved.
Build a Simple Application Using Data Structures
Apply your knowledge by building a small application (e.g., a simple address book, a task manager) that utilizes the data structures learned in the course.
Show steps
  • Choose a simple application to build.
  • Identify the data structures that would be most suitable for the application.
  • Implement the application using C++ and the chosen data structures.
Contribute to a Data Structures Library
Further solidify your understanding and gain practical experience by contributing to an open-source data structures library in C++.
Show steps
  • Find an open-source data structures library on GitHub or GitLab.
  • Identify a bug or a missing feature that you can contribute.
  • Submit a pull request with your changes.
Study 'Cracking the Coding Interview'
Prepare for technical interviews by studying common data structure and algorithm problems presented in 'Cracking the Coding Interview'.
Show steps
  • Read the chapters on relevant data structures.
  • Solve the practice problems at the end of each chapter.

Career center

Learners who complete Data Structures From Scratch will develop knowledge and skills that may be useful to these careers:
Software Engineer
A software engineer designs, develops, and tests software applications. This course on data structures provides a foundational understanding of how to efficiently organize and manipulate data, which is crucial for writing effective and performant code. The course covers arrays, linked lists, stacks, queues, and trees, all essential data structures used in software development. Learning to implement these data structures in C++ makes this course valuable to anyone pursuing a career as a software engineer. The course also covers more advanced topics such as binary search trees and AVL trees.
Algorithm Developer
Algorithm developers design and implement algorithms for various applications, such as search engines, recommendation systems, and machine learning models. This course helps build a strong foundation in data structures, enabling the creation of efficient and effective algorithms. The course covers a wide range of data structures, including arrays, stacks, queues, linked lists, and trees, along with hands-on experience implementing them in C++. The course's practical approach to development makes it helpful for aspiring algorithm developers.
Mobile App Developer
Mobile app developers create applications for smartphones and tablets. Efficient data management is crucial for creating responsive and performant mobile apps. This course on data structures provides a foundational understanding of how to efficiently store and manipulate data on mobile devices. The course covers essential data structures, including arrays, linked lists, stacks, queues, and trees, all used extensively in mobile app development. Learning to implement these data structures in C++ makes this course valuable for anyone pursuing a career as a mobile app developer.
Game Developer
Game developers create video games for various platforms. A core aspect of game development is efficiently managing game data. This course on data structures provides a solid foundation for storing and manipulating data in games, such as player statistics, game objects, and maps. The course covers essential data structures, including arrays, linked lists, trees, and graphs, all used extensively in game development. Learning to implement these data structures in C++ makes this course valuable for anyone pursuing a career as a game developer.
Systems Programmer
A systems programmer develops and maintains operating systems and system software. A deep understanding of data structures is crucial for efficiently managing system resources and optimizing performance. This course provides a comprehensive overview of data structures, including arrays, linked lists, stacks, queues, trees, and hash tables. The hands-on experience implementing these data structures in C++ makes the course especially valuable for aspiring systems programmers. The course also covers topics such as memory management.
Embedded Systems Engineer
Embedded systems engineers design and develop software for embedded systems, such as those found in automobiles, appliances, and medical devices. This course on data structures provides a solid foundation for managing data within the constraints of embedded systems, where memory and processing power are often limited. The detailed explanations of data structures in this course makes it valuable for future embedded systems engineers. The course's practical approach to development makes it helpful for building skills.
Artificial Intelligence Engineer
Artificial intelligence engineers that work in the deep learning space need to have a deep understanding of how to structure data. Much of AI depends on complex data structures. This course on data structures provides a strong foundation for engineers who want to build AI systems. The course covers trees and graphs, which are fundamental to understanding many AI algorithms. Learning to implement these data structures in C++ makes this course valuable for those who want to build AI systems.
Compiler Writer
Compiler writers develop compilers, which translate high-level programming languages into machine code. Understanding data structures is essential for building efficient compilers. This course helps build a strong foundation in data structures, enabling the creation of effective compilers. The course covers a wide range of data structures, including trees, stacks, and queues. Learning to implement these data structures in C++ makes this course valuable to future compiler writers.
Blockchain Developer
Blockchain developers build decentralized applications using blockchain technology. Understanding data structures is crucial for efficiently storing and managing data on the blockchain. This course explores various data structures, including hash tables and trees, which are used in blockchain implementations. Understanding the importance of structuring data efficiently makes this course valuable to blockchain developers.
Robotics Engineer
Robotics engineers design, develop, and test robots for various applications. A deep understanding of data structures is crucial for programming robots to efficiently process sensor data and navigate their environment. This course provides a comprehensive overview of data structures, including arrays, linked lists, trees, and graphs. The course may be useful for robotics engineers looking to enhance their skills in data management. The course's practical approach to development makes it helpful for enhancing practical knowledge.
Database Administrator
Database administrators are responsible for managing and maintaining databases, ensuring data integrity, security, and availability. Understanding data structures is essential for designing efficient database schemas and optimizing query performance. This course explores various data structures, including arrays, linked lists, and trees, and provides a solid foundation for understanding how databases store and retrieve data. The coverage of hash tables in this course may be useful for future database administrators.
Data Scientist
A data scientist analyzes large datasets to extract meaningful insights and develop data-driven solutions. Understanding data structures is essential for efficiently storing, retrieving, and processing data. This course explores various data structures, including arrays, linked lists, and hash tables, and provides hands-on experience implementing them in C++. This course may be useful to future data scientists as they master the skills to analyze data and develop algorithms. The course also covers more advanced topics such as trees and graphs.
Network Engineer
Network engineers design, implement, and maintain computer networks. This course on data structures provides a foundational understanding of how data is organized and transmitted across networks, which is crucial for optimizing network performance and security. The course covers essential data structures, including graphs, which are fundamental to understanding network topologies and routing algorithms. This course may be useful to those who wish to master network engineering skills.
Web Developer
Web developers create websites and web applications. While web development often involves higher-level frameworks, understanding data structures remains valuable for optimizing performance and building complex features. This course explores various data structures, including arrays, linked lists, and hash tables, providing a solid foundation for understanding how data is stored and manipulated in web applications. This course may be useful for building a strong foundation in data structures for web developers. The coverage of stacks and queues in this course may also be helpful.
Financial Engineer
Financial engineers use mathematical and computational methods to solve complex financial problems. While not always immediately apparent, data structures play a role in managing and analyzing financial data. This course may be useful to financial engineers as they learn to manage financial data. The course's coverage of arrays and lists may be useful in their work.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Data Structures From Scratch.
Is designed to help programmers prepare for technical interviews. It covers a wide range of data structures and algorithms, along with common interview questions. It's a good resource for students who want to practice their coding skills and prepare for job interviews.
Provides a comprehensive overview of data structures and algorithms with C++ implementations. It valuable reference for understanding the theoretical concepts and practical applications covered in the course. The book offers detailed explanations and examples that can enhance your understanding of complex data structures. It is commonly used as a textbook in data structures courses.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser