Jason DeBacker | |
---|---|
[email protected] | |
Office | 427B DMSB |
Office Hours | ** On Zoom ** Tuesday 2:45-4:45pm and Thursday 12:00-1:00pm; or by appointment |
GitHub | jdebacker |
- Meeting day/time: T,Th 10:05-11:20am, DMSB, Room 120
Join Zoom Meeting https://moore-sc-edu.zoom.us/j/96470982218
Meeting ID: 964 7098 2218 One tap mobile +13126266799,,96470982218# US (Chicago) +16465588656,,96470982218# US (New York)
This course is designed to introduce PhD students to software applications and computational techniques to make them productive researchers. Students will be exposed to leading open source software packages (Python, R) and techniques for numerical computing and data analysis. The course will be taught through the application of these software packages and methods to economic research in applied microeconomics and quantitative macroeconomics.
In this course students, through lecture and application, students will learn about:
- Software to increase research productivity including:
- TeX
- git
- Python
- R
- How to write custom estimation routines and use packages written by others for:
- Generalized method of moments estimators
- Maximum likelihood estimators
- Maximum score estimators
- Reduced form estimators such as regression discontinuity design
- Simulated method of moment estimators
- Computational methods to:
- Optimize and find roots of functions
- Apply machine learning tools to economic and econometric models
- Solve dynamic programming problems (disceret and continous choice)
- Solve general equilibrium, heterogeneous agent models
- Perform Monte Carlo simulations
- Bootstrap standard errors
- Compute numerical derivatives
- Use just-in-time compilation for efficient computation
- Run computations in parallel using multiple processors
- Methods to gather and handle data including:
- Costs and benefits of different data structures
- Using APIs
- Coding and collaboration techniques such as:
- Writing modular code with functions and objects
- Collaboration tools for writing code using Git and GitHub.com.
- Best practices for Python coding (PEP 8)
Grades will be based on the categories listed below with the corresponding weights.
Assignment | Points | Percent |
---|---|---|
Problem Sets | 90 | 90% |
Class Participation | 10 | 10.0% |
Total points | 100 | 100.0% |
- Homework: I will assign 9 problem sets throughout the semester.
- You must write and submit your own computer code, although I encourage you to collaborate with your fellow students. I DO NOT want to see a bunch of copies of identical code. I DO want to see each of you learning how to code these problems so that you could do it on your own.
- Problem set solutions, both written answers and source code, will be turned in via a pull request from your private GitHub.com repository which is a fork of the class master repository on my account. (You will need to set up a GitHub account if you do not already have one.)
- Written solutions must be submitted as pdf documents or Jupyter Notebooks.
- Problem sets will be due on the day listed in the Daily Course Schedule section of this syllabus (see below) unless otherwise specified. Late homework will not be graded.
Date | Day | Topic | Due |
---|---|---|---|
Aug. 19 | Th | Work Flow, Productivity Software | |
Aug. 24 | T | Work Flow, Productivity Software | |
Aug. 26 | Th | Python/OOP | |
Aug. 31 | T | Python/OOP | PS #1 |
Sept. 2 | Th | Python/OOP | |
Sept. 7 | Th | Visualization | |
Sept. 9 | T | Numerical Optimization Theory | PS #2 |
Sept. 14 | Th | Numerical Optimization Theory | |
Sept. 16 | T | Optimizers, Root-Finders in Python | PS #3 |
Sept. 21 | Th | Optimization Application: GMM | |
Sept. 23 | T | Conditionals/Loops | |
Sept. 28 | Th | Two-Sided Matching Models | |
Sept. 30 | T | Conditionals/Loops Application: Maximum Score Estimators | PS #4 |
Oct. 5 | T | Econometrics in Python and R | |
Oct. 7 | Th | No class, Fall Break | |
Oct. 12 | T | Econometrics in Python and R | |
Oct. 14 | Th | Machine Learning | |
Oct. 19 | T | Machine Learning | |
Oct. 21 | Th | Machine Learning | |
Oct. 26 | T | Dynamic Programming | PS #5 |
Oct. 28 | Th | Dynamic Programming | |
Nov. 2 | T | Markov Chains | |
Nov. 9 | Th | Discrete Choice Dynamic Programming | |
Nov. 11 | T | Computational Approaches to DPPs | PS #6 |
Nov. 16 | Th | Multiprocessing | |
Nov. 18 | T | Simulation Methods | |
Nov. 23 | Th | Simulation Methods | PS #7 |
Nov. 25 | Th | No class, Thanksgiving | |
Nov. 30 | T | Overlapping Generations Models | |
Dec. 2 | T | Overlapping Generations Models | PS # 8 |
Dec. 5 | Th | Overlapping Generations Models | |
Dec. 10 | T | No Final Exam - project due | PS #9 |
- QuantEcon
- Notes on Machine Learning & Artificial Intelligence by Chris Albon
- Materials from Open Source Economics Lab Boot Camps: 2017, 2018, 2019
If you have any condition, such as a physical or learning disability, which will make it difficult for you to carry out the work as I have outlined it or which will require academic accommodations, please notify me through email AND in person with the appropriate documentation within the first two weeks of the course.