Ph.D. Computation Camp
Syllabus
Instructor: Kevin Hunt, kghunt@wisc.edu.
Dates: July 31 to August 23, 2023.
Lectures: Monday and Wednesday, 1:30 to 2:45pm.
Office Hours: Monday and Wednesday, 2:45 to 3:45pm.
Location: Social Sciences Room 7142 (Morton Room) and Zoom.
Acknowledgements
Many thanks to Garrett Anstreicher, who taught this camp a few times before me. Most of the material and class structure was made by him. I have added a few things and learned a lot from people/sites mentioned under resources.
Course Description
This four-week course quickly familiarizes students with computational methods with an emphasis on applications in Economics. By the end of the course, students will learn what is computation, how it applies in Economics, and how to do it. The course will be taught in the Julia programming language. Rising second year PhD students are the target audience, but all are welcome to attend.
Outcomes
- Learn computation methods for structural modelling and non-standard estimation in Economics.
- Understand best practices for programming, performance, and version control.
- Obtain proficiency in Julia programming language.
- Introduce students to resources for computation available at UW-Madison, especially the SSCC.
Methods
- Lectures:
- Summarize key topics and ideas in slide presentation.
- Provide examples through interactive code-alongs
- Weekly homeworks create a structured environment for practice and learning.
- Office hours provide opportunity for help and support.
Homeworks and “Grading”
Weekly homeworks will require students to execute a variety of tasks using Julia. Problem sets are to be submitted via Github as explained in Homework 0. I will post solutions to the homeworks and “grade” all on-time submissions.
Your “final grade” will be a function of the homework “grades”.
Students are encouraged to discuss the homeworks with each other, although each student must write their own code and solutions. Please indicate in your submission who you discussed the homework with if anyone.
This is not a real class, so you will not receive course credit, this will not show up on your transcript, and no faculty will see your grades.
Resources
- Documentation for the Julia language is at https://docs.julialang.org/en/v1/.
- Quant Econ (Julia and Python) https://quantecon.org/.
- Jesus Fernandez-Villaverde’s teaching page (Julia and much else) https://www.sas.upenn.edu/~jesusfv/teaching.html
- Florian Oswald’s teaching page (Julia and R) https://floswald.github.io/#teaching
- Benjamin Vatter’s Coding Primer (Python) https://benjaminvatter.com/uploads/coding_prep.pdf
- Gentzkow and Shapiro’s Practioner Guide (Best Practice for Coding and Data) https://web.stanford.edu/~gentzkow/research/CodeAndData.pdf
- Derivate packages in Julia: https://juliadiff.org/
- Distributed Computing Tutorials: https://enccs.github.io/julia-for-hpc/motivation/
- Cameron Pfiffer’s Julia Bootcamp: https://github.com/cpfiffer/julia-bootcamp-2022
- Bogumił Kamiński’s Julia Express http://bogumilkaminski.pl/files/julia_express.pdf
Schedule
- Homework 0: Not graded
- I made the following recording to help walk you through the set-up (link)
- It would be best to install Julia and a code editor such as VS code before the first lecture.
- You will need to install Git and do the rest of the assignment before submitting Homework 1.
Week 1: Introduction to Computation and Julia
- Lecture 1: Intro to Computation and Basic Julia
- Lecture 2: Performance Optimization and Advanced Julia
- Homework 1: Due Wednesday August 9.
- Homework 1 Solutions
Week 2: Numeric Methods
- Lecture 3: Numeric Optimization
- Lecture 4: Interpolation
- Homework 2: Due Wednesday August 16.
- Submit Link: https://classroom.github.com/a/gYCf0Llh
- Homework 2 Solutions
Week 3: Advanced Topics
- Lecture 5: Numeric Integration
- Lecture 6: Parallelization and UW Resources
- Homework 3: Due Wednesday August 23.
Week 4: Dynamic Programming
- Lecture 7: Dynamic Programming
- Lecture 8: Economic Applications
- Homework 4: Due Wednesday August 30.
- Submit Link: https://classroom.github.com/a/I74gIvkM
- Homework 4 Solutions
Misconduct Statement
Academic Integrity is critical to maintaining fair and knowledge-based learning at UW Madison. Academic dishonesty is a serious violation: it undermines the bonds of trust and honesty between members of our academic community, degrades the value of your degree and defrauds those who may eventually depend upon your knowledge and integrity.
Examples of academic misconduct include, but are not limited to: cheating on an examination (copying from another student’s paper, referring to materials on the exam other than those explicitly permitted, continuing to work on an exam after the time has expired, turning in an exam for regrading after making changes to the exam), copying the Homework of someone else, submitting for credit work done by someone else, stealing examinations or course materials, tampering with the grade records or with another student’s work, or knowingly and intentionally assisting another student in any of the above. Students are reminded that online sources, including anonymous or unattributed ones like Wikipedia, still need to be cited like any other source; and copying from any source without attribution is considered plagiarism.
The Department of Economics will deal with the offenses harshly following UWS14 procedures:
The penalty for misconduct in most cases will be removal from the course and a failing grade.
The department will inform the Dean of Students as required and additional sanctions maybe applied.
The department will keep an internal record of misconduct incidents. This information will be made available to teaching faculty writing recommendation letters and to admission offices of the School of Business and Engineering.
If you think you see incidents of misconduct, you should tell your instructor about them, in which case they will take appropriate action and protect your identity. You could also choose to contact our administrator Tammy Herbst-Koel (therbst@wisc.edu) and your identity will be kept confidential.
For more information, refer to https://www.students.wisc.edu/doso/academic-integrity/.
Grievance Procedure
The Department of Economics has developed a grievance procedure through which you may register comments or complaints about a course, an instructor, or a teaching assistant. The Department continues to provide a course evaluation each semester in every class. If you wish to make anonymous complaints to an instructor or teaching assistant, the appropriate vehicle is the course evaluation. If you have a disagreement with an instructor or a teaching assistant, we strongly encourage you to try to resolve the dispute with him or her directly. The grievance procedure is designed for situations where neither of these channels is appropriate.
If you wish to file a grievance, you should go to room 7238 Social Science and request a Course Comment Sheet. When completing the comment sheet, you will need to provide a detailed statement that describes what aspects of the course you find unsatisfactory. You will need to sign the sheet and provide your student identification number, your address, and a phone where you can be reached. The Department plans to investigate comments fully and will respond in writing to complaints.
Your name, address, phone number, and student ID number will not be revealed to the instructor or teaching assistant involved and will be treated as confidential. The Department needs this information, because it may become necessary for a commenting student to have a meeting with the department chair or a nominee to gather additional information. A name and address are necessary for providing a written response.
Accommodations for students with disabilities
The University of Wisconsin-Madison supports the right of all enrolled students to a full and equal educational opportunity. The Americans with Disabilities Act (ADA), Wisconsin State Statute (36.12), and UW-Madison policy (Faculty Document 1071) require that students with disabilities be reasonably accommodated in instruction and campus life. Reasonable accommodations for students with disabilities is a shared faculty and student responsibility. Students are expected to inform faculty [me] of their need for instructional accommodations by the end of the third week of the semester, or as soon as possible after a disability has been incurred or recognized. Faculty [I], will work either directly with the student [you] or in coordination with the McBurney Center to identify and provide reasonable instructional accommodations. Disability information, including instructional accommodations as part of a student’s educational record, is confidential and protected under FERPA.
Diversity and Inclusion
Diversity is a source of strength, creativity, and innovation for UW-Madison. We value the contributions of each person and respect the profound ways their identity, culture, background, experience, status, abilities, and opinion enrich the university community. We commit ourselves to the pursuit of excellence in teaching, research, outreach, and diversity as inextricably linked goals.
The University of Wisconsin-Madison fulfills its public mission by creating a welcoming and inclusive community for people from every background people who as students, faculty, and staff serve Wisconsin and the world.