Documents

Stern Warning
Any notes found here are intended to supplement your own lecture notes.
They are not a substitute for attending class.

All homeworks and projects must follow the course's Coding Standards.

Lec No. Topic & Description PDF link PPTX link
Dr. Johnson's slides Google docs
  Live coding from Dr. Johnson's sections Github
Lec 01 Introduction PDF PowerPoint
  (Syllabus, Academic Integrity, Programming Mindset)   
Lec 02 Intro to Python PDF PowerPoint
  (Variables, Expressions, Input/Output, Python Interpreter)   
Lec 03 Operators PDF PowerPoint
  (Arithmetic, Assignment, Comparison, and Logical Operators)   
Lec 04 Decision Structures PDF PowerPoint
  (One-Way, Two-Way, and Multi-Way Decision Structures)   
Lec 05 Algorithmic Thinking PDF PowerPoint
  (Algorithms, Syntax and Logic Errors, Practice with Decision Structures)   
Lec 06 While Loops PDF PowerPoint
  (while Loops, Interactive Loops, Conditional Practice)   
Lec 07 While Loops (cont) PDF PowerPoint
  (Constants, Sentinel Loops, Boolean Flags)   
Lec 08 Lists PDF PowerPoint
  (Lists, Membership "in", Methods vs Functions)   
Lec 09 Strings PDF PowerPoint
  (Strings, Slicing, Concatenation, String Methods)   
Lec 10 Functions PDF PowerPoint
  (All About Functions (Define, Call, Purpose), Variable Scope)   
Lec 11 Functions (continued) PDF PowerPoint
  (Returning Values, Scope)   
Lec 12 Program Design PDF PowerPoint
  (Modularity, Top Down Design, Implementation)   
Lec 13 Lists (continued) PDF PowerPoint
  (Two-Dimensional Lists, Lists and Functions, Mutability)   
Lec 14 For Loops PDF PowerPoint
  (range() Function, Introduction to for Loops)   
Lec 15 Program Design (continued) PDF PowerPoint
  ("Good Code", Commenting, Incremental Programming)   
Lec 16 Recursion PDF PowerPoint
  (Recursion, Stacks, Designing Recursive Functions)   
Lec 17 Recursion (continued) PDF PowerPoint
  (Code Trace of Recursion, More Examples, Iteration vs Recursion)   
Lec 18 File I/O PDF PowerPoint
  (File Input/Output, Reading, Writing, Closing)   
Lec 19 Dictionaries PDF PowerPoint
  (Building, Accessing, and Manipulating Dictionaries, Comparison to Lists)   
Lec 20 Project 3 and Misc Topics PDF PowerPoint
  (Binary, Short Circuit Evaluations, Project 3 Tips)   
Lec 21 Searching and Sorting PDF PowerPoint
  (Linear/Binary Search and Bubble/Quick/Selection Sort)   
Lec 22 Algorithmic Analysis PDF PowerPoint
  (Run Time, Worst and Best Case, Asymptotic Analysis, Big O)