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

Online Course

How to Code: Simple Data

The University of British Columbia via edX

Overview

This programming course takes a unique approach, as it focuses on learning a systematic programming method rather than a programming language. This practical approach will help you channel your creativity so that you can program well in any language.

This course, part of the Software Development MicroMasters Program, presents a core design method with a focus on numbers, strings, images and lists.

You will learn techniques to:

  • Develop program requirements
  • Produce programs with consistent structure that are easy to modify later
  • Make your programs more reliable by building tests as an integral part of the programming process.

This course concludes with the design of a simple interactive game.

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

"I have taken and completed tens of MOOCs on programming and computer science, I have even been and I am currently a TA in some of these courses. Among them are a few that deserve without hesitation the highest rate. But if I had to choose only one at the top of them it would be these two courses on systematic program design." - edX Learner

Taught by

Gregor Kiczales

Reviews

3.8 rating, based on 13 reviews

Start your review of How to Code: Simple Data

  • Profile image for Estefania Cass.
    Estefania C.

    Estefania completed this course, spending 8 hours a week on it and found the course difficulty to be medium.

    This is an extraordinary course that I totally recommend taking for everyone looking to learn how to code!!! You will start by learning BSL, the functional programming language used in the course. I promise you that learning BSL will be great, and that...
  • Anonymous

    Anonymous is taking this course right now.

    This class teaches really basic concepts at a very slow pace. If you have ever written a function before, I would suggest taking something a bit more advanced. I believe the professor's choice to use a custom language and IDE is ultimately doing a disservice to the students, as the syntax is bizarre and ultimately hard to apply to any reasonable language.
  • Chris completed this course, spending 9 hours a week on it and found the course difficulty to be hard.

    Interesting course that has taken much of the guess work out of working with data and designing functions. It teaches a systematic approach for programming with an emphasis on letting the data build the function as well as test-driven development. This...
  • Anonymous

    Anonymous completed this course.

    Great course for learning program design. A gentle introduction to thinking functionally. This course is highly recommended. It has now been updated and is part of the MicroMasters in Software Development on edX.
  • Robert completed this course, spending 8 hours a week on it and found the course difficulty to be medium.

    This is the first programming MOOC I have ever taken. Prior to taking it, I had attempted to read programming books with the intention of learning how code. It didn't take long before I realized that I hated reading books about programming. Not because...
  • Marco completed this course, spending 2 hours a week on it and found the course difficulty to be medium.

    Best course on program design. It is based on How To Design Programs by Mathias Felleisen.

    It uses a functional paradignem and the Racket language to teach you how to design your programs around your data.
  • Anonymous
    Probably the worst way to learn. You'll be better off pretty much doing any other course with a standard setup and programming language.
  • Profile image for Kochegarova Elena
    Kochegarova E.

    Kochegarova is taking this course right now, spending 40 hours a week on it and found the course difficulty to be medium.

    Perfect course for people who really want to start coding from the very beginning. This course helps you convert tough problems to very small yet functional and easy readable pieces of code with obvious structure. It focuses on the structure of the data...
  • Profile image for Luis Galicia
    Luis G.

    Luis completed this course, spending 10 hours a week on it and found the course difficulty to be medium.

    A very well organized, pleasing, and useful course. You will use Racket, a functional programming language. The course teaches a good deal of test-oriented programming and some basic design principles. The exercises are very rewarding. I thoroughly recommend taking this course and the one that follows, HtC: Complex Data.
  • Christian completed this course, spending 8 hours a week on it and found the course difficulty to be medium.

    The course offers very good information on designing simple programs in general, it is taught in Racket, a very simple programming language with easy syntax, this means that it does not take a long time to understand syntax to begin coding, instructor Gregor Kickzales does a great job teaching this course
  • Anonymous

    Anonymous completed this course.

    It's a weird way to go about introducing well know design concepts like TDD, Design patterns, separation of concerns. Professor come up with different names for all those well know concepts and talks about them in a way like he just discover them. There is got to be a better course on program design.
  • Chema completed this course.

  • Matteo completed this course.

Related Courses

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free