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, Using GL & emacs, Intro to Computing, Binary Numbers)   
Lec 02 Algorithmic Thinking PDF PowerPoint
  (Program Development, Pseudocode, Flowcharts, Control Structures, Debugging)   
Lec 03 Variables PDF PowerPoint
  (Introduction to Python: Variables, Input, and Output)   
Lec 04 Expressions PDF PowerPoint
  (Expressions, Operators, Order of Operations, Casting Types, Constants)   
Lec 05 Decision Structures PDF PowerPoint
  (Comparison and Logical Operators, One-Way and Two-Way Decision Structures)   
Lec 06 Strings (and Decisions Continued) PDF PowerPoint
  (Multi-Way Decision Structures, Representations of Strings, String Functions)   
Lec 07 While Loops PDF PowerPoint
  (Introduction to while Loops, Nested Loops, Decision Making Practice)   
Lec 08 Lists PDF PowerPoint
  (Lists, Lists vs Strings, Sentinel Loops, Practice with Algorithms)   
Lec 09 For Loops PDF PowerPoint
  (Introduction to for Loops, range() Function, Combining for and range())   
Lec 10 Functions PDF PowerPoint
  (Defining Functions, Calling Functions, Parameters, and Scope)   
Lec 11 Functions continued PDF PowerPoint
  (Returning Values from Functions, Mutability, and Modifying Parameters)   
Lec 12 Program Design and Modularity PDF PowerPoint
  (Shallow Copy, "Max of Three", Modularity, and Vending Machine Example)   
Lec 13 Midterm Review PDF PowerPoint
  (Exam Rules, Exam Format, Exam Content, Exam Advice)   
Lec 14 Tuples PDF PowerPoint
  (Tuples, Tuple Operations, Tuples and Functions)   
Lec 15 File I/O PDF PowerPoint
  (Escape Sequences, File Processing, open(), and Reading from Files)   
Lec 16 File I/O continued PDF PowerPoint
  (Splitting Input into Variables, Writing to Files, and close())   
Lec 17 Dictionaries PDF PowerPoint
  (Building, Accessing, and Manipulating Dictionaries)   
Lec 18 Program Design (cont) PDF PowerPoint
  ("Good Code", Top Down/Bottom Up Design and Implementation)   
Lec 19 Modules and "Random" Numbers PDF PowerPoint
  (Using import, RNGs, Pseudo Randomness, Seeding the RNG)   
Lec 20 Recursion PDF PowerPoint
  (Recursion, Stacks, Designing Recursive Functions)   
Lec 21 Recursion (cont) PDF PowerPoint
  (Code Trace of Recursion, More Examples, Iteration vs Recursion)   
Lec 22 Searching PDF PowerPoint
  Review (welcome back!), Search Algorithms   
Lec 23 Sorting PDF PowerPoint
  (Sorting Algorithms: Selection Sort, Bubble Sort, Quicksort)   
Lec 24 Algorithmic Analysis PDF PowerPoint
  (Asymptotic Analysis, Big O, Theta, and Omega)   
Lec 25 Final Exam Review PDF PowerPoint
  (Exam Rules, Exam Format, Exam Content, Exam Advice)   
Lec 0XCareersPDFPowerPoint
 (Careers in CS, Interdisciplinary Computer Science)  

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 Section Notes
Lec 03 Mad Libs Game All Sections Game played in class
Lec 06 Dangerous Dinos Sec 01, Sec 07, Sec 13, Sec 19, Sec 25 Practice with decision structures
Lec 07 Password Guessing Sec 01, Sec 07, Sec 13, Sec 19, Sec 25 Practice with while loops
Lec 08 Grocery List v2.0 Sec 01, Sec 07, Sec 13, Sec 19, Sec 25 Using a sentinel while loop
Lec 09 Kennel Assistants Sec 01, Sec 07, Sec 13, Sec 19, Sec 25 Uses different for loop styles
Lec 12 Vending Machine Sec 01, Sec 07, Sec 13, Sec 19, Sec 25 Brainstorming from class
Lec 16 deSpacing Sec 01, Sec 07, Sec 13, Sec 19, Sec 25 Read in and process a file
Lec 17 Creating Dictionaries Sec 01, Sec 07, Sec 13, Sec 19, Sec 25 Create dict from two lists
Lec 19 Random PINs Sec 01, Sec 07, Sec 13, Sec 19, Sec 25 Practice with using random()
Lec 21 Fibonacci Sequence Sec 01, Sec 07, Sec 13, Sec 19, Sec 25 Practice with recursion
Lec 22 Binary Search All Sections Same algorithm for all sections