EdX

Advanced Data Structures (edX)

Offered by New York University, NYUx,
Advanced Data Structures (edX)

Learn the advanced programming topics in the C++ programming language, including file processing, linked lists, stacks, queues, trees, binary search trees and tree balancing algorithms. This is the 4th course in the intermediate, undergraduate-level offering that makes up the larger Programming and Data Structures MicroBachelors program.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

We recommend taking them in order, unless you have a background in these areas already and feel comfortable skipping ahead.

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.
This course is part of the Programming & Data Structures MicroBachelors Program.

What you'll learn

  • Design and develop programs that utilize linked lists to store data internally.
  • Design and develop programs that utilize stacks and queues to manage collections of data
  • Utilize binary search trees and balanced trees to implement fast retrieval of data from a collection of data stored in memory.

Syllabus

Wk 1 - File Processing

  • Locks
  • Objects
  • Creating
  • Passing to a Function
  • Cin and Cout
  • Output
  • Input
  • Getline
  • Seeking
  • Reading and Writing
  • Appending

Wk 2 - File Processing Labs

Wk 3 - Linked Lists

  • Linked Lists
  • Templated Classes

Wk 4 - Link List Labs

Wk 5 - Stacks and Queues

  • Stacks
  • Queues

Wk 6 - Stack and Queue Labs

Wk 7 - Trees and Binary Search Trees

  • Tree Storage
  • Binary Search Tree
  • Tree Traversals
  • Balanced Trees
  • AVL Trees
  • Rotation
  • Red-Black Trees

Wk 8 - Tree Labs

Wk 9 - Final Exam

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

Related Courses

Machine Learning with Python: from Linear Models to Deep Learning (edX) EdX
MIT,MITx

Machine Learning with Python: from Linear Models to Deep Learning (edX)

An in-depth introduction to the field of machine learning, from linear models to deep learning and reinforcement learning, through hands-on Python projects. Machine learning methods are commonly used across engineering and sciences, from computer systems to physics. Moreover, commercial sites such as search engines, recommender systems (e.g., Netflix, Amazon), advertisers, and financial institutions employ machine learning algorithms for content recommendation, predicting customer behavior, compliance, or risk.

May 27th 2024
13-24 Weeks
Introduction to Java Programming - Part 2 (edX) EdX
The Hong Kong University of Science and Technology - HKUST,HKUSTx

Introduction to Java Programming - Part 2 (edX)

The first MOOC to teach the fundamental elements of Java programming and data abstraction. Do you want to become a better problem solver? This Java course will provide you with a strong understanding of basic Java programming elements and data abstraction using problem representation and the object-oriented framework.

Self Paced
Self-Paced
MyCS: Computer Science for Beginners (edX) EdX
Harvey Mudd College

MyCS: Computer Science for Beginners (edX)

In this fun and creative introduction to computer science for learners of all ages, you'll learn and apply concepts by programming in Scratch. How do computers work? What do computer scientists do? What does it take to make a computer or a computer program work? We answer these questions and more with MyCS: Computer Science for Beginners.

No sessions available
5-12 Weeks
Programming in Scratch (edX) EdX
Harvey Mudd College,HarveyMuddX

Programming in Scratch (edX)

See how easy learning computer science can be. Use Scratch to create games, animations, stories and more. Want to learn computer programming, but unsure where to begin? This is the course for you! Scratch is the computer programming language that makes it easy and fun to create interactive stories, games and animations and share them online.

No sessions available
5-12 Weeks
HTML5 Coding Essentials and Best Practices (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Coding Essentials and Best Practices (edX)

Learn how to write Web pages and Web sites by mastering HTML5 coding techniques and best practices. HTML5 is the standard language of the Web, developed by W3C. For application developers and industry, HTML5 represents a set of features that people will be able to rely on for years to come. HTML5 is supported on a wide variety of devices, lowering the cost of creating rich applications to reach users everywhere.

Self Paced
Self-Paced
Computing for Data Analysis (edX) EdX
Georgia Institute of Technology,GTx

Computing for Data Analysis (edX)

A hands-on introduction to basic programming principles and practice relevant to modern data analysis, data mining, and machine learning. The modern data analysis pipeline involves collection, preprocessing, storage, analysis, and interactive visualization of data. In the course, you’ll see how computing and mathematics come together.

Aug 19th 2024
13-24 Weeks
HTML5 Apps and Games (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Apps and Games (edX)

Today, developers are increasingly moving from native to HTML5-based apps. Increase your ability to design and deliver innovative services on the Web! Want to learn advanced HTML5 tips and techniques? This is the course for you! Find out more about the powerful Web features that will help you create great content and apps.

Self Paced
Self-Paced