How to Code: Complex Data

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

Created by: University of British Columbia

Level: Introductory


Related Online Courses

We begin with a study of finite automata and the languages they can define (the so-called "regular languages." Topics include deterministic and nondeterministic automata, regular expressions, and... more
Building a fully-fledged algorithm to assemble genomes from DNA fragments on a real dataset is an enormous challenge with major demand in the multi-billion dollar biotech industry. In this capstone... more
Most data science projects fail. There are various reasons why, but one of the primary reasons is the challenge of deployment. One piece to the deployment puzzle is understanding how to automate... more
Robotics and AI are all around us and promise to revolutionize our daily lives. Autonomous vehicles have a huge potential to impact society in the near future, for example, by making owning private... more
In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming... more

CONTINUE SEARCH

FOLLOW COLLEGE PARENT CENTRAL