Software Carpentry
3.0
creditsAverage Course Rating
A 'crash course' intended to teach new graduate students the fundamentals of programming and practical coding skills that will accelerate facility with computational aspects of graduate research. The course covers how computers work from the inside out, with an introduction to the Linux operating system. Programming will be taught primarily in Python, with an emphasis on solving research-related problems. This peer-taught course will cover variables, conditionals, loops, functions, classes, plotting, data structures and algorithms, with some advanced topics (C++, gradient-based minimization, Procrustes, eigenvalue/vector data analysis, embarrassingly parallel `for' loops). No prior programming skills are required, but experience with an introductory computing language will be helpful. Familiarity with differential equations and linear algebra will be assumed.