Community Data Science Workshops (Fall 2014)/Day 1 lecture

Welcome to the Saturday lecture section of the Community Data Science Workshop! For about 2 hours, we'll work through an introduction to the Python programming language via both a lecture and hand-on exercises.

Resources

Lecture outline

  1. review Friday material
    • math: using python as a calculator
      • addition, subtraction, multiplication, division
      • division shows something different: 8/2 versus 1/2
    • type()
      • there are different types of things in python (called objects)
      • variables that "know about the decimal place" (int) and variables that don't (floats)
    • variables
      • assignment of variaibles
      • e.g., math with variables: scale up a recipe, into an assignment
      • you can assign to a variable and it will replace the old value
    • strings
      • things within quotation marks
      • adding strings with "concatination" (smushing things together)
      • e.g., print("Hello" + name)
      • concatenating strings and integers don't work (e.g., print(1 + "mako"))
      • 1 is different than "1"; name is different than "name"
      • single quotes versus double quotes (python doesn't care)
      • you can also multiply strings! (although it's not clear why you want to weird)
    • booleans
      • comparisons (e.g., 1 == 1 or 1 == 0)
        • you can compare strings (case sensative!)
        • also >, <, and !=
      • type() shows that the output of True or False is bool
    • if/elif/else
    • functions
      • has a parentheses
      • we've already learnd examples of this: exit(), help(), type()
  2. lists
    • purpose
    • initialization
    • len() review
    • accessing elements
    • adding elements
    • changing elements
    • slicing lists
    • strings are like lists
      • len()
  3. loops and more flow control
    • for loops
    • if statements inside for loops
    • nested for loops
    • range()
    • while loops
    • infinite loops
    • if statements inside while loops
    • break
    • raw_input()
  4. dictionaries
    • purpose
    • initialization
    • accessing elements
    • adding elements
    • changing elements
    • keys() and values()
  5. modules
    • purpose
    • builtins
    • imports
    • import random
    • random.randint
    • random.choice
    • walk through state_capitals.py

Where state_capitals.py from http://mako.cc/teaching/2014/cdsw/state_capitals.py is the grand finale and synthesis of lecture material.