About this Course
4.4
7 ratings
Specialization
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Beginner Level

Beginner Level

Hours to complete

Approx. 12 hours to complete

Suggested: 14 hours/week...
Available languages

English

Subtitles: English
Specialization
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Beginner Level

Beginner Level

Hours to complete

Approx. 12 hours to complete

Suggested: 14 hours/week...
Available languages

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
Hours to complete
11 hours to complete

General Introduction

In week one you will be introduced to programming in python through lectures and the Runestone textbook - an interactive online textbook built for this course. By the end of the module, you will have run your first python program, and learned how to draw images by writing a program....
Reading
27 videos (Total 172 min), 31 readings, 5 quizzes
Video27 videos
How to Use the Interactive Textbook14m
Getting Started7m
Values and Data Types7m
Operators and Operands7m
Function Calls10m
Data Types5m
Type Conversion Functions5m
Variables11m
Statements and Expressions8m
More About Statements and Expressions6m
Updating Variables7m
Hard-Coding3m
Input6m
Introduction - Objects and Turtle Graphics1m
Our First Turtle Program6m
Instances: A Herd of Turtles7m
Repetition with a For Loop5m
More Turtle Methods1m
Importing Modules9m
Conclusion - Turtle Graphics1m
Introduction - Debugging1m
Syntax, Runtime, and Semantic Errors6m
Know Your Error Messages3m
Incremental Programming6m
Common Errors5m
Conclusion - Debugging1m
Reading31 readings
Syllabus10m
Help Us Learn More About You!10m
Values and Data Types10m
Operators and Operands10m
Order of Operations10m
Function Calls10m
Data Types10m
Type Conversion Functions10m
Variables10m
Variable Names and Keywords10m
Choosing the Right Variable Name10m
Reassignment10m
Statements and Expressions10m
Updating Variables10m
Hard-Coding10m
Input10m
Hello Little Turtles!10m
Our First Turtle Program10m
Instances: A Herd of Turtles10m
Object Oriented Concepts10m
Repetition with a For Loop10m
A Few More Turtle Methods and Observations10m
Summary of Turtle Methods10m
Importing Modules10m
Syntax Errors10m
Runtime Errors10m
Semantic Errors10m
Know Your Error Messages10m
Incremental Programming10m
Common Errors10m
Practice Assignment - Drawing with Turtle10m
Quiz1 practice exercise
Optional - What Did You Use to Practice This Week?4m
Week
2
Hours to complete
8 hours to complete

Sequences and Iteration

In week two you will use the lectures and the Runestone textbook to understand the basics of a few python data types - lists, strings, tuples - as well as a control structure - for loops. By the end of this week, you will be able to write more complex programs that create drawings by incorporating for loops. Finally, we will present the basics of an accumulation pattern to you, which will be expanded on in each week for the rest of the course....
Reading
15 videos (Total 88 min), 23 readings, 4 quizzes
Video15 videos
Strings7m
Lists2m
Tuples3m
The Index Operator7m
The Slice Operator7m
Concatenation and Repetition6m
Count and Index10m
Split and Join6m
The For Loop12m
The Accumulator Pattern4m
The Range Function5m
Naming Your Variables in For Loops3m
Printing Intermediate Results4m
Keeping Track of Your Iterator Variable and Your Iterable4m
Reading23 readings
Introduction: Sequences10m
Strings10m
Lists10m
Tuples10m
Index Operator: Working with the Characters of a String and Accessing Elements in a List10m
Disambiguating []: Creation vs. Indexing10m
Length10m
The Slice Operator10m
Concatenation and Repetition10m
Count and Index10m
Splitting and Joining Strings10m
Introduction: Iteration10m
The for Loop10m
Flow of Execution of the for Loop10m
Strings and for Loops10m
Lists and for Loops10m
The Accumulator Pattern and the Range Function10m
(Optional) Traversal and the for Loop: By Index10m
(Optional) Nested Iteration: Image Processing10m
(Optional) The Gory Details: Iterables10m
Naming Variables in For Loops10m
Printing Intermediate Results10m
Keeping Track of Your Iterator Variable and Your Iterable10m
Quiz1 practice exercise
Optional - What Did You Use to Practice This Week?4m
Week
3
Hours to complete
5 hours to complete

Booleans and Conditionals

