Short Description
How to exploit practices from collaborative software development techniques in data scientific workflows. Appropriate use of abstraction and classes, the software life cycle, unit testing / continuous integration, and packaging for use by others.
Learning Outcomes
By the end of the course, students are expected to be able to:
- Package code for use by others, including the specification of dependencies/requirements.
- Use distributed version control and issue tracking to manage multi-person projects.
- Specify, implment, and use a data abstraction in Python; write a comprehensive test suite for a data abstraction in Python.
- Implement and call S3 methods in R; specify an object’s class in R
- Handle exceptional cases in a function or method with exceptions or assert statements
- Interpret software licenses and select software licenses that best suit the needs of software that they create.
Reference Material
- TBD
Instructor (2016-2017)
Note: information on this page is preliminary and subject to change.