Course Syllabus
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.