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.

  • Provider edX
  • Cost Free Online Course (Audit)
  • Session Self Paced
  • Language English
  • Certificate $125 Certificate Available
  • Effort 2-3 hours a week
  • Start Date
  • Duration 7 weeks long
  • Learn more about MOOCs

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

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

Help Center

Most commonly asked questions about EdX EdX

Reviews for edX's How to Code: Simple Data
4.0 Based on 12 reviews

  • 5 stars 58%
  • 4 star 8%
  • 3 stars 17%
  • 2 star 8%
  • 1 star 8%

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 2 years 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
Anonymous
1.0 2 months ago
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.
Was this review helpful to you? Yes
Robert N
5.0 3 years ago
by 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 the books I read were uninformative (though there are plenty that I could nominate as morbidly boring) but rather they lack the type of interaction to be found in a MOOC; which as a beginner is crucial because when you get stuck you need help from your peers.

The main lesson to take away from this course certainly has to be systems …
Was this review helpful to you? Yes
Anonymous
5.0 2 years ago
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.
Was this review helpful to you? Yes
Marco M
5.0 4 years ago
by 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.
1 person found
this review helpful
Was this review helpful to you? Yes
Kochegarova E
5.0 8 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
Luis G
5.0 4 weeks ago
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.
Was this review helpful to you? Yes
Christian P
5.0 6 months ago
by 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
Was this review helpful to you? Yes
Anonymous
2.0 4 years ago
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.
3 people found
this review helpful
Was this review helpful to you? Yes
Chema C
3.0 4 years ago
by Chema completed this course.
1 person found
this review helpful
Was this review helpful to you? Yes
Matteo F
3.0 4 years ago
by Matteo completed this course.
1 person found
this review helpful
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.