software engineering for economists initiative

37

Upload: philipp-eisenhauer

Post on 06-Aug-2015

380 views

Category:

Education


5 download

TRANSCRIPT

Page 1: Software Engineering for Economists Initiative

Software Engineering for

Economists Initiative

Page 2: Software Engineering for Economists Initiative

Software Engineering

Big DataBig Compute

New Insights

Page 3: Software Engineering for Economists Initiative

I Big Compute

I Estimation

I Simulation

I Perturbation

I Big Data

I Storage

I Collection

I Collaboration

Page 4: Software Engineering for Economists Initiative

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

Page 5: Software Engineering for Economists Initiative

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.

Page 6: Software Engineering for Economists Initiative

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 · · ·

Page 7: Software Engineering for Economists Initiative

Initiative

Page 8: Software Engineering for Economists Initiative

Overview

I Components

I Tools

I Environment

Page 9: Software Engineering for Economists Initiative

Components

Page 10: Software Engineering for Economists Initiative

Components

I Course

I Project

I Bootcamp

I Workshop

I Colloquium

I Recruiting

Page 11: Software Engineering for Economists Initiative

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.

Page 12: Software Engineering for Economists Initiative

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.

Page 13: Software Engineering for Economists Initiative

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.

Page 14: Software Engineering for Economists Initiative

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.

Page 15: Software Engineering for Economists Initiative

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.

Page 16: Software Engineering for Economists Initiative

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.

Page 17: Software Engineering for Economists Initiative

Online Presence

Website http://softEcon.github.io

Repository https://github.com/softEcon

Page 18: Software Engineering for Economists Initiative

Tools

Page 19: Software Engineering for Economists Initiative

Tools

I Python

I Ubuntu

I Git and GitHub

I Microsoft Azure

I grmToolbox

I Quantitative Economics

Page 20: Software Engineering for Economists Initiative

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

Page 21: Software Engineering for Economists Initiative

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

Page 22: Software Engineering for Economists Initiative

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

Page 23: Software Engineering for Economists Initiative

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

Page 24: Software Engineering for Economists Initiative

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

Page 25: Software Engineering for Economists Initiative

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

Page 26: Software Engineering for Economists Initiative

Environment

Page 27: Software Engineering for Economists Initiative

Environment

I Computation Institute

I Social Science Computing Services

I Research Computing Center

Page 28: Software Engineering for Economists Initiative

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

Page 29: Software Engineering for Economists Initiative

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

Page 30: Software Engineering for Economists Initiative

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

Page 31: Software Engineering for Economists Initiative

Next Steps ?

Page 32: Software Engineering for Economists Initiative

DataScientist

Programmer

Economist

Statistician

Page 33: Software Engineering for Economists Initiative

Appendix

Page 34: Software Engineering for Economists Initiative

Contact

Page 35: Software Engineering for Economists Initiative

Philipp Eisenhauer

Mail [email protected]

Web http://www.policy-lab.org/peisenha

Repository https://github.com/peisenha

Page 36: Software Engineering for Economists Initiative

References

Page 37: Software Engineering for Economists Initiative

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.