Documents

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

Lec No. Topic & Description PDF link PPTX link
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 Lists (continued) PDF PowerPoint
  (Two-Dimensional Lists, Lists and Functions, Mutability)   
Lec 13 Program Design PDF PowerPoint
  (Modularity, Top Down Design, Implementation)   
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 String Formatting PDF PowerPoint
  (String Formatting (Alignment, Padding, etc.), Tuples)   
Lec 19 File I/O PDF PowerPoint
  (File Input/Output)   
Lec 20 Binary (and File I/O) PDF PowerPoint
  (Binary Numbers, File I/O Review)   
Lec 21 Dictionaries PDF PowerPoint
  (Building, Accessing, and Manipulating Dictionaries, Comparison to Lists)   
Lec 22 Project 3 and Miscellaneous Topics PDF PowerPoint
  (ASCII Values, Short Circuiting, Project 3 Details)   
Lec 23 Hexadecimal and Color Printing PDF PowerPoint
  (Hexadecimal Numbers, Printing in Color (ANSI Escape Codes))   
Lec 24 Searching and Sorting PDF PowerPoint
  (Linear/Binary Search and Bubble/Quick/Selection Sort)   
Lec 25 Algorithmic Analysis PDF PowerPoint
  (Run Time, Worst and Best Case, Asymptotic Analysis, Big O)   

Livecoding Files

Below you will find copies of the files we have worked on in class. Brief notes have been provided where appropriate.

Lecture Exercise Links Notes
Lec 05 Nail Polish polish.py Single if/elif/else
Lec 05 Passing 201 moveOn1.py
moveOn2.py
moveOn3.py
Nested, grade as outer if
Nested, major as outer if
Not nested, uses and/or
Lec 06 Guessing Polish guessPolish.py Uses a while loop to keep guessing
Lec 07 Password Creator validPassword.py Uses a Boolean flag to meet multiple requirements
Lec 07 Extra Credit Grades extraCredit.py Uses a Boolean flag to find one of many possible ways
Lec 12 Checker Board checkers.py Builds and prints a 2D list
Lec 14 Kennel Assistants kennel.py Uses different for loop styles
Lec 16 List Summation recurSumLists.py Uses two different recursive solutions to sum a list
Lec 17 Fibonacci Tracing traceFib.py Uses recursion to generate lower numbers
Lec 19 deSpacing deSpacer1.py
deSpacer2.py
Using split and join on one string
Using for loop over file as one string
Lec 23 Colored Text coloring.py Uses ANSI escape codes in a function to print in colors
Lec 23 Binary Search binarySearch.py Recursive binary search implementation