Applied Economics Analysis Syllabus

Published

January 1, 2024

Modified

April 22, 2024

Course

Econ 2020: Applied Economics Analysis

Meeting Times & Location

Monday and Wednesday, 10:30 am - 11:50 am

Robinson Hall 301

Instructor

Matthew DeHaven

Teaching Assistant

Eddie Wu

TA Office Hours:

Friday, 4:00 pm - 5:30pm, Smith-Buonanno Hall G18

Course Site

https://matthewdehaven.com/course-applied-economics-analysis/

Course Description

This course prepares students to conduct independent research by providing the necessary skills in programming and project organization. Topics covered will include version control, the Visual Studio Code IDE, programming basics, environments, functional programming, unit testing, data vizualization, data science, and more. Material will be presented using the programming language R, with some time spent on introductions to Python, Julia, and some basics of HTML. By the end of the course students should feel comfortable in the major programming languages used in economic research and in producing their own work as a replicable, sustainable project.

Learning Goals

  • Able to replicate published papers in multiple programming languages
  • Write clean, documented, reproducible code for your own research projects
  • Reflection on the available software tools and practices and how they may be beneficial to your own research

Schedule

The schedule is subject to change as the course progresses.

Click on the icons for links to the lecture slides, in class coding exmaples, class feedback surveys, and assignments.

Class and Assignment Schedule
# Date Topic Lecture Slides Coding Examples Class Feedback Assignments Due
1 1/24 Intro, Git, and GitHub
2 1/29 Visual Studio Code PS1
3 1/31 Base R
4 2/05 R Data Wrangling: tidyverse PS2
5 2/07 R Data Wrangling: data.table
6 2/12 R Data Visualization: ggplot2 PS3
7 2/14 R Regressions
2/19 No Class
8 2/21 R Databases and APIs PS4
9 2/26 R Functional Programming, Packages PS5
10 2/28 Replication 1 Presentations Replication 1
11 3/04 R Unit Testing PS6
12 3/06 GitHub Actions
13 3/11 PS7
14 3/13 GitHub Projects & Branches
15 3/18 Websites, HTML, CSS PS8
16 3/20 Quarto for Dynamic Documents Proposal
3/25 No Class
3/27 No Class
17 4/01 Intro to Python Website
18 4/03 Intro to Julia
19 4/08 Jupyter Notebooks
20 4/10 Workshop PS9
21 4/15
22 4/17 Final Presentations Final Project
23 4/22 Final Presentations
24 4/24 Final Presentations Replication 2

We will not use the final exam slot given by the registrar. Please use the time to study for your other finals!

Class Feedback

Each lecture will have an accompanying survey for students to fill out. The survey will ask about comprehension of topics covered in the lecture and will have open ended space to detail any confusion. These assignments are graded for completion only and are meant as a way to judge if any material needs to be covered again in more detail.

Assignments

Problem Sets

Problem sets will be assigned roughly once per week of material. This will end up close to 10 problem sets for the semester, possibly adjusted if the schedule changes.

Problem sets will begin with examples similar to those seen in class, but will then ask students to extend to a new application, method, or package. This may require some trial-and-error or research online, which is the goal.

Class Projects

A few assignments will be worked on throughout the semester.

Replication 1

Students will be asked to replicate a published economics paper of their choice. The goal is to find a paper with some “replication files” which can be downloaded. Students will inspect the documentation, attempt to run the files, check the output, and see if they can find the data sources.

The goal is not to reproduce any of the work, just to execute the scripts and comprehend the project structure (or lack thereof).

Website

After we cover HTML and Github Pages (for hosting websites), students will be asked to create their own personal academic page. These pages can be very simple. If a student already has their own personal website, they can make a website for their class project instead.

Final Project

The final project asks the student to take skills learned in the class and apply them to a research project. Some datasets will be provided to work with, or students can choose to use their own. Students are expected to perform some data cleaning, analysis, and charting.

The last few classes will be set aside for students to present their final projects for about 10 minutes each.

Replication 2

Students will be assigned another student’s final project to replicate. This will mirror the first replication assignment, with the goal being to understand the documentation, execute the code, and validate the output.

Half of the replication grade will come from completing the replication assignment, half will come from the student’s project succesfully being replicated.

Grading

Each assignment will be graded out of 100 points.

Assignment Weights
Assignment Weight
Class Feedback 10%
Problem Sets 40%
Replication 1 10%
Website 10%
Final Project 20%
Replication 2 10%

Letter grades will be given according according to the following rubric:

Letter Grade Calculation
Letter Grade Numeric Grade
A [80, 100]
B [60, 79)
NP [0, 59)

Credit Hours

You are expected to spend 180 hours on this course. You will spend approximately 35 hours on the lectures, 3 hours on each class readings and review (75 hours), 5 hours on each of the 14 assignments (70 hours).

Accessibility and Accommodations Statement

Brown University is committed to full inclusion of all students. Please inform me early in the term if you may require accommodations or modification of any of course procedures. You may speak with me after class, during office hours, or by appointment. If you need accommodations around online learning or in classroom accommodations, please be sure to reach out to Student Accessibility Services (SAS) for their assistance (, 401-863-9588). Undergraduates in need of short-term academic advice or support can contact an academic dean in the College by emailing . Graduate students may contact one of the deans in the Graduate School by emailing .

Acknowledgements

Material in this course comes from many locations, but I am especially thankful to the lecturers for this course before me, Michael Neubauer and Shunsuke Tsuda for sharing their materials.

I also want to acknowledge the excellent lecture slides by Grant McDermott for teaching a course on R at the University of Oregon.