Welcome to Lede 2016: Foundations of Computing

Details

  • Instructor: Jonathan Soma, js4571@columbia.edu
  • Dates: Mondays and Wednesdays, 5/24-7/13
  • Class: 10am-1pm, room 601B
  • Lab: 2pm-5pm, 511B
  • Slack channel: #foundations

Course Overview

By the end of this course you’ll have the flexibility to find and execute solutions to most any coding- or data-related problem you run across. In theory we’re focusing on Python and the command line.

Homework

On many, many assignments, I will give you

  • More homework than you can reasonably accomplish
  • Homework that involves googling answers
  • Homework that requires thinking through problems and answers in complicated and specific ways

What’s this mean? It’s going to be hard.

If you find yourself falling down a black hole: just take a break. Or stop altogether! Don’t worry about it - ask people near you or TA’s for guidance.

Oh, and most importantly: if you can’t finish? Not a problem. It’s far more important to not get burned out and discouraged.

Schedule

This is a rough outline, and will absolutely change very, very often.

Week 1: Introduction to Python and the command line

In our first week we’ll take a look at the insides of our computers using the command line, with tools like cd, grep, and cat. Learn to navigate your computer and run basic Python scripts.

Week 2: Python lists and dictionaries (Wed only)

No class on Monday due to Memorial Day

Next we’ll dive deeper into Python’s methods of storing and manipulating data with lists and dictionaries.

Week 3: Data structures and APIs

You’ll put your list and dictionary knowledge to work consuming data from APIs - dynamic sources of information that are easily understandable by Python.

Week 4: Beginning data analysis

Begin work with pandas, a data analysis library.

Week 5: Functions, and cleaning/extracting text-based data

Now that you’ve learned regular expressions in Data and Databases, what can you do with it? We’ll use functions to extract import pieces of information from terrible-looking sets of text.

Week 6: Descriptive statistics (Wed only)

Dealing with data comes with a responsibility to understand the numbers: we’ll use pandas and numpy to gain a foothold in the world of statistics.

Week 7: Cleaning numeric data and algorithmic story generation

No class on Monday due to the Fourth of July

You’ll use common sense and our statistical powers to clean numeric data. Then we’ll see how quantitative data can be converted into qualitative stories with algorithmic story generation.

Week 8: csvkit and other tools

Expand your skillset with tools for manipulating data.