Not all programs are created equal. In this course, I focused on writing quality code that runs correctly and efficiently. I designed, code and validate our programs and learned how to compare programs that are addressing the same task.
Most programs are used for years and are worked on by many people. Having programs that are easy to understand is essential, in the same way that a well-organized essay is far easier to follow than a disorganized one. The course showed me an approach that helps to break down problems into smaller tasks that are easier to both solve and read.
Most programs are used for years and are worked on by many people. Having programs that are easy to understand is essential, in the same way that a well-organized essay is far easier to follow than a disorganized one. The course showed me an approach that helps to break down problems into smaller tasks that are easier to both solve and read.
This design approach also makes it more straightforward to find and fix flaws. I was introduced to the tools that professional programmers use; they're called "testing" and "debugging".
For most complex problems, there are many programs that solve them. Some are inherently slower than others. I learned how to read two programs and compare them for efficiency.
- Week 1 : Python and Computer Memory; Variables
- Week 2 : Docstrings and Function help; Function Design Recipe; Visualizing Function Calls
- Week 3 : Functions, Variables, and the Call Stack
- Week 4 : IDLE's Debugger
- Week 5 : Mutability and Aliasing