subject
Intro

edX: How to Code: Systematic Program Design - Part 1

 with  Gregor Kiczales

This short series of programming courses are unique in focusing 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.

SPD1 presents the core design method with a focus on simple data. You will learn techniques that help you develop your program requirements; how to produce programs with consistent structure that are easy to modify later; and how to make your programs more reliable by building tests as an integral part of the programming process. This part concludes with the design of simple interactive program. The final project is an interactive game.

This course is part of the How to Code - Systematic Program Design XSeries Program

6 Student
reviews
Cost Free Online Course
Pace Self Paced
Provider edX
Language English
Hours 8-12 hours a week
Calendar 61 weeks long

Disclosure: To support our site, Class Central may be compensated by some course providers.

+ Add to My Courses
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

6 reviews for edX's How to Code: Systematic Program Design - Part 1

Write a review
a year ago
Robert Ndungu 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 Read More
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 thinking which is emphasized throughout by the professor. As I build up my programming experience with each day that passes, I am slowly beginning to appreciate the massive advantages it offers. Whenever I wrote a program that didn't do what was required, more often than not it was because of adopting "verbal reasoning" as I punched in the code. As soon as I started asking myself the "why" and "what" certain pieces of code in the program were doing, I quickly found where I'd veered off course.

As a beginner, I did this course slower than most (just over a month) but I believe the extra time I spent on it will certainly pay dividends in the future. To sum up, I rate this MOOC very highly and look forward to completing SPD2 and SPD3.
Was this review helpful to you? YES | NO
1 out of 1 people found the following review useful
2 years ago
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.
Was this review helpful to you? YES | NO
7 months ago
profile picture
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 | NO
2 out of 8 people found the following review useful
2 years ago
profile picture
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.
Was this review helpful to you? YES | NO
1 out of 5 people found the following review useful
2 years ago
Chema Cortés partially completed this course.
Was this review helpful to you? YES | NO
1 out of 5 people found the following review useful
2 years ago
Matteo Ferrara partially completed this course.
Was this review helpful to you? YES | NO

Class Central

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

Sign up for free