General Introduction

  • Programs and Algorithms
  • Introduction to Python
  • Introduction to debugging

Simple Python Data

  • Variables, Expressions, and Statements
  • Values and Data Types
  • Statements and Expressions, Operators
  • Input and Output

Debugging Interlude

  • How to Avoid Debugging
  • Beginning Tips
  • Know your Error Messages

Python Turtle Graphics

  • Instances
  • The for loop, Flow of Executions
  • Iteration and the Range Functions

Python Modules

  • Modules and Getting Help
  • The math module
  • The random module
  • CSC 121, June 2018

Functions

  • Functions
  • Unit Testing
  • Local Variables and Parameters
  • The Accumulator Pattern
  • Nesting Functions, Flow of Execution
  • Using the main function
  • Program Development

Selection

  • Boolean Values and Expressions
  • Operators and Precedence of Operations
  • Conditional Execution
  • Nesting and Chaining Conditionals

More about Iteration

  • The for loop revisited
  • The while statement
  • Applications and Patterns
  • Sentinels and Input Validation
  • Algorithms Revisited

Strings

  • A Collection Data Type, Indexing
  • String Methods and Slicing
  • Traversal Patterns
  • The in and not in Operators

Lists

  • Another Collection Type
  • Concatenation, Repetition, and Element Deletion
  • Objects and References
  • Lists and for loops
  • Lists as Parameters and Return values from functions
  • List Comprehensions
  • Nested Lists

Files

  • Working with Data Files
  • Reading and Writing Text Files
    with Statements

Dictionaries

  • Dictionaries and their Operations
  • Aliasing and Copying

Exceptions

  • Exception Handling and Flow-of-control
  • Principals of using Exceptions
  • Catching Multiple Specific Exceptions
  • Clean-up after Exceptions

Recursion

  • What is Recursion?
  • The Three Laws of Recursion
  • Visualizing Recursion
  • Classes and Objects
  • Object Oriented Programming, a Change in Perspective
  • User Defined Classes
  • Constructors and other Methods
  • Using Objects as Arguments and Parameters
  • Instances as Return Values

Using Classes and Objects

  • Fractions
  • Mutating Objects
  • Sameness
  • Arithmetic Methods