2026-03-31
Education
Research Interests
Contact
Meetings
| Term | Spring 2026 |
| Schedule | TTh 12:00–1:20pm |
| Room | TBD |
Grading (Undergraduate)
| Component | Weight |
|---|---|
| Problem Sets | 40% |
| Midterm Exam | 30% |
| Final Exam | 30% |
Grading (Graduate 510)
| Component | Weight |
|---|---|
| Problem Sets | 40% |
| Midterm Exam | 25% |
| Final Exam | 25% |
| Final Project | 20% |
Text
No formal text — many lectures draw on QuantEcon by Sargent & Stachurski. All lecture notes via Canvas.
Tip
Working in groups is permitted, but all submitted work must be your own.
Important
I’m here for you — contact me if you have issues or concerns. I’ve planned this course to be flexible.
| Empirical | Theoretical | Quantitative | |
|---|---|---|---|
| Goal | Measure correlations in data | Prove existence/uniqueness results | Answer numerical questions with structural models |
| Strength | Grounded in data | General, rigorous | Quantitatively precise |
| Limitation | Hard to extrapolate to counterfactuals | Results often too general for quantitative significance | Requires calibration assumptions |
Warning
Counterfactuals are not in the data. You cannot observe the economy under a policy that was never implemented — you need a model.
Qualitative Analysis
Quantitative Economics
Warning
Point 3 (calibration) is controversial — the rest are widely accepted. We will discuss this tension throughout the course.
Tip
Structural models and empirical methods are complements, not substitutes.
By the end of this course you will:
Tip
The goal is not just to learn programming — it is to learn to think like a computational economist.
| Week | Topic |
|---|---|
| 1 | Julia Basics and Linear Algebra |
| 2 | Finite State Markov Chains |
| 3–4 | McCall Search Model (Bellman Equations) |
| 5 | Rust (1987) Optimal Stopping + Midterm |
| 6 | Rust (1987) continued |
| 7–8 | Kydland & Prescott (1982): Real Business Cycles |
| 9–10 | Sovereign Default |
There are many languages to choose from: Matlab, Python, R, C++, Fortran…
Julia offers the best of all worlds:
Tip
Learning at least two general-purpose programming languages over your career pays large dividends. Julia is a great second language after Python, or a great first language for scientific computing.
Install these in order before the first problem set:
| Software | Purpose |
|---|---|
| Julia | The language we use — download from julialang.org |
| VS Code | Code editor — download from code.visualstudio.com |
| Julia + Jupyter extensions | Run Julia inside VS Code |
| Git | Download the course notebooks |
Tip
A detailed step-by-step guide is posted on Canvas (GettingStarted.html).
Mac — Git may already be installed. Open a terminal and run:
If not installed, macOS will prompt you to install the Xcode Command Line Tools.
Windows — download and run the installer from git-scm.com/download/win. Use the default settings.
Open a terminal (Mac) or Git Bash (Windows) and run:
This creates a folder called UndergraduateComputationalNotebooks with all course notebooks and problem sets.
The repository includes a Project.toml with all required packages. Install them once:
UndergraduateComputationalNotebooks folder in VS CodeAlt+J then Alt+O] to enter package mode, then run:instantiate
Tip
This only needs to run once and may take 5–10 minutes. After that, all packages load automatically when you open a notebook from this folder.
Tip
See github.com/FRBNY-DSGE/DSGE.jl — the NY Fed runs its entire DSGE model in Julia.
EC 410 | University of Oregon