Instructors: Evan Bianco and Matt Hall
When: May 11, 2017, 8:30 am - 4:00pm
Where: geoLOGIC Classroom 540 5th Ave SW Calgary, AB
What: We will teach a hands-on introduction to the Python programming language.
This is a crash course in the fundamentals of programming and scientific computing with geoscience applications. We deliver the course by alternating short tutorials with hands-on programming exercises. Participants get practice with programming syntax by following along on their laptops. They receive the entire set of presentations, programs, and course data before the course starts, which amounts to a huge amount of working code that they'll be able to make use of by the end of the course. The course uses standard industry data such as well logs, horizons, and seismic to illustrate computational concepts we all encounter in our daily workflows. We teach using the Python programming language. It's a fantastic language for scientific computing. It is easy-to-learn, powerful, even if it does have a rather daunting ecosystem of thousands of open source code libraries. But fear not, we'll get you set up and well practiced with the handful of ones that you'll use the majority of the time.
Bring: Participants must bring their own computers (Mac, Windows, or Linux) with the required software already installed (see What to install below). Contact Evan and Matt if you need any help before the course.
- Get up and running with state of the art scientific computing software
- Learn the fundamentals of programming common to all programming languages.
- Exposure to general purpose power tools, and geoscience-specific Python code libraries
- Learn how and when to use other people's code, and when to write your own.
- Create stunning 2D and 3D visualizations and graphics that are reproducible, customizable, and transparent.
- Practice wrangling petroleum-specific digital data sets
- Define paths of continued learning and future projects
Topics |
---|
Part 1 |
Introductions |
Fundamentals of Programming |
Intro to scientific computing |
Part 2 |
3 Practical Exercises and examples |
There are many ways to get Python on your system and it can be very confusing when you're first starting out. I don't recommend downloading it from python.org or using the Python that came with your system (common on Linux). Instead, use the Anaconda distribution. It will come with all the libraries you'll need and doesn't require administrative access to install.
Go to https://www.continuum.io/downloads and select the Python 3.6 version of the installer for your system. It's safe to use all the default configuration options when installing.
Even if you already have Python (say from your system package manager or ArcGIS, etc), I recommend that you install Anaconda to avoid problems with versioning.
You'll also need a text editor. If you don't already have one of your choice, I recommend installing Sublime Text (it's available for Linux, Windows, and Mac).
Please install all software BEFORE comming to the course. If you have any problems installing or don't know which version you need to download, get in touch.
Other great places to pick up Python:
- Learn X in Y minutes — If you just want to get cracking.
- Stavros — If you want to know a bit more.
- Robert Johansson's lectures
- Tutorials Point — Another option.
- Code Academy — A more sedate pace.
- Udacity Intro to Computer Science — Fantastic but a serious undertaking.
- All the tutorials!
WARNING There's still a lot of Python 2 around. Keep away from it if you can! Python 3 has lots of advantages, and there are hardly any libraries now that have not made the swtich.
- Learn everything about IPython and the Notebook! There's a lot to know, but some of it seems a bit un-Pythony to me.
- A really awesome series of notebooks about Python.
This content is licensed under a
Creative Commons Attribution 4.0 International License.