506 Effective Computing

Overwhelmed by the world of computing tools you could be using for your research? Mired in messy code that won't evolve with your ideas? This course is for you. Designed for grad students across the College of the Environment, it is a broad, practical introduction to the most important things you need to know.

Topics covered:

* Install and use linux, python, and matlab on any computer

* Linux basics: your environment, editing text files, working from the command line

* Designing complex code projects so they can grow effectively

* Simple approaches to code debugging, commenting, and performance evaluation

* Using GitHub to organize and share your code

* Python basics: programs, modules, numpy, matplotlib

* Advanced python: pandas, Xarray

* Mastering data formats: from time zones to NetCDF and more

* Advanced linux: scripting

* Build your own tools to automate getting data from the web

* Analyze large datasets remotely in the cloud

* Build your own website

** Students will work in small teams to develop their own code projects. They will also do beta-testing and code review for other teams.