Data Structures and Software Design

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

Course Details

Cost

FREE,
Add a Verified Certificate for $149

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
22235 reviews

Course Description

Knowing how to code is only part of the skills needed to become a professional software developer.

This course, part of the CS Essentials for Software Development Professional Certificate program, will take your skills to the next level by teaching you how to write “good” software that appropriately represents and organizes data, is easy to maintain, and is of high quality.

As the purpose of most computer programs is to manipulate data, sometimes large quantities of it, the manner in which programs represent and organize data can have an enormous effect on the simplicity and efficiency of the code. In this course, you will learn about important core data structures such as arrays, lists, stacks, queues, sets, maps, trees, and graphs, and learn how to evaluate them and reason about their behavior and efficiency.

Most importantly, you will learn how to determine which data structure is the most appropriate for solving the prob...

Knowing how to code is only part of the skills needed to become a professional software developer.

This course, part of the CS Essentials for Software Development Professional Certificate program, will take your skills to the next level by teaching you how to write “good” software that appropriately represents and organizes data, is easy to maintain, and is of high quality.

As the purpose of most computer programs is to manipulate data, sometimes large quantities of it, the manner in which programs represent and organize data can have an enormous effect on the simplicity and efficiency of the code. In this course, you will learn about important core data structures such as arrays, lists, stacks, queues, sets, maps, trees, and graphs, and learn how to evaluate them and reason about their behavior and efficiency.

Most importantly, you will learn how to determine which data structure is the most appropriate for solving the problem at hand, and see how to use the implementations that are part of the Java library.

However, choosing the right data structure is only part of the challenge of developing high quality software: you must also consider the design of the classes that use those data structures. You will learn about software design principles such as modularity, functional independence, and abstraction, and apply those concepts toward writing programs that are easy to understand, easy to modify, and easy to test.

Although it is important to know how to write high quality code, professional software developers often spend a majority of their time maintaining existing code. You will also learn about software refactoring techniques for improving the design of existing code, and see how to improve code efficiency.

This course will use Java but the concepts you learn can be applied to almost all modern programming languages.

Data Structures and Software Design course image
Reviews 9/10 stars
3 Reviews for Data Structures and Software Design

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
Luong Nguyen profile image
Luong Nguyen profile image

Luong Nguyen

10/10 starsCompleted
1 year, 9 months ago
Thank you for such a great course. The homeworks are challenging but rewarding. I'm looking forward to the next course of the program.
Was this review helpful? Yes0
 Flag
Richard Baldwin profile image
Richard Baldwin profile image

Richard Baldwin

10/10 starsCompleted
1 year, 10 months ago
The presentation, the content, and the conduct of this course is outstanding. I have completed some edX courses in the past and have started but failed to complete others. This course stands head and shoulders above any of those in terms of presentation, content, and conduct.   My only real quarrel with the course is the estimate that the course can be successfully completed in 8 hours per week for four weeks. I spent enough time to earn 100% on all quizzes and homework assignments. This required me to spend significantly more than 32 hours total. In fact, I spent about four times that amount of time, mainly working on the homework assignments.   A single pass through the videos alone with no pauses requires about 6.5 hours, leaving only about 25.5 hours to complete all of the quizzes and homework assignments.   My assessment is that anyone who can complete all of the quizzes and all of the homework assignments with an average score ... The presentation, the content, and the conduct of this course is outstanding. I have completed some edX courses in the past and have started but failed to complete others. This course stands head and shoulders above any of those in terms of presentation, content, and conduct.   My only real quarrel with the course is the estimate that the course can be successfully completed in 8 hours per week for four weeks. I spent enough time to earn 100% on all quizzes and homework assignments. This required me to spend significantly more than 32 hours total. In fact, I spent about four times that amount of time, mainly working on the homework assignments.   A single pass through the videos alone with no pauses requires about 6.5 hours, leaving only about 25.5 hours to complete all of the quizzes and homework assignments.   My assessment is that anyone who can complete all of the quizzes and all of the homework assignments with an average score of 95% or better in 25.5 hours probably didn't need to take the course in the first place. However, this is an outstanding course for those with a good background in Java programming who desire to apply that knowledge to data structures. If you fit that description, enroll in the course but set aside more than 32 hours to successfully complete the course.
Was this review helpful? Yes0
 Flag
Sameh Boules profile image
Sameh Boules profile image

Sameh Boules

10/10 starsCompleted
2 years ago
Developed to advance a career and born from Master's programs of leading universities, MicroMasters programs are a series of higher-level courses recognized by companies for real job relevancy, and may accelerate a Master's degree.
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.