Welcome to scientific coding! Everything is fine.
This course has been adapted into an online textbook at cjtu.github.io/spirl.
The new course repo is at github.com/cjtu/spirl. Contributions welcome!
This short course is targeted at students and scientists looking to get started with scientific programming. It assumes little to no programming experience!
We will cover a range of topics like basic command line navigation, collaboration with Git, basic Python scripting and sharing reproducible code with Jupyter notebooks.
This course recommends two short online courses to be completed concurrently with the lessons (see the schedule of pre-class homework in the Syllabus below). Those courses are Learn Git (approx. 1-2 hrs) and Learn Python (approx. 8-10 hrs). If you are following along weekly, I would budget about 1 hr per week for the in class lessons and 1-2 hrs per week for the pre-class homework.
Both of the homework courses are offered for free on codecademy.com (you will need to sign up for a Codecademy account).
| Lesson | Topics | Codecademy pre-class homework |
|---|---|---|
| 0 | Terminal navigation, bash basics, permissions, installing Anaconda | N/A |
| 1 | Git, GitHub, licenses | Learn Git 1-4 |
| 2 | Jupyter, strings, indexing, booleans, ifs | Learn Python 1-3 |
| 3 | Numpy, matplotlib, functions, methods, lists, dictionaries | Learn Python 4-5 |
| 4 | Conda environments, scipy, pandas, loops, comprehensions | Learn Python 6-9 |
| 5 | Putting it all together | Learn Python 10-12 |
The Learn Git course can be found at https://www.codecademy.com/learn/learn-git.
The Learn Python course can be found at https://www.codecademy.com/learn/learn-python.
These are both free courses, but Codecademy will try to get you to pay for extra stuff. You only need your free account to do these 2 courses, i.e. don't pay for stuff!
This short course is based on source material presented to the Solar System Exploration Group at University of Toronto in 2015 and 2016 by Christian Tai Udovicic and Alexandre Boivin. It has been adapted for the Christopher Edwards Group at Norhern Arizona University.
This repository and all resources in it are made available for free and with no warranties through the MIT open licence. See LICENSE for more details.