We believe that everyone should learn how to design computer programs. This is because programming has become a required skill as important as basic literacy. The use of computers and computer programs has spread to all professions.
This course is taught in a series of assignments to be solved by you and will teach you how to progress from a problem description to a working solution. With each problem that you solve, you will learn new concepts, patterns, methods and experiences that will expand your programming and computer program design abilities.
- Steps of the design process
- How to be clever and when not to be clever
- Regular expressions and interpreters
- Dealing with complexity
- Managing complexity
- Dealing with uncertainty