Get started with custom lists to organize and share courses.

Sign up

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

How to Code: Simple Data

The University of British Columbia via edX

3 Reviews 1115 students interested

Taken this course? Share your experience with other students. Write review


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


Help Center

Most commonly asked questions about EdX EdX

Reviews for edX's How to Code: Simple Data
4.7 Based on 3 reviews

  • 5 stars 67%
  • 4 star 33%
  • 3 star 0%
  • 2 star 0%
  • 1 star 0%

Did you take this course? Share your experience with other students.

Write a review
  • 1
Estefania C
5.0 2 years ago
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 the simplicity of the language will soon prove itself to be very useful at the end of this course and in the next course in the series. How to code: Complex data. This is a functional programming language.

You will learn how to follow certain steps to breakdown a problem that may seem be very complex at first but that a…
Was this review helpful to you? Yes
Chris D
4.0 a year ago
by 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 course was different than any I have previously taken. It uses Beginning Student Language which can feel tedious at times, but there is value in this choice. The course was very well organized. There were only a couple topics that could've used more explanation, though this is probably why the course was split into two (taking the second now).

I am glad to have taken this course and only wish that I would've had this available 5 years ago when I started programming because it creates good habits from the beginning. If, like me, you have been programming on your own for a while but feel you could be better, I highly recommend this course. Just remember not to overthink recursion, trust it!

Was this review helpful to you? Yes
Kochegarova E
5.0 2 months ago
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 that should be represented by a program which helps to maintain the same structure in functions. Design recipes allow you to break a problem apart and not to overthink before you start coding. Those algorithms are perfect for figuring out what should be the next step when you are still working on the current one. Data definitions, data-driven templates for functions, tests of each small function are what make you solve really difficult problems without feeling stressed about stupid mistakes.
Was this review helpful to you? Yes
  • 1

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.