We may earn an affiliate commission when you visit our partners.
Aspen Olmsted

This is the 4th course in the intermediate, undergraduate-level offering that makes up the larger Programming and Data Structures MicroBachelors program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

Introduction to Programming in C++

Advanced Programming in C++

Introduction to Data Structures

Advanced Data Structures

These topics build upon the learnings that are taught in the introductory-level Computer Science Fundamentals MicroBachelors program, offered by the same instructor.

Read more

This is the 4th course in the intermediate, undergraduate-level offering that makes up the larger Programming and Data Structures MicroBachelors program. We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

Introduction to Programming in C++

Advanced Programming in C++

Introduction to Data Structures

Advanced Data Structures

These topics build upon the learnings that are taught in the introductory-level Computer Science Fundamentals MicroBachelors program, offered by the same instructor.

This is a self-paced course that continues in the development of C++ programming skills. Among the topics covered is the development of more advanced command-line programs that utilize file processing, linked lists, stacks, queues, trees, binary search trees, and tree balancing algorithms to solve problems. Several implements are presented in the development of each data structure, including hash maps, AVL, and red and black trees. Students learn how to utilize and program these data structures through the lectures and the labs. C++ programming material is presented over eight weeks of interactive lectures with quizzes to assess your understanding of the material. Students will experience hands-on practice writing C++ programs through twenty-two lab challenges.

This course focuses on the efficiency of different data structures to solve various computational problems. A data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data. The data structures and algorithms learned in this class are the foundation of modern programming.

What you'll learn

  • Locks
  • Objects
  • Creating
  • Passing to a Function
  • Cin and Cout
  • Output
  • Input
  • Getline
  • Seeking
  • Reading and Writing
  • Appending
  • Linked Lists
  • Templated Classes
  • Stacks
  • Queues
  • Tree Storage
  • Binary Search Tree
  • Tree Traversals
  • Balanced Trees
  • AVL Trees
  • Rotation
  • Red-Black Trees
This course is no longer available. Find a similar course by searching these:
c++ data structures c++ getline c++ linked lists advanced c++ programming c++ stacks c++ cin

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Suitable for programmers with some experience in C++
Provides a strong foundation for advanced data structures in C++
Develops skills in file processing, linked lists, stacks, queues, trees, binary search trees, and tree balancing algorithms
Utilizes advanced programming techniques such as objects, locks, and templated classes
Incorporates hands-on practice through lab challenges
Builds upon introductory-level computer science fundamentals

Save this course

Save Advanced Data Structures to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Advanced Data Structures. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Advanced Data Structures will develop knowledge and skills that may be useful to these careers:
Software Developer
A Software Developer is responsible for conceptualizing, designing, coding, and testing software applications. This course is fundamental to working in this field, as it teaches advanced programming skills in C++, file processing, linked lists, stacks, queues, and various tree balancing algorithms. Furthermore, students will learn how to program these data structures through lectures and labs, providing them with the hands-on experience they need to enter this field.
Computer Programmer
Computer Programmers work with software developers to translate program designs into instructions that computers can understand. They often focus on a specific programming language, such as C++, and use data structures and algorithms to solve problems. This course is ideal for aspiring Computer Programmers, as it provides them with the skills they need to develop more advanced command-line programs.
Data Scientist
Data Scientists use their knowledge of programming, mathematics, and statistics to extract meaningful insights from data. They develop algorithms and models to analyze data, and they use data visualization techniques to communicate their findings. This course provides a foundation in data structures and algorithms that is essential for working in this field.
Data Analyst
Data Analysts collect, clean, and analyze data to help businesses make informed decisions. They use data visualization techniques to communicate their findings, and they may also develop predictive models. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Database Administrator
Database Administrators are responsible for the design, implementation, and maintenance of databases. They ensure that data is stored efficiently and securely, and they develop backup and recovery procedures. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Systems Analyst
Systems Analysts design and implement computer systems that meet the needs of organizations. They work with stakeholders to gather requirements, and they use data structures and algorithms to develop solutions. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Software Engineer
Software Engineers apply engineering principles to the design, development, and maintenance of software systems. They use data structures and algorithms to solve problems, and they work with teams to deliver high-quality software products. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Computer Scientist
Computer Scientists conduct research and develop new computer technologies. They create algorithms and data structures to solve problems, and they design and implement new programming languages. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Information Technology Specialist
Information Technology Specialists provide technical support to users of computer systems. They install and maintain hardware and software, and they troubleshoot problems. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Web Developer
Web Developers design and develop websites. They use programming languages and data structures to create dynamic and interactive web pages. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Network Administrator
Network Administrators design, implement, and maintain computer networks. They ensure that networks are secure and efficient, and they troubleshoot problems. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Computer Support Specialist
Computer Support Specialists provide technical support to users of computer systems. They install and maintain hardware and software, and they troubleshoot problems. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Database Developer
Database Developers design and implement databases. They use data structures and algorithms to create efficient and scalable databases. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Software Tester
Software Testers test software to ensure that it meets requirements and is free of defects. They use data structures and algorithms to create test cases, and they write test scripts to automate the testing process. This course provides a foundation in data structures and algorithms that is useful for working in this field.
Computer Systems Analyst
Computer Systems Analysts design, implement, and maintain computer systems. They work with stakeholders to gather requirements, and they use data structures and algorithms to develop solutions. This course provides a foundation in data structures and algorithms that is useful for working in this field.

Reading list

We haven't picked any books for this reading list yet.

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