I found a number of Python-oriented online courses and tutorials! Some of which are from the University of Helsinki.
- Geo-Python (seems to be released yearly, with updates): "teaches you the basic concepts of programming using the Python programming language in a format that is easy to learn and understand (no previous programming experience required)."
- Automating GIS-processes (seems to be released yearly, with updates): "course teaches you how to do different GIS-related tasks in Python programming language. Each lesson is a tutorial with specific topic(s) where the aim is to learn how to solve common GIS-related problems and tasks using Python tools. We are using only publicly available data which can be used and downloaded by anyone anywhere."
- Introduction to Quantitative Geology: "This course introduces students to how to study a handful of geoscientific problems using a bit of geology, math, and Python programming. The course is aimed at advanced undergraduate students in geology or geophysics."
- Python Testing and Continuous Integration
While looking for more courses posted online like this, I found these resources from The Carpentries (discussed further down):
Other lessons offered by The Carpentries are R-programming-oriented.
General GIS course, too ... for some reason (a lead in to advanced lessons):
The Carpentries teach foundational coding, and data science skills to researchers worldwide.
The Carpentries seems cool (look below for links to lessons), but their website needs work.
Finding lessons for self-learning the material that they tackle isn't quite clearly discoverable — it's hidden in the Teach nav item and from there you need to know if you want lessons regarding Data, Software, or Library carpentries. It seems like they're not making self-learning an objective, preferring to instead funnel people into workshops (click Learn in navigation links, see items directing you to workshops).
Fascinating paper linked to by Software Carpentry ("Teaching basic lab skills for research computing"), regarding researchers' use of Automation, (Data) Version Control, Documentation, Task Management:
Matthew Gentzkow and Jesse Shapiro: "Code and Data for the Social Sciences: A Practitioner's Guide.", 2014.
I also found this lesson article that's about using Git in RStudio, part of a general text about using Git: http://swcarpentry.github.io/git-novice/14-supplemental-rstudio/index.html
Programming with R: http://swcarpentry.github.io/r-novice-inflammation/ addresses a lot except for visualization and plotting. The lesson of which this article is a part might scratch the DataVisualization itch, but it doesn't seem too exhaustive.
It seems like the book Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython from O'Reilly is well-regarded (I've seen it mentioned a lot) and its contents seem extensive.
The above was mentioned in this Reading List for a Fundamentals of Data Science course.