Data Structures and Software Design

MOOC
Data Structures and Software Design
Language
English
Duration
1 hour coourse
Certificate
Certification paid
Course by EdX
Data Structures and Software Design
What will you learn?
Efficient means of storing and retrieving data in a Java program
How to identify the data structure that best represents the problem at hand
Use of the inbuilt Java data structures
Assess and improve the quality of software design with respect to object-oriented principles
Convert a set of requirements into a high-quality software design
How to write efficient code that is easy to read, understand, and modify
About the course

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.

Program
Data Structures and Software Design
Learn how to select, apply, and analyze the most appropriate data representations in your code and design high quality software that is easy to understand and modify.
Data Structures and Software Design
Learn how to select, apply, and analyze the most appropriate data representations in your code and design high quality software that is easy to understand and modify.
Lecturers
Chris Murphy
Chris Murphy
Associate Professor of Practice, School of Engineering and Applied Science University of Pennsylvania
Platform
/storage/img/providers/edx.svg
All the courses on this platform are free of charge. The authors are top universities and corporations that seek to maintain high quality standards. If you do not meet a deadline for assignments, you lose points. Like on other platforms, the videos in which the theory is explained are followed by practical assignments. Courses are available in English, Chinese, Spanish, French and Hindi.
Like any other website, konevy uses «cookies». These cookies are used to store information including visitor's preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information. For more general information on cookies, please read the «What Are Cookies» article on Cookie Consent website.