Introduction to Systematic Program Design - Part 1

开始时间: 09/04/2013 持续时间: 10 weeks

所在平台: Coursera

课程类别: 计算机科学

大学或机构: The University of British Columbia(英属哥伦比亚大学)

授课老师: Gregor Kiczales



Explore 1600+ online courses from top universities. Join Coursera today to learn data science, programming, business strategy, and more.

课程评论: 2 个评论

评论课程        关注课程


Phones, diesel engines, animated newspapers, medical devices, games, political campaigns, medical research, mining, transportation systems, ... and so on, and on, and on... every day more of the world around us is at least partly run by computer programs. This means that being able to design programs - or at least be able to work with people who design programs - is becoming a more and more valuable skill.

To build your own programs you need to know two things: how to use the specific programming language and libraries needed, and the more general skill of how to design a program.

This course presents a design method that will enable you to approach the design of complex programs systematically. The method will work for programs in this course as well as hard to design programs you develop in the future.

Using this method you will learn how to model the information in a problem domain, how to structure program data to mirror that information and how to further structure the data to lead to a well organized program. You will also learn to distinguish those parts of a program that are naturally data driven, from those that should use an alternative algorithmic approach. The method uses unit-tests to both produce a better developed design, and to test your program as you develop it.

The course has a two-phase structure. In the first phase we use a simple teaching language to cover the core of the design method. The second phase consists of parallel tracks, with each track using a different popular programming language and focusing on a different kind of problem. This will help you bring the design method to whatever language and problem domain interests you.



ffffffoouddddd 2013-06-10 07:23 0 票支持; 0 票反对

正在上,教学用的是叫 DrRacket 的开源软件,语言是 Beginning Student Language, 一种很恐怖的语言。语法超复杂。不过讲语法只用了一周,然后开始按照 HtDP 提供的步骤设计程序。印象比较深刻的是这门课把视频组织得很好,每个视频都有描述,然后有对应的习题。下载一个 .rtk 文件然后自己按要求做,这符合该老师的理念,即光看视频是不能让你学会设计程序的,要自己动手才行,课程也提供丰富的习题,并且标明了难度和预计完成时间,视频还可以排序,总体来说很不错。只是老师有点沉闷,还喜欢仰着头说话……还有那个 DrRacket 的图标真是太难看了


课程图谱 2013-06-01 21:30 0 票支持; 0 票反对


Deep Learning Specialization on Coursera


This course is about learning to program well: building programs that are elegant, well tested and easy to maintain. The course is intended for students with no programming experience, but many former students who already knew how to program have said it made them better programmers.


程序设计 程序 程序设计导论 编程入门 编程 编程设计 英属哥伦比亚大学 Racket



High Performance Scientific Computing 关注

Artificial Intelligence 关注

Compilers 关注

An Introduction to Interactive Programming in Python 关注

C++ For C Programmers 关注

Fundamentals of Online Education: Planning and Application 关注


Computer Networks 关注

Programming Languages 关注

PHP 关注