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.
What's included
7 videos10 readings1 assignment
Show info about module content
7 videos•Total 50 minutes
Palindrome: Approaching the Problem•7 minutes
Palindrome: Algorithm 1 •5 minutes
Palindrome: Algorithm 2•6 minutes
Palindrome: Algorithm 3•5 minutes
The Restaurant Recommendations Problem•3 minutes
Restaurant Recommendations: Representing the Data•6 minutes
Restaurant Recommendations: Planning the Program•17 minutes
10 readings•Total 100 minutes
Syllabus•10 minutes
Course Logistics•10 minutes
Resources•10 minutes
Palindrome: Approaching the Problem•10 minutes
Palindrome: Algorithm 1•10 minutes
Palindrome: Algorithm 2•10 minutes
Palindrome: Algorithm 3•10 minutes
The Restaurant Recommendations Problem•10 minutes
Restaurant Recommendations: Representing the Data•10 minutes
Restaurant Recommendations: Planning the Program•10 minutes
1 assignment•Total 30 minutes
Week 1 Exercise•30 minutes
Week 2
Module 2•4 hours to complete
Module details
What's included
6 videos6 readings1 assignment1 peer review
Show info about module content
6 videos•Total 33 minutes
Testing Automatically Using doctest•7 minutes
Writing a '__main__' program•5 minutes
Creating Your Own Types•6 minutes
Testing Automatically Using unittest•5 minutes
Choosing Test Cases•7 minutes
Testing Functions that Mutate Values •3 minutes
6 readings•Total 60 minutes
Testing Automatically Using doctest•10 minutes
Writing a '__main__' program•10 minutes
Creating Your Own Types•10 minutes
Testing Automatically Using unittest•10 minutes
Choosing Test Cases•10 minutes
Testing Functions that Mutate Values•10 minutes
1 assignment•Total 30 minutes
Week 2 Exercise•30 minutes
1 peer review•Total 120 minutes
Writing test cases•120 minutes
Week 3
Module 3•2 hours to complete
Module details
What's included
7 videos7 readings1 assignment
Show info about module content
7 videos•Total 48 minutes
Analyzing Algorithms•7 minutes
Linear Search•7 minutes
Binary Search•7 minutes
Comparing Search Algorithms•13 minutes
Bubble Sort•6 minutes
Selection Sort•4 minutes
Insertion Sort•5 minutes
7 readings•Total 70 minutes
Analyzing Algorithms•10 minutes
Linear Search•10 minutes
Binary Search•10 minutes
Comparing Search Algorithms•10 minutes
Bubble Sort•10 minutes
Selection Sort•10 minutes
Insertion Sort•10 minutes
1 assignment•Total 30 minutes
Week 3 Exercise•30 minutes
Week 4
Module 4•2 hours to complete
Module details
What's included
4 videos4 readings1 assignment
Show info about module content
4 videos•Total 32 minutes
Creating a New Type•9 minutes
Plugging Into Python Syntax•11 minutes
Writing Special Method __str__•5 minutes
Writing Classes That Interact•7 minutes
4 readings•Total 40 minutes
Creating a New Type•10 minutes
Plugging Into Python Syntax•10 minutes
Writing Special Method __str__•10 minutes
Writing Classes That Interact•10 minutes
1 assignment•Total 30 minutes
Week 4 Exercise•30 minutes
Week 5
Module 5•4 hours to complete
Module details
What's included
3 videos3 readings1 programming assignment
Show info about module content
3 videos•Total 14 minutes
Passing Functions as Arguments•2 minutes
Assigning Parameters Default Values•4 minutes
Dealing with Exceptional Situations •7 minutes
3 readings•Total 30 minutes
Passing Functions as Arguments•10 minutes
Assigning Parameters Default Values•10 minutes
Dealing with Exceptional Situations•10 minutes
1 programming assignment•Total 180 minutes
Rat Race•180 minutes
Instructors
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
Established in 1827, the University of Toronto is one of the world’s leading universities, renowned for its excellence in teaching, research, innovation and entrepreneurship, as well as its impact on economic prosperity and social well-being around the globe.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.6
732 reviews
5 stars
73.22%
4 stars
19.94%
3 stars
4.37%
2 stars
1.36%
1 star
1.09%
Showing 3 of 732
A
A
4·
Reviewed on Nov 18, 2020
Course is good for knowledge but there are a lot of mistakes in certain quizzes and is a difficult without a mentor in the forums.
B
BL
4·
Reviewed on Jun 1, 2022
Besides TDD and proper comments, there wasn't much said about quality code.The runner for the assignment is not working, which made the assignment pretty anti climactic.
B
BV
5·
Reviewed on May 3, 2017
I have started around 20 MOOCs, but it the first one which I have finished. The course is very practical and I recommend it to all who has some python experience.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I purchase the Certificate?
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.