Foundations of Data Structures

Provided by:
7/10 stars
based on  3 reviews
Provided by:
Cost FREE , Add a Verified Certificate for $49
Start Date In Session

Course Details

Cost

FREE,
Add a Verified Certificate for $49

Upcoming Schedule

  • In Session

Course Provider

edX online courses
Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with edX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be tau...
Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with edX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be taught by David J. Malan, a senior lecturer on computer science at Harvard University for the School of Engineering and Applied Sciences. But there's not just one professor - you have access to the entire teaching staff, allowing you to receive feedback on assignments straight from the experts. Pursue a Verified Certificate to document your achievements and use your coursework for job and school applications, promotions, and more. EdX also works with top universities to conduct research, allowing them to learn more about learning. Using their findings, edX is able to provide students with the best and most effective courses, constantly enhancing the student experience.

Provider Subject Specialization
Sciences & Technology
Business & Management
22621 reviews

Course Description

Data structures provide a means to manage large amounts of data for use in databases and internet indexing services. Efficient data structures are key for designing efficient algorithms and obtaining maintainable software design.

In this Computer Science course, you will start by learning basic data types, such as numbers, and gradually build a conceptual framework for organizing and managing efficient structures.

Topics covered:

  • Basic Data Types, Notion of an Abstract Data Type
  • Mathematical Properties of Sequences
  • Special Types of Sequences: Stacks, Queues, Strings
  • Implementation of Sequence Type: Arrays and Linked Lists
  • Trees
  • Sets and Maps
  • Graphs

Preliminary understanding of implementing sequence structures such as stacks, queues, and linked lists, will also be covered.

This course is part of the Fundamentals of Computer Science XSeries Program

Data structures provide a means to manage large amounts of data for use in databases and internet indexing services. Efficient data structures are key for designing efficient algorithms and obtaining maintainable software design.

In this Computer Science course, you will start by learning basic data types, such as numbers, and gradually build a conceptual framework for organizing and managing efficient structures.

Topics covered:

  • Basic Data Types, Notion of an Abstract Data Type
  • Mathematical Properties of Sequences
  • Special Types of Sequences: Stacks, Queues, Strings
  • Implementation of Sequence Type: Arrays and Linked Lists
  • Trees
  • Sets and Maps
  • Graphs

Preliminary understanding of implementing sequence structures such as stacks, queues, and linked lists, will also be covered.

This course is part of the Fundamentals of Computer Science XSeries Program

Foundations of Data Structures course image
Reviews 7/10 stars
3 Reviews for Foundations of Data Structures

Ratings details

  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.

Sort By
student profile image
student profile image

student

9/10 starsTaking Now
1 year, 10 months ago
The instructor displays confidence in the material and the content is properly handled with. Taking this course is indeed a pleasure and I can testify to that. I've attended the MIT6.00.1x course too and I can say that this course is a parallel to the former, with the former teaching Python whereas this one teaching C++.
Was this review helpful? Yes0
 Flag
student profile image
student profile image

student

2/10 starsCompleted
3 years, 2 months ago
This course is taught very differently from its predecessor in the series: OOP with C++, which had a good degree of clarity in it. Take that course at least. Here however, there is an excessive amount of lecture on mathematical induction in creating stacks, lists, etc., that isn't even important and has very little to do with the assigned programming exercises. For example, you'll hear the instructor say, "empty(S, phi) is true because the stack is empty, but empty(push(s, phi)) is false because after pushing an element then the stack isn't empty." No kidding. Not to mention the use of mathematical induction in subsequent slides is dry, convoluted and offers little explanation. There are excessive typos in lectures and in assignment instructions that lead towards confusion in the class. I saw an exercise state instructions such as "Every edge in the graph has EXACTLY two edges." That in itself will cause students to over-thin... This course is taught very differently from its predecessor in the series: OOP with C++, which had a good degree of clarity in it. Take that course at least. Here however, there is an excessive amount of lecture on mathematical induction in creating stacks, lists, etc., that isn't even important and has very little to do with the assigned programming exercises. For example, you'll hear the instructor say, "empty(S, phi) is true because the stack is empty, but empty(push(s, phi)) is false because after pushing an element then the stack isn't empty." No kidding. Not to mention the use of mathematical induction in subsequent slides is dry, convoluted and offers little explanation. There are excessive typos in lectures and in assignment instructions that lead towards confusion in the class. I saw an exercise state instructions such as "Every edge in the graph has EXACTLY two edges." That in itself will cause students to over-think a problem, post questions in discussion topics and become confused. This is probably the worst part: I've seen discussion topics in class get 0 responses from teacher assistants, in which students have doubts, concerns or confusion regarding a topic, an exam or a project. The only response they get is from other students. On top of that, there is no email access to instructors. I've also seen students not be able to complete a project, and the code is never posted, reviewed or explained by the staff after the due date for students to understand and utilize that clarified knowledge moving forward. The course pales in comparison to MIT - introduction to computer science with python 6.00.1x, which unfortunately does not have courses offered in C++ here on EDX. The bottom line is I personally would like other institutions to offer a fresh, clean and crisp instruction on C++: from an introduction to data structures and algorithms. The other person who gave this course a 4.5/5 happens to be one of the TAs.
Was this review helpful? Yes0
 Flag
Keshav Gupta profile image
Keshav Gupta profile image

Keshav Gupta

10/10 starsCompleted
3 years, 3 months ago
The course content introduces various types of data structures. It also explains to use appropriate data structures for representing, organizing, and manipulating data and to create data structures using basic programming. The course teaches advanced concepts, compared to what I learnt in school, and is not that easy, if not hard. A must do course. In fact, I would recommend to take all the courses of this X-Series "Fundamentals of Computer Science" in sequence. Prior knowledge of basic programming concepts will be helpful for this course.
Was this review helpful? Yes0
 Flag

Rating Details


  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars
  • 5 stars
  • 4 stars
  • 3 stars
  • 2 stars
  • 1 stars

Rankings are based on a provider's overall CourseTalk score, which takes into account both average rating and number of ratings. Stars round to the nearest half.