---
title: "UO Ph.410-510c Scientific Computation (Spring 2024) TA Resources"
author: "[**Thomas (Tom) C. Gorordo**](https://pages.uoregon.edu/tgorordo)"
---

[Official Course Site](https://pages.uoregon.edu/jschombe/sci_comp)


Data Sources:

- [Sloan Digital Sky Survey](https://www.sdss.org/)
- [Gaia Archive](https://gea.esac.esa.int/archive/)
- [FiveThirtyEight Github](https://github.com/fivethirtyeight/data)

Reference & Python:

- [The Python Wiki](https://wiki.python.org/moin/)
- [The Python Tutorial](https://docs.python.org/3/tutorial/index.html#tutorial-index)
- [The Python Language Reference](https://docs.python.org/3/reference/)
- [The NumPy API Reference](https://numpy.org/doc/stable/reference/index.html)
- [SciPy documentation](https://docs.scipy.org/doc/scipy/)
- [pandas Documentation](https://pandas.pydata.org/docs/)
- [astropy Documentation](https://docs.astropy.org/en/stable/index.html)
- [matplotlib Documentation](https://matplotlib.org/stable/index.html)
- [Think Python: How to Think Like a Computer Scientist](https://greenteapress.com/wp/think-python-2e/)
- [Learning Scientific Programming with Python](https://scipython.com/)
- [Software Carpentry](https://software-carpentry.org/lessons/)
- [Compusalon](http://vallis.org/book/code.html) and [Python for Astronomers](https://prappleizer.github.io/) are both incomplete but have lots of good exercises and neat examples.
- [Python & OpenGL for Scientific Visualization](https://www.labri.fr/perso/nrougier/python-opengl/)
- [Instant Hacking](https://folk.idi.ntnu.no/mlh/hetland_org/writing/instant-hacking.html) and [Instant Python](https://folk.idi.ntnu.no/mlh/hetland_org/writing/instant-python.html) is dated (python2) but crams a lot of concepts into a short intro - think if it as pseudocode.

Good Practices:

- [Scientific Python Design Guide](https://learn.scientific-python.org/development/principles/design/)
- [The Architechture of Open Source Applications](https://aosabook.org/en/)
- [Python Style Guide](https://peps.python.org/pep-0008/)
- [The Black Code Style](https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html)
- [Boxes: Your Second Python Book](https://ralsina.gitlab.io/boxes-book/)

Algorithms & Computation:

- [Problem Solving with Algorithms and Data Structures using Python](https://runestone.academy/ns/books/published/pythonds/index.html)
- *Press, Teukolsky, Vetterling and Flannery*, [Numerical Recipes: The Art of Scientific Computing](https://numerical.recipes/book.html)
- *Abelson and Sussman*, [Structure and Interpretation of Computer Programs](https://web.mit.edu/6.001/6.037/sicp.pdf) ([html](https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/full-text/book/book.html))
- *Knuth*, [The Art of Computer Programming](https://www-cs-faculty.stanford.edu/~knuth/taocp.html)

![1337](https://imgs.xkcd.com/comics/1337_part_2.png)

Some basic shell use if you need it:

- [Unix Shell Intro](https://rcc-uchicago.github.io/shell-intro/) or [Shell Novice](https://swcarpentry.github.io/shell-novice/)
- [The Linux Documentation Project](https://tldp.org/)'s [Absolute Basics](https://tldp.org/LDP/intro-linux/html/sect_02_02.html) and [Bash Guide for Beginners](https://tldp.org/LDP/Bash-Beginners-Guide/html/index.html)

Similar Course(s):

- [Caltech Ph. 20/21/22](http://pmaweb.caltech.edu/~physlab/dokuwiki/doku.php?id=ph20)

Additional Problems/Practice:
- [Project Euler](https://projecteuler.net/)
