|Instructor(s)||Binkowski, Thomas (abinkowski)|
|Meeting Times||Tuesday 5:30pm - 8:30pm|
|Fulfills||Elective Specialization - High Performance Computing (HPC-2)|
This course aims to introduce students to important concepts in scientific computing. Students will survey topics in variety of disciplines and explore how rigorous computation is transforming the way that research conducted, experiments are executed, and data is analyzed across all scientific disciplines.
The course will focus on applying a variety of strategies to solve research problems with a focus on scalable, reproducible, and collaborative work. This will include the creation, manipulation, and analysis of data sets and the application of complex algorithms. Students will design and implement systems that are reliable, capable of handling vast amounts of data, and utilize best practices in interface and usability design. Students will also learn to how to effectively communicate the results of their work to different audiences through written materials and presentation and to develop and provide resources for other researchers to use.
While this course should be of interest for students interested in sciencetific research, techniques and approaches taught will be applicable to other fields.
* This course requires proficiency in Unix and Linux. Please plan to attend the MPCS Unix Bootcamp (https://masters.cs.uchicago.edu/page/mpcs-unix-bootcamp) or take the online MPCS Unix Bootcamp Course on Canvas, but students should also be prepared to supplement their knowledge as needed.
* Proficient in writing complex, networked programs in Python
* Proficient in working from the command line in a Linux environment
* Experience in non-trivial command line scripting using Bash
* Understand HTTP request-response mechanisms, including request headers and response codes
* Comfortable working with remote APIs and reading documentation
* Comfortable working with versional control using git
This class is scheduled at a time that conflicts with these other classes: