software engineering for economists initiative
TRANSCRIPT
Software Engineering for
Economists Initiative
Software Engineering
Big DataBig Compute
New Insights
I Big Compute
I Estimation
I Simulation
I Perturbation
I Big Data
I Storage
I Collection
I Collaboration
Relevance for Economic Research
I ... expand the set of possible economic questions to explore
I ... improve transparency of implementations
I ... ensure recomputability of results
I ... build on and contribute to open science projects
I ... learn about drivers of the New Economy
Relevance for Economics Students
I ... acquire skills in high demand in private sector
I ... o�er unique expertise as research assistants
See also the panel on How Big Data is Changing Economics with Susan
Athey and Hal R. Varian at the Becker Friedman Institute. Available at
http://bit.ly/1cSwCGM.
Basic Skills
I Version Control
I Unit Testing
I Debugging and Pro�ling
I Code Documentation
I Design Patterns
I Data Management
I Code Optimization
I Cloud Computing
I Cluster Computing
I · · ·
Initiative
Overview
I Components
I Tools
I Environment
Components
Components
I Course
I Project
I Bootcamp
I Workshop
I Colloquium
I Recruiting
I Course
We acquire fundamental software engineering skills to tackle computer-
intensive economic research projects. These basic techniques allow
us to leverage tools from computational science, increase the trans-
parency of our implementations, and ensure the recomputability of
results. Thus, they expand the set of possible economic questions
that we can address and improve the quality of our answers.
I Project
The Project consists of a contribution to the Quantitiative Economics
project, an open source library for quantitative economic modeling.
We prepare high-quality implementations and documentations of quan-
titative economic models.
I Bootcamp
The Bootcamp introduces students to the basics of the Python pro-
gramming language and the Ubuntu operating system. It is self-
contained but also intended to prepare students for the regular class
Software Engineering for Economists.
I Workshop
The Workshop provides an informal meeting of students working on
computational research projects. Students present their current work
and solicit input from their peers to improve their implementations.
I Computational Economics Colloquium
The Colloquium o�ers students a unique opportunity to learn from
leading scholars who teach economic modeling, numerical methods,
and software engineering. Top researchers in this �eld will share their
innovative approaches throughout the academic year.
I Recruiting
Students familiar with basic software engineering skills o�er unique
expertise as research assistants. Faculty members working on data- or
computation-intensive economic research projects use the opportunity
to advertise their open positions to course participants.
Online Presence
Website http://softEcon.github.io
Repository https://github.com/softEcon
Tools
Tools
I Python
I Ubuntu
I Git and GitHub
I Microsoft Azure
I grmToolbox
I Quantitative Economics
I The Python programming language is accessible to novice program-
mers seeking to develop software engineering skills, and powerful
enough for serious computation. Python is used by computer pro-
grammers and scientists alike. Thus, it provides the tools used in
software engineering as well as numerous libraries for scienti�c com-
puting. In addition, Python is an open source project easily linked
with other languages such as Fortran and C.
Website: https://www.python.org
I Ubuntu is a Linux-based operating system. It is based on the prin-
ciple of open-source development and users are encouraged to use
free software, study how it works, improve upon it, and distribute it.
Using Ubuntu serves as a preparation for the use of high performance
computing clusters, who mostly rely on Linux-based operating system.
Website: http://www.ubuntu.com
I Git is a free and open source distributed version control system de-
signed to handle everything from small to very large projects with
speed and e�ciency. It allows to organize code revision in a log-
ical and coherent way and thus ensures recomputability of results.
GitHub is a web-based Git repository hosting service, which o�ers
all of the distributed revision control and source code management
(SCM) functionality of Git as well as adding its own features.
Websites: http://www.git-scm.com
https://github.com
I Microsoft Azure is a cloud computing platform which provides the
power and scalability required for collaboration, high performance
computation, and data-intensive processing. Class participants re-
ceive access to the cloud using Microsoft Azure Academic Passes for
six months.
Website: http://research.microsoft.com/azure
I The grmToolbox is a computer program for the simulation and esti-
mation of the generalized Roy model (Eisenhauer et al., 2015). It is
designed as a teaching tool to show how, by acquiring software engi-
neering skills, econometricians can more readily absorb research from
computational science, improve the transparency of implementations,
and ensure recomputability of results.
Website: http://grmToolbox.github.io
I The Quantitiative Economics website provides a series of lectures
on quantitative economic modeling using Python. Topics include eco-
nomic theory and empirics, mathematical and statistical concepts re-
lated to quantitative economics, algorithms and numerical methods
for studying economic problems, and coding skills.
Website: http://quant-econ.net
Environment
Environment
I Computation Institute
I Social Science Computing Services
I Research Computing Center
I Computation Institute
The Computation Institute is a joint initiative between the Univer-
sity of Chicago and Argonne National Laboratory to advance science
through innovative computational approaches. It is a resource center
for those collecting and analyzing large quantities of data and detailed
numerical simulations of complex phenomena.
Website: https://www.ci.uchicago.edu
I Social Sciences Computing Services
Social Sciences Computing Services is made up of several distinct
support teams that provide several services to the Social Sciences
Division such as Desktop and Server Support.
Website: https://sscs.uchicago.edu
I Research Computing Center
The Research Computing Center is dedicated to providing the Univer-
sity of Chicago community a full-service high-performance computing
(HPC) center, including visualization resources, access to software,
workshops, one-on-one consulting with domain experts, and complete
data-management strategies to researchers across all departments and
divisions.
Website: https://rcc.uchicago.edu
Next Steps ?
DataScientist
Programmer
Economist
Statistician
Appendix
Contact
Philipp Eisenhauer
Mail [email protected]
Web http://www.policy-lab.org/peisenha
Repository https://github.com/peisenha
References
Eisenhauer, P., Heckman, J. J., and Vytlacil, E. J. (2015). The
Generalized Roy Model and the Cost-Bene�t Analysis of Social
Programs. Journal of Political Economy, 123(2):413�443.