- Level Foundation
- Ratings
- Course by University of British Columbia
- Total students 5,296 enrolled
-
Offered by
About
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 will 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
Skills you learn
Auto Summary
Embark on an educational journey with "How to Code: Complex Data," a foundational IT & Computer Science course offered by edX. This program is meticulously designed to guide learners through the intricacies of designing complex programs. Dive deep into advanced concepts such as new data structures, abstraction, and generative recursion, all essential components for sophisticated software development. Led by expert instructors, this course promises a comprehensive understanding of these critical programming elements. Although the duration is flexible, learners can choose from Starter and Professional subscription options, ensuring access that fits their needs and goals. Ideal for beginners looking to solidify their coding foundation or professionals aiming to enhance their programming skills, this course is tailored to provide a robust learning experience. Join now to elevate your coding capabilities and master the art of handling complex data in software development.

Gregor Kiczales