21 fév 2019 · A Language-Agnostic Guide to Programming for Economists Ljubica “LJ” Harvard Economics Professional Development Spring 2019
Previous PDF | Next PDF |
[PDF] Coding for Economists - A Language-Agnostic Guide to
21 fév 2019 · A Language-Agnostic Guide to Programming for Economists Ljubica “LJ” Harvard Economics Professional Development Spring 2019
[PDF] PROGRAMMING LANGUAGES IN ECONOMICS - CORE
To those economists interested in learning a computer programming language, Kendrick and Amman (1999) have suggested to begin with one of high-level
[PDF] PROGRAMMING LANGUAGES IN ECONOMICS - AgEcon Search
To those economists interested in learning a computer programming language, Kendrick and Amman (1999) have suggested to begin with one of high-level
[PDF] A Comparison of Programming Languages in Economics - National
This is surprising because there is an ever-growing variety of programming languages and economists are often puzzled about which language is best suited to
Programming Languages in Economics
Key words: computational economics, programming languages, software, computer languages 1 Introduction Young economists sometimes ask which
[PDF] A Comparison of Programming Languages in Economics: An Update
25 mar 2018 · Programming Languages in Economics: An Update S Bora˘gan Aruoba* University of Maryland Jesús Fernández-Villaverde† University of
[PDF] Programming Practices for Research in Economics - Lachlan Deer
Much of modern economics research involves the researcher spending their lives in front of a computer – analysing data or simulating economic models
[PDF] Effective programming practices for economists - Universität Bonn
5 nov 2020 · Effective programming practices for economists Facilitating reproducible economic research Hans-Martin von Gaudecker ∗ November 5
[PDF] 1 Programming for Economics and Finance 10055 ECON 5006-R11
Programming for Economics and Finance 10055 ECON 5006-R11 Summer 2019 Department of Economics Prof Erick W Rengifo Office: Dealy Hall E-513,
[PDF] Programming in Economics and Management - Université
Mastering the basic concepts of object-oriented programming languages Introduction to the Python programming language Solving practical problems by
[PDF] economie examen havo 2016 tijdvak 2
[PDF] economy challenges in turkey
[PDF] ecopayz review
[PDF] ecotrail paris
[PDF] ecotrail paris facebook
[PDF] écrire 1000 en lettre en anglais
[PDF] ecrire 20 euros en lettre
[PDF] écrire 200 en lettre en anglais
[PDF] ecrire 300 000 en lettres
[PDF] écrire 300 euros en lettres
[PDF] ecrire chiffre en lettre anglais
[PDF] ecrire chiffre en lettre arabe
[PDF] ecrire chiffre en lettre en ligne
[PDF] ecrire chiffre en lettre pour cheque
Coding for Economists
A Language-Agnostic Guide to Programming for EconomistsLjubica \LJ" Ristovska
Organized by
Harvard Economics Professional Development
Spring 2019
Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 1/41 Goals The rst part of the presentation focuses on general computer science concepts, guidelines, and programming tips with an aim to:Make managing data and programming easier
Maintain accuracy and eciency
Ensure reproducibility of results
Preserve an organized work
ow throughout the project's lifecyclePreserve your sanity
The second part of the presentation with Frank Pinter will introduce version control via Git. Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 2/41Disclaimers
1. I am not a computer science exp ert- the content of this p resentationis assembled based on my computer science background and my own programming experience. 2. I have not p ersonallyused allof the below tricks in my work, but am providing them here for your reference. 3. The p resentationis meant to b elanguage-agnostic: We will not be learning the concepts in a specic programming language.Instead, we will focus on general principles that apply to any language.Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 3/41
General Principles
The two main principles for coding and managing data are 1: 1.Mak ethin gseasier fo ry ourfuture s elf
2.Don't trust y ourfuture self Specically:
Be consistent in formatting, style, organization, and namingMake the computer do the work
Reduce copy-pasting and repetition
Test often and test modularly
Document often but \minimally"
Increase eciency1
Like the agents we study, we too as programmers can be time inconsistent - the goal is to go from a naif
to a sophisticate. Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 4/41General Principles
The two main principles for coding and managing data are 1: 1.Mak ethin gseasier fo ry ourfuture s elf
2.Don't trust y ourfuture self Specically:
Be consistent in formatting, style, organization, and namingMake the computer do the work
Reduce copy-pasting and repetition
Test often and test modularly
Document often but \minimally"
Increase eciency1
Like the agents we study, we too as programmers can be time inconsistent - the goal is to go from a naif
to a sophisticate. Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 4/41Outline
1Organization
2Data types, structures, and automation
3Abstraction
4Debugging and testing
5Documentation
6Eciency
7Miscellaneous
8References and further resources
Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 5/41Be consistent
Adopt an organizational system and adhere to it. This system should include consistency in:Directory structure
Code and comment style
File naming conventions
Variable naming conventions
Output data structureLjubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 6/41Directory structure
Data RawAnalytic
Temp CodeOutput
Tables
Figures
DocumentationWow, I know where everything is!
The documentation directory is optional - I personally like to keep any documentation that came with the data in there. A short README.txt le thatdescribes how to run the code is also recommended.Why is this useful?Preserves organization over time and makes automating
certain tasks (e.g., le input and output) easier. Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 7/41Directory structure
Data RawAnalytic
Temp CodeOutput
Tables
Figures
DocumentationWow, I know where everything is!
The documentation directory is optional - I personally like to keep any documentation that came with the data in there. A short README.txt le thatdescribes how to run the code is also recommended.Why is this useful?Preserves organization over time and makes automating
certain tasks (e.g., le input and output) easier. Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 7/41Code and comment style
Small things like consistent spacing matter
One statement per line
Indent code that \belongs together" (i.e.,
anything within braces and/or parentheses)Use block commenting for separating code
sectionsWrite commentsbeforethe line that you
want the comment to apply toBreak long lines (I like to indent after
breaking) Break down long algebraic expressionsBlock commenting:Here begins a long section ofcode that estimates earnings by gender.Why is this useful?Makes code readable for people (and future you), not just
machines.More resources for code style by Google: for
Python andR , applicable broadly.
Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 8/41Code and comment style
Small things like consistent spacing matter
One statement per line
Indent code that \belongs together" (i.e.,
anything within braces and/or parentheses)Use block commenting for separating code
sectionsWrite commentsbeforethe line that you
want the comment to apply toBreak long lines (I like to indent after
breaking) Break down long algebraic expressionsBlock commenting:Here begins a long section ofcode that estimates earnings by gender.Why is this useful?Makes code readable for people (and future you), not just
machines.More resources for code style by Google: for
Python andR , applicable broadly.
Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 8/41File and variable naming conventions
Use distinctive and informative le and variable names (e.g.,tempvs. gender). Be generous and consistent with use of mixed case and underscores (e.g., laborElasticityvs.laborelasticityvs. laborelasticity). Note: not all languages will distinguish between upper and lower case characters in variable names { make sure to check! Length of variable names should be inversely proportional to how often you use it (e.g., iteratorivs.coefficientrelativeriskaversion).But when in doubt, be more descriptive rather than less.Ljubica \LJ" RistovskaCoding for EconomistsFebruary 21, 2019 9/41