How to Code: Complex Data
The University of British Columbia via edX
- Provider edX
- Cost Free Online Course (Audit)
- Session Self Paced
- Language English
- Certificate $125 Certificate Available
- Effort 2-3 hours a week
- Duration 6 weeks long
- Learn more about MOOCs
Taken this course? Share your experience with other students. Write review

Class Central Custom Lists
Build and share your own catalog of courses with Class Central's custom lists.
Overview
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
Taught by
Help Center
Most commonly asked questions about EdX
Reviews for edX's How to Code: Complex Data Based on 2 reviews
- 5 stars 100%
- 4 star 0%
- 3 star 0%
- 2 star 0%
- 1 star 0%
Did you take this course? Share your experience with other students.
Write a review- 1
You will work with functional programming languages, which were new to me and very exciting to learn!
You will learn concepts like Mutual Recursion, Graphs, Accumulators, Generative recursion, Arbitrary-arity trees and so many more!
I really loved a module on Search where you design a program that solves any Sudoku and another one where you solve a Tic Tac …
- 1