David Anthoff, Professor

Closed (1) Software for the economic evaluation of climate policy

Closed. This professor is continuing with Fall 2018 apprentices on this project; no new apprentices needed for Spring 2019.

The White House, EPA and many other federal agencies use so called integrated assessment models to estimate the economic benefits of climate policy. Integrated assessment models couple models from the physical sciences with economic models. My lab develops key numerical models that are used by these agencies for this task. One key challenge in this space is a flexible software architecture that enables easy coupling of different model components. Students on this project will work on a software package (called Mimi.jl) that forms the basis for integrated assessment models and facilitates coupling of different model components. The package is written in the programming language julia. Work might also include work on the various models themselves and running various scientific experiments with these models. We are looking for students with strong software development skills, much of the work is about software architecture and the design of the Mimi package. At the same time this is a great opportunity to have a lasting impact outside academia: there is a high likelihood that the student work will actually be used in the analysis of climate policy by the federal government.

Students will help in the design and coding of the Mimi software package. They might also help code new model versions and code scientific experiments that use these models.

Qualifications: Software development experience (required), previous experience with scientific software development (desirable but not essential), experience with the julia programming language (desirable but not essential), economics coursework (desirable but not essential), climate change coursework (desirable but not essential), computer science coursework (desirable but not essential).

Weekly Hours: to be negotiated
Related website: https://github.com/davidanthoff/Mimi.jl

Closed (2) Data science software stack for julia

Applications for Spring 2019 are now closed for this project.

This project is all about work on the core data science software stack for the julia programming language. We are building the equivalent of pandas on Python and the tidyverse on R for the julia programming language. The work covers things like DataFrame types, query languages, file IO, distributed query execution, database connections, plotting, data visualization etc. The project has a focus on both usability and high performance with the goal to create the next generation platform for big data science work.

I am looking for multiple students to fill different roles:

1) Core software developer: You would be fully integrated into the software development process. Depending on your skills you might start out by writing performance benchmarks and test suits, but I would coach you to contribute code to the core packages themselves over time, involve you in design decisions etc. Other tasks would include writing documentation and participating in the wider julia open source community.

2) Technical writer: you are an English major with a strong data science/technical bend? Here is your opportunity to use both of your skills at the same time. You would help write documentation, users guides, tutorials etc. This might also involve other media, like videos etc.

3) Web design: you would create, maintain and manage a web and social media presence for the project.

Qualifications: I am looking for highly motivated students that are driven and self-organized for all three positions. You should also be a team player who enjoys working with other students on this project. --- For position 1 (core software developer) Required: very strong software development skills and experience (not just a couple of intro classes); familiarity with the design and internals of database systems; familiarity with common data science stacks (Python, R, julia etc.); self motivated; organized. Desirable but not essential: familiarity with the julia programming language; participation in open source development. --- For position 2 (Technical writer) Required: excellent English writing skills, strong programming skills, familiarity with tools like dplyr, pandas etc. Desirable but not essential: familiarity with the julia programming language; participation in open source development. --- For position 3 (Web design) Required: strong design background, knowledge of HTML and other web technologies. Desirable but not essential: Experience in creating and maintaining a web and social media presence for a project.

Weekly Hours: 12 or more hours

Related website: http://www.david-anthoff.com/software/
Related website: https://github.com/queryverse