• Length:
    6 Weeks
  • Effort:
    2–3 hours per week
  • Price:

    FREE
    Add a Verified Certificate for 125 USD

  • Institution
  • Subject:
  • Level:
    Introductory
  • Language:
    English
  • Video Transcript:
    English

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

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

Meet your instructors

Gregor Kiczales
Professor, Computer Science
University of British Columbia

Pursue a Verified Certificate to highlight the knowledge and skills you gain $125.00

View a PDF of a sample edX certificate
  • Official and Verified

    Receive an instructor-signed certificate with the institution's logo to verify your achievement and increase your job prospects

  • Easily Shareable

    Add the certificate to your CV or resume, or post it directly on LinkedIn

  • Proven Motivator

    Give yourself an additional incentive to complete the course

  • Support our Mission

    EdX, a non-profit, relies on verified certificates to help fund free education for everyone globally