EdX

How to Code: Complex Data (edX)

How to Code: Complex Data (edX)

Learn how to design more complex programs, using new data structures, abstraction, and generative recursion. 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.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

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.
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

Prerequisites
How to Code: Simple Data

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Introduction to C++ (edX) EdX
Microsoft

Introduction to C++ (edX)

Get a brief introduction to the C++ language from the experts at Microsoft. C++ is a general purpose programming language that supports various computer programming models such as object-oriented programming and generic programming. It was created by Bjarne Stroustrup and, “Its main purpose was to make writing good programs easier and more pleasant for the individual programmer.”*

No sessions available
4 Weeks
Computing for Data Analysis (edX) EdX
Georgia Institute of Technology,GTx

Computing for Data Analysis (edX)

A hands-on introduction to basic programming principles and practice relevant to modern data analysis, data mining, and machine learning. The modern data analysis pipeline involves collection, preprocessing, storage, analysis, and interactive visualization of data. In the course, you’ll see how computing and mathematics come together.

Aug 19th 2024
13-24 Weeks
Jugando con Android - Aprende a programar tu primera App (edX) EdX
Universidad Autonoma de Madrid

Jugando con Android - Aprende a programar tu primera App (edX)

Aprende a programar en Android a través de la implementación paso a paso de un juego interactivo. Según datos publicados por Gartner a nivel mundial, casi el 60% de los teléfonos vendidos en 2013 fueron teléfonos inteligentes. Alrededor del 80% de estos teléfonos llevaban en su interior el sistema operativo Android. No cabe duda, por lo tanto, de que formarse en Android es una de las mejores inversiones que puede hacer un programador en la actualidad.

No sessions available
5-12 Weeks
Mobile Computing with App Inventor - CS Principles (edX) EdX
Trinity College, Hartford

Mobile Computing with App Inventor - CS Principles (edX)

This course introduces basic principles of computer science by designing and building mobile apps in App Inventor for Android. Learn to use the open development tool, App Inventor, to program on Android devices. You will learn how to design and build mobile apps -- apps that are aware of their location, send and receive text messages, and give advice and directions. The only limit on the types of apps you will learn to build is your own imagination!

No sessions available
5-12 Weeks
Implementation of Data Structures (edX) EdX
IIT Bombay,IITBombayX

Implementation of Data Structures (edX)

Learn how to write correct and efficient data structures manipulation using existing standard template library (STL) of C++. Get introduced to the power of STL and make your code more solid, reusable, and robust. In this Computer Science course, you will learn about implementation of all major abstract data structures using object-oriented programming paradigm of C++.

This course is archived
5-12 Weeks
CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
MyCS: Computer Science for Beginners (edX) EdX
Harvey Mudd College

MyCS: Computer Science for Beginners (edX)

In this fun and creative introduction to computer science for learners of all ages, you'll learn and apply concepts by programming in Scratch. How do computers work? What do computer scientists do? What does it take to make a computer or a computer program work? We answer these questions and more with MyCS: Computer Science for Beginners.

No sessions available
5-12 Weeks
Applied Quantum Computing III: Algorithm and Software (edX) EdX
Purdue University,PurdueX

Applied Quantum Computing III: Algorithm and Software (edX)

Learn domain-specific quantum algorithms and how to run them on present-day quantum hardware. This course is part III of the series of Quantum computing courses, which covers aspects from fundamentals to present-day hardware platforms to quantum software and programming. The goal of part III is to discuss some of the key domain-specific algorithms that are developed by exploiting the fundamental quantum phenomena (e.g. entanglement)and computing models discussed in part I.

Mar 25th 2024
5-12 Weeks
Introduction to Java Programming: Starting to code in Java (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Starting to code in Java (edX)

Learn to program with Java in an easy and interactive way! 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 Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

Self Paced
Self-Paced