Community Data Science Workshops (Fall 2014)/Day 1 lecture: Difference between revisions

From OpenHatch wiki
Content added Content deleted
imported>Mako
imported>Mako
Line 9: Line 9:
== Lecture outline ==
== Lecture outline ==


# review Friday material
=== Review Friday material ===

#* math: using python as a calculator
* math: using python as a calculator
#**addition, subtraction, multiplication, division
**addition, subtraction, multiplication, division
#**division shows something different: 8/2 versus 1/2
**division shows something different: 8/2 versus 1/2
#* <tt>type()</tt>
* <tt>type()</tt>
#** there are different types of things in python (called objects)
** 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 that "know about the decimal place" (int) and variables that don't (floats)
#* variables
* variables
#** assignment of variaibles
** assignment of variaibles
#** e.g., math with variables: scale up a recipe, into an assignment
** 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
** you can assign to a variable and it will replace the old value
#* strings
* strings
#** things within quotation marks
** things within quotation marks
#** adding strings with "concatination" (smushing things together)
** adding strings with "concatination" (smushing things together)
#** e.g., <code>print("Hello" + name)</code>
#** concatenating strings and integers don't work (e.g., <code>print(1 + "mako")</code>)
** e.g., <code>print("Hello" + name)</code>
** concatenating strings and integers don't work (e.g., <code>print(1 + "mako")</code>)
#** 1 is different than "1"; name is different than "name"
** 1 is different than "1"; name is different than "name"
#** single quotes versus double quotes (python doesn't care)
** single quotes versus double quotes (python doesn't care)
#** you can also multiply strings! (although it's not clear why you want to weird)
** you can also multiply strings! (although it's not clear why you want to weird)
#* booleans
* booleans
#** comparisons (e.g., <code>1 == 1</code> or <code>1 == 0</code>)
** comparisons (e.g., <code>1 == 1</code> or <code>1 == 0</code>)
#*** you can compare strings (case sensative!)
*** you can compare strings (case sensative!)
#*** also >, <, and !=
*** also >, <, and !=
#** type() shows that the output of True or False is <code>bool</code>
#** e.g., <code>"i" in "team"</code>
** type() shows that the output of True or False is <code>bool</code>
#** e.g., "i" not in "team"</code>
** e.g., <code>"i" in "team"</code>
** e.g., "i" not in "team"</code>
#* <tt>if</tt>/<tt>elif</tt>/<tt>else</tt>
* <tt>if</tt>/<tt>elif</tt>/<tt>else</tt>
#** if, something that evaluates to a boolean, and then colon
** if, something that evaluates to a boolean, and then colon
#** e.g., if "mako" in "makoshark"
** e.g., if "mako" in "makoshark"
#* functions
* functions
#** has a parentheses
** has a parentheses
#** we've already learnd examples of this: exit(), help(), type()
** we've already learnd examples of this: exit(), help(), type()

=== Lists ===

# lists
# lists
#* purpose
#* purpose

Revision as of 16:42, 8 November 2014

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

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
    • e.g., "i" in "team"
    • e.g., "i" not in "team"
  • if/elif/else
    • if, something that evaluates to a boolean, and then colon
    • e.g., if "mako" in "makoshark"
  • functions
    • has a parentheses
    • we've already learnd examples of this: exit(), help(), type()

Lists

  1. lists
    • purpose
    • initialization
    • len() review
    • accessing elements
    • adding elements
    • changing elements
    • slicing lists
    • strings are like lists
      • len()
        • len("") length of the empty string
  2. 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()
  3. dictionaries
    • purpose
    • initialization
    • accessing elements
    • adding elements
    • changing elements
    • keys() and values()
  4. 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.