This course introduces the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures. Course outline and certification by University of Michigan
Certification offered by
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.
Key Points About This Course
Duration: 3 Days
Public Class Fee: RM 3,500.00
Virtual Class Fee: RM 2,975.00
This course introduces the basics of Python 3, including conditional execution and iteration as control structures, and strings and lists as data structures. You’ll program an on-screen Turtle to draw pretty pictures.
You’ll also learn to draw reference diagrams as a way to reason about program executions, which will help to build up your debugging skills. The course has no prerequisites. It will cover Chapters 1-9 of the textbook “Fundamentals of Python Programming,” which is the accompanying text (optional and free) for this course.
The course is for you if you’re a newcomer to Python programming, if you need a refresher on Python basics, or if you may have had some exposure to Python programming but want a more in-depth exposition and vocabulary for describing and reasoning about programs.
This is the first of five courses in the Python 3 Programming Specialization.
Part 1: General Introduction
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.
- Help Us Learn More About You!
- Values and Data Types
- Operators and Operands
- Order of Operations
- Function Calls
- Data Types
- Type Conversion Functions
- Variable Names and Keywords
- Choosing the Right Variable Name
- Statements and Expressions
- Updating Variables
- Hello Little Turtles!
- Our First Turtle Program
- Instances: A Herd of Turtles
- Object Oriented Concepts
- Repetition with a For Loop
- A Few More Turtle Methods and Observations
- Summary of Turtle Methods
- Importing Modules
- Syntax Errors
- Runtime Errors
- Semantic Errors
- Know Your Error Messages
- Incremental Programming
- Common Errors
- Practice Assignment – Drawing with Turtle
Part 2: Sequences and Iteration
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.
- Introduction: Sequences
- Index Operator: Working with the Characters of a String and Accessing Elements in a List
- Disambiguating : Creation vs. Indexing
- The Slice Operator
- Concatenation and Repetition
- Count and Index
- Splitting and Joining Strings
- Introduction: Iteration
- The for Loop
- Flow of Execution of the for Loop
- Strings and for Loops
- Lists and for Loops
- The Accumulator Pattern and the Range Function
- (Optional) Traversal and the for Loop: By Index
- (Optional) Nested Iteration: Image Processing
- (Optional) The Gory Details: Iterables
- Naming Variables in For Loops
- Printing Intermediate Results
- Keeping Track of Your Iterator Variable and Your Iterable
Part 3: Booleans and Conditionals
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.
- Intro: What We Can Do with Turtles and Conditionals
- Boolean Values and Boolean Expressions
- Logical Operators
- The in and not in Operators
- Precedence of Operators
- Conditional Execution: Binary Selection
- Omitting the else Clause: Unary Selection
- Nested Conditionals
- Chained Conditionals
- Make a Flow Chart before You Write Your Code
- The Accumulator Pattern with Conditionals
- Accumulating a Maximum Value
Part 4: Sequence Mutation and Accumulation Patterns
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.
- Introduction: Transforming Sequences
- List Element Deletion
- Objects and References
- Methods on Lists
- Append vs. Concatenate
- Non-Mutating Methods on Strings
- String Format Method
- The Accumulator Pattern with Lists
- The Accumulator Pattern with Strings
- Accumulator Pattern Strategies
- Don’t Mutate A List That You Are Iterating Through
- Course Feedback