Save for later

How to Code

Software Development,

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.

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.

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

"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

Get Details and Enroll Now

OpenCourser is an affiliate partner of edX and may earn a commission when you buy through our links.

Get a Reminder

Send to:
Rating 4.8 based on 5 ratings
Length 6 weeks
Effort 6 weeks, 2–3 hours per week
Starts On Demand (Start anytime)
Cost $125
From University of British Columbia, UBCx via edX
Instructor Gregor Kiczales
Download Videos On all desktop and mobile devices
Language English
Subjects Programming
Tags Computer Science

Get a Reminder

Send to:

Similar Courses

What people are saying

automatic marking rather than

The course would really benefit from automatic marking rather than self-assessment.

brings an engineering discipline

This brings an engineering discipline and mindset to software development.

handle complex data structures

This course really helped me with how to handle complex data structures and their functions.

more difficult assignment came

The material is presented in a logical progression with excellent pacing and just enough repetition so that when a more difficult assignment came up I was surprised to find that I had the tools!

logical progression with excellent

totally recommend both courses

I totally recommend both courses in the How to code series.

really benefit from automatic

enough repetition so

instructor speaks well

The instructor speaks well and the content holds students' attention.

highly recommended

Highly Recommended.

it builds

It builds you up by going step by step through the course, therefore by the end of the course it is quite a surprise that you can do what you learned.

artistry out

The method takes all the guesswork and artistry out of it (which is a good thing).

Careers

An overview of related careers and their average salaries in the US. Bars indicate income percentile.

Requirements Specialist $58k

Data Requirements Analyst $69k

Revenue Requirements Analyst $71k

Business Requirements Analyst 1 $81k

System Requirements Engineer $92k

Requirements Analyst 3 $94k

Technology Requirements Analyst $99k

IT Requirements Analyst $100k

Requirements Management $116k

Test Requirements Engineer $117k

Legal Requirements Attorney $124k

Software Requirements , Program Management Lead $130k

Write a review

Your opinion matters. Tell us what you think.

Rating 4.8 based on 5 ratings
Length 6 weeks
Effort 6 weeks, 2–3 hours per week
Starts On Demand (Start anytime)
Cost $125
From University of British Columbia, UBCx via edX
Instructor Gregor Kiczales
Download Videos On all desktop and mobile devices
Language English
Subjects Programming
Tags Computer Science

Similar Courses

Sorted by relevance

Like this course?

Here's what to do next:

  • Save this course for later
  • Get more details from the course provider
  • Enroll in this course
Enroll Now