2013
Coursera / The University of British Columbia
Gregor Kiczales
14:26:22 8 weeks
English
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 at all. Nonetheless, former students who already knew how to program have said it made them better programmers.
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.
Week 1 - Primitives
Week 2 - HtDF
Week 3 - HtDD
Week 4 - HtDW
Week 5 - Self Reference
Week 6 - Mutual Reference
Week 7 - Local and Abstraction
Week 8 - Generative Recursion
https://www.coursera.org/course/programdesign
Download File Size:1.24 GB