Introduction to the Specialization 
  What’s New? Updates and Improvements in the Second Edition 
  How to Use the Interactive Textbook 
  Introduction - Programming in Python 
  Type Conversion Functions 
  Statements and Expressions 
  More About Statements and Expressions 
  Conclusion - Programming in Python 
  Introduction - Objects and Turtle Graphics 
  Instances: A Herd of Turtles 
  Repetition with a For Loop 
  Conclusion - Turtle Graphics 
  Syntax Runtime and Semantic Errors 
  Help Us Learn More About You! 
  Optional - What Did You Use to Practice This Week? 
  Type Conversion Functions 
  Variable Names and Keywords 
  Choosing the Right Variable Name 
  Statements and Expressions 
  Interactive Textbook Practice Opportunity 
  Instances: A Herd of Turtles 
  Repetition with a For Loop 
  A Few More Turtle Methods and Observations 
  Summary of Turtle Methods 
  Practice Assignment - Turtle and Object Mechanics 
  Gallery Tool: Turtle Drawing 
  Assessment - Programming in Python 
  Assessment: Turtle Graphics 
  Introduction: Lists and Strings 
  Examples of Slicing and Indexing 
  Concatenation and Repetition 
  Conclusion: Lists and Strings 
  Introduction: The Way of the Programmer 
  Naming Your Variables in For Loops 
  Printing Intermediate Results 
  Keeping Track of Your Iterator Variable and Your Iterable 
  Conclusion: The Way of the Programmer 
  Optional - What Did You Use to Practice This Week? 
  Interactive Textbook Practice Opportunity 
  Index Operator: Working with the Characters of a String and Accessing Elements in a List 
  Disambiguating []: Creation vs. Indexing 
  Concatenation and Repetition 
  Splitting and Joining Strings 
  Flow of Execution of the for Loop 
  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 
  Assessment - Lists and Strings 
  Introduction: Boolean Expressions 
  The in and not in Operators 
  Automated Tests with assert 
  Conclusion: Boolean Expressions 
  Introduction: Conditional Execution 
  Unary Selection Nested Conditionals and Chained Conditionals 
  The Accumulator Pattern with Conditionals and Accumulating a Maximum Value 
  Conclusion: Conditional Execution 
  Optional - What Did You Use to Practice This Week? 
  Interactive Textbook Practice Opportunity 
  Intro: What We Can Do with Turtles and Conditionals 
  Boolean Values and Boolean Expressions 
  The in and not in Operators 
  Checking Assumptions About Data Types 
  Checking Other Assumptions 
  Conditional Execution: Binary Selection 
  Omitting the else Clause: Unary Selection 
  Make a Flow Chart before You Write Your Code 
  The Accumulator Pattern with Conditionals 
  Introduction - Sequence Mutation 
  Conclusion - Sequence Mutation 
  Introduction - Methods on Lists and Strings 
  Non-Mutating Methods on Strings 
  Conclusion: Methods on Lists and Strings 
  Introduction - Accumulating Lists and Strings 
  The Accumulator Pattern with Lists 
  The Accumulator Pattern with Strings 
  Conclusion: Accumulating Lists and Strings 
  Introduction - Way of the Programmer 
  Making Reference Diagrams 
  Accumulator Pattern Strategies 
  Conclusion - Way of the Programmer 
  Introduction - Final Course Assignment 
  Keep Learning with Michigan Online 
  Interactive Textbook Practice Opportunity 
  Introduction: Transforming Sequences 
  Non-Mutating Methods on Strings 
  The Accumulator Pattern with Lists 
  The Accumulator Pattern with Strings 
  Accumulator Pattern Strategies 
  Don't Mutate A List That You Are Iterating Through 
  Assessment - Sequence Mutation 
  Assessment - Methods: Lists and Strings 
  Assessment - Accumulating Lists and Strings 
  Assessment - Way of the Programmer 
  Assignment: Final Course Assignment