University of Toronto - Learn to Program: Crafting Quality Code
Solutions for UofT’s Learn to Program: Crafting Quality Code
INSTRUCTORS
Instructors: Jennifer Campbell, Paul Gries
Course Description
Not all programs are created equal. In this course, we’ll focus on writing quality code that runs correctly and efficiently. We’ll design, code and validate our programs and learn how to compare programs that are addressing the same task.
Syllabus
Week 1
- Palindrome: Approaching the Problem
- Palindrome Algorithm 1
- Palindrome Algorithm 2
- Palindrome Algorithm 3
- The Restaurant Recommendations Problem
- Restaurant Recommendations: Representing the Data
- Restaurant Recommendations: Planning the Program
Week 2
- Testing Automatically Using doctest
- Writing a ‘main’ program
- Creating Your Own Types
- Testing Automatically Using unittest
- Choosing Test Cases
- Testing Functions that Mutate Values
Week 3
- Analyzing Algorithms
- Linear Search
- Binary Search
- Comparing Search Algorithms
- Bubble Sort
- Selection Sort
- Insertion Sort
Week 4
- Creating a New Type
- Plugging Into Python Syntax
- Writing Special Method str
- Writing Classes That Interact