Skip to content
This repository has been archived by the owner on Oct 4, 2019. It is now read-only.

Latest commit

 

History

History
303 lines (178 loc) · 5.32 KB

syllabus.md

File metadata and controls

303 lines (178 loc) · 5.32 KB

Macro Topics/Quantitative Economic Modeling with Data Science Applications

  • Instructor: jesse.perla@ubc.ca and schrimpf@mail.ubc.ca
  • Textbook: New online textbook "QuantEcon DataScience: Introduction to Economic Modeling and Data Science"
  • Learning Environment: Come to class on time. Bring a laptop if you can!

Course Overview

This is a course introducing the computational and data science tools used in modern economics.

We will apply a programming language (Python) to analyzing these sorts of data and making numerical calculations/simulations of models in economics.

The class will focus on practical experience with economics-focused tools and is not intended as a replacement for Computer Science or Statistics courses.

Course Materials and Communications

All materials will be provided online:

Grading

  • Weekly problem sets: 50%
  • Final projects: 45%
  • Attendance/Participation: 5% (basically, 5% given or 0% if we think you have attendance problems outside of the ordinary)

Lecture Sections

In progress, and we won't be able to cover it all

  1. Python Fundamentals
  • Introduction to Python
  • Basics
  • Collections
  • Control Flow
  • Functions
  1. Scientific Computing and Economics
  • Introduction to Numpy Arrays
  • Introduction to Data Visualization in Python
  • Applied Linear Algebra
  • Randomness
  • Optimization
  1. Introduction to Pandas and Data Wrangling
  • Introduction to Pandas
  • The basics
  • The index
  • Storage formats
  • Data cleaning
  • Reshaping
  • Merging
  • Groupby
  • Time series
  • Introductory Data Visualization
  1. Data Science Case Studies and Tools
  • Regression
    • Linear Regression
    • Lasso Regression
    • Neural Networks
    • Random Forests
  • Classification
    • K-means
    • Classification Trees
    • Support Vector Machines
  • Data Visualization
    • Core visualization principles
    • Maps
  • Miscellaneous
    • Web scraping
    • Fitting probability distributions
    • Natural language processing

Schedule

To get a sense of the topics we may cover (it is unlikely we will finish )

Lecture 1

Topics Covered

  1. Where we are going: Short description of how data and economics can be used as tools to view the world and what you should be able to do after this class. Cool examples!
  2. Introduction: Why did we choose Python? Get started using the Jupyter notebook and writing your first code
  3. Basics: Continue writing code. Variable assignment, packages, code style.

Assignments

  1. Finish reading basics section
  2. Make sure Syzygy account works by making small changes to a notebook we assign and submitting it through system

Lecture 2

Topics Covered

  1. Review basics: Numbers, math operations, strings, booleans
  2. Collections: Use conditionals in Python
  3. Learn how to compute net present values

Lecture 3

Topics Covered

  1. Review net present value and asset pricing
  2. Control flow: Learn to use for loops, while loops, and if statements

Assignments

  1. Assignment on control flow and functions

Lecture 4

Topics Covered

  1. Functions: Recall what a function is. Begin to write our own.
  2. Review all of Python fundamentals

Lecture 5

Topics Covered

  1. Introduction to numpy arrays
  2. Introduction to plotting

Assignments

  1. Indexing practice
  2. Explore matplotlib

Lecture 6

Topics Covered

  1. Applied linear algebra
  2. Consumer theory and optimization

Lecture 7

Topics Covered

  1. Consumer theory and optimization cont'd
  2. Randomness

Assignments

  1. Simulation
  2. Optimization

Lecture 8

Topics Covered

  1. Review day

Lecture 9

Topics Covered

  1. Introduction to Pandas
  2. The basics of Pandas

Assignments

  1. Create DataFrames by hand and explore the methods
  2. Use examples to show them that index will be automatically lined up

Lecture 10

Topics Covered

  1. Pandas indexes
  2. Data formats

Lecture 11

Topics Covered

  1. Data reshaping

Assignments

  1. Reshape examples

Lecture 12

Topics Covered

  1. Data cleaning
  2. Merging

Lecture 13

Topics Covered

  1. Groupby
  2. More data visualization

Assignments

  1. Examples of split-apply-combine
  2. Practice making graphs and experiment with options

Lecture 14

Topics Covered

  1. Time series
  2. Review pandas

Lecture 15

Topics Covered

  1. Goal of "regression" approaches
  2. Linear regression

Lecture 16

Topics Covered

  1. Why use regularization techniques
  2. Lasso Regression

Lecture 17

Topics Covered

  1. Random forests
  2. Neural networks

Lecture 18

Topics Covered

  1. Goals of classification
  2. Classification trees
  3. Support vector machines
  4. K-means

Lecture 19

Topics Covered

  1. Core visualization principles

Lecture 20

Topics Covered

  1. Interactive graphs
  2. Maps
  3. Other cool graphs

Lecture 21

Topics Covered

  1. Building models and fitting probability distributions

Lecture 22

Topics Covered

  1. Building models and fitting probability distributions (continued)

Lecture 23

Topics Covered

  1. Web scraping

Lecture 24

Topics Covered

  1. Natural language processing