We developed the course in consultation with some of our alumni in the data science industry. We began by asking them, "Knowing what you know now, what do you wish you had known in graduate school because it would have made you a more productive researcher."
The responses were largely a combination of recommendations about best coding practices and soft skills. Notably absent was any emphasis on particular data analysis techniques. It may seem less exciting to focus on things like unit testing and version control, rather than, say, variational auto encoders, but this is the guidance we have and it makes sense; they are pointing us to foundational aspects of research productivity.
Course requirements and Syllabus can be found at: https://ucdavis.github.io/DS4S/
Lessons on Modularity and Testing are based on Adam Rupe's excellent lessons on Scientific Programming in Python https://github.com/adamrupe/Scientific-Python-Tutorials
Git Lessons are based on the Software Carpentry Lesson: http://swcarpentry.github.io/git-novice/ and the course text book: Effective Computation in Physics (see details below)
- examples: examples of code that could be useful for this course
- lessons: material used for each lesson. When more than one topic was covered, lessons are numbered with decimals e.g. (2.1, 2.2). The first directory contains the lesson objectives and the last directory contains the homework assignment
- We have a required textbook, Effective Computation in Physics by Scopatz & Huff, available for free online through the university library: https://proquest.safaribooksonline.com/9781491901564. Just FYI: we will not cover anywhere near the whole book, and we will cover plenty of stuff that is not in the book.
- Communication: second required book is Elevator Pitch Essentials by Chris O'Leary available as a pdf file for $9.95. This is a very well-written book about communication. Although explicitly about pitching your project in sixty seconds or less, the ideas about communication it contains are important for other communication venues as well. Not only that, the process of crafting an elevator pitch for a project is a very good one for improving your own understanding of a project, and for evaluating whether you want to take on a project.
- A brief paper on the arXiv about giving talks, by relativist Robert Geroch of the University of Chicago: https://arxiv.org/abs/gr-qc/9703019.
- Another brief paper on the arXiv about giving talk that is highly complementary to the Geroch one: https://arxiv.org/abs/1712.08088.
- A web page from an astrophysicist with more resources on giving talks. This presentation on YouTube from a collaborator of mine, Tim Miller, on the art of science communication. I recommend the stretch from 16m:30s to 50m:00s in particular. Watching that would be just a little over 30 minutes incredibly well spent.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.