In week three you will learn a new python data type - the boolean - as well as another control structure - conditional execution. Through the use of video lectures and the Runestone textbook, you will learn what Binary, Unary, Nested, and Chained Conditionals are, as well as how to incorporate conditionals within an accumulation pattern....
Reading
7 videos (Total 61 min), 12 readings, 3 quizzes
Video7 videos
Logical Operators10m
The in and not in Operators3m
Precedence of Operators2m
Conditional Execution8m
Unary Selection, Nested Conditionals, and Chained Conditionals16m
The Accumulator Pattern with Conditionals and Accumulating a Maximum Value10m
Reading12 readings
Intro: What We Can Do with Turtles and Conditionals10m
Boolean Values and Boolean Expressions10m
Logical Operators10m
The in and not in Operators10m
Precedence of Operators10m
Conditional Execution: Binary Selection10m
Omitting the else Clause: Unary Selection10m
Nested Conditionals10m
Chained Conditionals10m
Make a Flow Chart before You Write Your Code10m
The Accumulator Pattern with Conditionals10m
Accumulating a Maximum Value10m
Quiz1 practice exercise
Optional - What Did You Use to Practice This Week?4m
Week
4
Hours to complete
10 hours to complete

Sequence Mutation and Accumulation Patterns

In week four we will present deeper knowledge on using lists, strings, and python objects in general. We will also cover how to use the accumulation pattern with lists and with strings. The final assignment will test your knowledge and skills through application, much like previous assessments and assignments did, though with a more difficult set of tasks now that you have learned the basics....
Reading
22 videos (Total 92 min), 15 readings, 6 quizzes
Video22 videos
Mutability12m
List Element Deletion1m
Objects and References4m
Aliasing3m
Cloning Lists2m
Conclusion - Sequence Mutation1m
Introduction - Methods on Lists and Strings1m
Methods on Lists9m
Append vs. Concatenate7m
Non-Mutating Methods on Strings7m
String Format Method8m
Conclusion - Methods on Lists and Strings1m
Introduction - Accumulating Lists and Strings48s
The Accumulator Pattern with Lists4m
The Accumulator Pattern with Strings5m
Conclusion - Accumulating Lists and Strings1m
Introduction - Way of the Programmer47s
Making Reference Diagrams3m
Accumulator Pattern Strategies8m
Conclusion - Way of the Programmer54s
Introduction - Final Course Assignment4m
Reading15 readings
Introduction: Transforming Sequences10m
Mutability10m
List Element Deletion10m
Objects and References10m
Aliasing10m
Cloning Lists10m
Methods on Lists10m
Append vs. Concatenate10m
Non-Mutating Methods on Strings10m
String Format Method10m
The Accumulator Pattern with Lists10m
The Accumulator Pattern with Strings10m
Accumulator Pattern Strategies10m
Don't Mutate A List That You Are Iterating Through10m
Course Feedback10m

Instructors

Avatar

Paul Resnick

Michael D. Cohen Collegiate Professor
School of Information
Avatar

Steve Oney

Assistant Professor
School of Information
Avatar

Jaclyn Cohen

Lecturer
School of Information

About University of Michigan

The mission of the University of Michigan is to serve the people of Michigan and the world through preeminence in creating, communicating, preserving and applying knowledge, art, and academic values, and in developing leaders and citizens who will challenge the present and enrich the future....

About the Python 3 Programming Specialization

This specialization teaches the fundamentals of programming in Python 3. We will begin at the beginning, with variables, conditionals, and loops, and get to some intermediate material like keyword parameters, list comprehensions, lambda expressions, and class inheritance. You will have lots of opportunities to practice. You will also learn ways to reason about program execution, so that it is no longer mysterious and you are able to debug programs when they don’t work. By the end of the specialization, you’ll be writing programs that query Internet APIs for data and extract useful information from them. And you’ll be able to learn to use new modules and APIs on your own by reading the documentation. That will give you a great launch toward being an independent Python programmer. This specialization is a good next step for you if you have completed Python for Everybody but want a more in-depth treatment of Python fundamentals and more practice, so that you can proceed with confidence to specializations like Applied Data Science with Python. But it is also appropriate as a first set of courses in Python if you are already familiar with some other programming language, or if you are up for the challenge of diving in head-first....
Python 3 Programming

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.