A course taught by Proffesor Gregor Kiczales and offered by the University of British Columbia through edX with a focus on learning a systematic programming method rather than a programming language.
- 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.
- How to represent information as data
- How to focus each part of your program on a single task
- How to use examples and tests to clarify what your program should do
- How to simplify the structure of your program using common patterns
- Recognize and represent more complicated information
View the course here.