Repository navigation
Revised Code Lab Curriculum #1
Copy link
Copy link
Open
Description
Topics / Ideas - Revisied
what can we cover in an hour?
First Semester
Using a computer - week 1 (but really 2) - tag team week 1
- intro talk about goals of the program - Zoe
- how a computer reads and executes code (program flow) - Shane
- high level → hardware and software
- command line (bash) - Zoe
- exercises and computer setup and cheatsheet
- impostor syndrome / how to learn / fearlessness talk- Shane
- installation hour after first meeting - Shane look into windows
- python, pipenv, homebrew, node, text editor, Github account
- how to get it working on windows
- pizza party installation party?
Intro to Programming with Python Week 2 & 3 (zoe away week 3)
Week 2
- python interpreter (hello world)
- data structures (lists, dicts, tuples, sets, types (str, int, etc...))
- set → intersection and union
- built in functions in python len, type, print
- assignment (maybe a reading?)
- python documentation
- python 2 vs 3
Week 3 (
- logic and conditionals
- functions
- pair programming assignment with pairing partners
- debugging (stack traces, print statements)
- package management (pipenv)
- text interpreter (sublime, atom, vscode)
- how to find help (stack overflow, man page, documentation, github)
- how to comment files
- importing modules and third party libraries
- assignment: assign common python library and present on it the next week
THE web and data 4-7 (zoe away week 4)
Week 4 - how to collaborate
- git / GitHub
- i/o files
- file formats (json, csv, txt, yaml, xml, markdown)
- encoding
- assignment: git and github exercise
Week 5 - how to get data
- web scrapping (beatifulsoup)
- assignment: webscraping assignment
- twarc python twitter scrapping
- html
- assignment:
Week 6 - how to get data part 2
- apis
- browser
- the internet (http)
- requests
Week 7 - how to clean data
- jupyter notebook
- pandas
- assignment:
Week 8 - how to visualize data
- altair
- more pandas
Week 9 - how to publish and deploy
Websites 8-9 (zoe away)
- pelican and jekyll
- html, css, javascript
- publishing to the web/deployment
Data manipulation 10-11
- pandas
- regex
- python libraries
- jupyter notebook
Second semester
APIs
- flask
- server side
Databases
- sqlite
- sql syntax
Advanced data manipulation
- text mining (nltk , htrc)
- networks (networkx)
- thinking quantitatively (why/why not)
Data visualization
- altair/vega/bokeh
- making arguments with visual data
Algorithms
- analysis
- intro to computation theory
- scikit
Programming Patterns
- paradigms (functional programming, OOP)
- design patterns and SOLID
Metadata
Metadata
Assignees
Labels
No labels
Activity
ZoeLeBlanc commentedon Sep 5, 2018
Zoe's Revisions - thoughts @shane-et-al ?
Using a computer - week 1 (but really 2) - tag team week 1
intro talk about goals of the program - Zoe 5-7 minutes
impostor syndrome / how to learn / fearlessness talk- Shane (I think this should go next)
do we want to have them introduce themselves at all?
how a computer reads and executes code (program flow) - Shane
command line (bash) - Zoe
exercises and computer setup and cheatsheet [https://programminghistorian.org/en/lessons/intro-to-powershell](https://programminghistorian.org/en/lessons/intro-to-powershell https://programminghistorian.org/en/lessons/intro-to-bash
finally assign the programming historian tutorials?
installation hour after first meeting - Shane look into windows
python, pipenv, homebrew, node, text editor, Github account
how to get it working on windows
pizza party installation party?
ZoeLeBlanc commentedon Sep 5, 2018
Do we want to have them set up zshrc ? I'm a big fan of https://ohmyz.sh/
ZoeLeBlanc commentedon Sep 14, 2018
Week 2 Intro to Python & Terminal Time
ZoeLeBlanc commentedon Sep 18, 2018
Week 3 Moar Intro to Python
spend half the lesson just going over everything we covered.
second half introduce a few more new concepts:
Final assignment:
pair programming assignment with pairing partners
debugging (stack traces, print statements)
text interpreter (sublime, atom, vscode)
HOLD OFF ON:
logic and conditionals
package management (pipenv)
how to find help (stack overflow, man page, documentation, github)
how to comment files
importing modules and third party libraries
assignment: assign common python library and present on it the next week
ZoeLeBlanc commentedon Nov 5, 2018
next week:
how the internet works
DOM
making html files
styling html files
css
week after:
manipulating html files
javascript
OR requests and apis -> another way to get data
final week:
data project
either web scrape/api to get data
create a class
save the data to a file