Skip to main content

How to Code: Complex Data

Learn how to design more complex programs, using new data structures, abstraction, and generative recursion....
How to Code: Complex Data

There is one session available:

42,143 already enrolled!
Starts Nov 21

How to Code: Complex Data

Learn how to design more complex programs, using new data structures, abstraction, and generative recursion.
How to Code: Complex Data
6 weeks
2–3 hours per week
Self-paced
Progress at your own speed
Free
Optional upgrade available

There is one session available:

42,143 already enrolled! After a course session ends, it will be archivedOpens in a new tab.
Starts Nov 21

About this course

Skip About this course

As your program requirements get more complex, you will find that simple additions to the design method make it easy to write well-structured and well-tested code that is easy to maintain.

By learning how to capture common data and control structures using abstraction, your programs will get shorter and better tested.

Building on the core methods from How to Code: Simple Data, this programming course, part of the Software Development MicroMasters program, quickly expands to cover more complex programs on more complex data. Towards the end of the course, you will design programs that even experienced developers would find challenging.

You will also learn how to design search programs. You will design a program to solve Sudoku puzzles, and will be able to design many other puzzle solvers as well.

Learners who enroll in the Verified track will receive staff grading for the course project and increased interaction with the instructor and staff.


Learner Testimonial

"It's a great course and maybe one of the most important topics to master if you're a programmer (any level). This course will teach you how to design better, cleaner and faster programs."
- Previous Student

At a glance

  • Language: English
  • Video Transcript: English
  • Associated programs:

What you'll learn

Skip What you'll learn
  • How to identify commonalities in data definitions and functions
  • How to avoid repetition using abstraction
  • How to design functions that operate on graphs
  • How to design programs that search a given problem space to find a valid solution

About the instructors

Who can take this course?

Unfortunately, learners residing in one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX For Business.