Modern computational tools to organize, manipulate, analyze and plot data of various origins. The course begins with some background on how to break large tasks into manageable sub-problems, moves into standard features of modern programming languages, and familiarizes students with both Linux command line tools and a higher order programming language. Tools for map making and image manipulation are included as well as the generation of a basic website. ERTH401 and GEOP501 share lectures and labs. Graduate students are expected to work on a semester-long project with a final poster presentation.
The intent is to hand you tools that will allow you to massage data in exactly the way you want it to be. We will start out manipulating your thinking, introduce you to programming in general, and then take off into specific working environments namely Unix/Linux and Python while teaching you how to map your data using GMT. We will cover many things in a short amount of time which means that we will give you many pointers which you can follow up on depending on your needs.
|Susan Bilek||MSEC 358||T 11-noon|
|Ronni Grapenthin||MSEC 356||TR 2-3PM|
|Zach Zens||MSEC 196||F 12-1PM|
ERTH 401: 100% Lab exercises
GEOP 501: 80% Lab exercises + 20% Final Project.
Each week we will introduce the tools needed for the exercises. During the afternoon lab period, we will work in the MSEC 345 computer lab to provide examples of the tools and simple use cases. The exercises will build on these tools, allowing you to use the tools to solve more complex problems. The majority of your course grade will be based on completion of these exercises.
The final component of the GEOP 501 course will be a poster presentation that shows an application of the tools developed in this class related to your thesis research. The last day of class will be devoted to a poster session where each student will present their poster to other members of the class. Feel free to use this poster session as a practice run for poster presentation for upcoming meetings if appropriate.
The class meets: Mon (lecture) 11-11:50am in Bureau 111A and (lab) 14-16:55 PM in MSEC 345 (computer lab)
|Aug 21||Intro & Thinking like a Programmer||Lab 1 - setup.||RG|
|Aug 28||Variables, Data Types & Logic||Lab 2 - Python Examples||RG|
|Sep 04||Labor Day|
|Sep 11||Control Structures||Lab 3 - Python Lists & Flow Control||ZZ|
|Sep 18||Functions (code)||Lab 4 - Python dict, Functions||RG|
|Sep 25||Live Python||Lab 5 - matplotlib with a sprinkle of numpy||RG|
|Oct 02||Advanced Data Structures||Lab 6 - numpy, pandas||SB|
|Oct 09||Data I/O||Lab 7 - file i/o examples and overall review||SB|
|Oct 16||Unix tools I||Lab 8 - shell||SB|
|Oct 23||Live Shell||Lab 9 - shell scripting||RG|
|Oct 30||Unix tools II||Lab 10 - awk, grep, sed||SB|
|Nov 06||Presentation / Figure manipulation Tools||Lab 11 - illustrator||SB|
|Nov 13||The Internet & Websites||Lab 12 - make a website||RG|
|Nov 20||GMT I||Lab 13 - simple map||SB|
|Nov 27||GMT II||Lab 14 - fancy map||SB|
|Dec 04||Poster Session||Poster Session|
|Dec 11||Finals Week / AGU|
Prior to each lecture you will find handouts, examples, and problem sets here. The problem sets are supposed to get you started poking around on your system and/or change the way you approach problems. The handouts will form some sort of mini-handbook that could be placed next to your computer.
To discuss issues with labs, projects and general programming issues with your fellow students, please use the canvas discussion board.
If you do not have access to a unix-linux-mac environment, I recommend virtualbox
as a virtualization software which allows to run, say, a linux distribution
within a running Windows (no rebooting required). Once virtualbox is installed you need to put a linux distribution of your
choice (maybe ubuntu) on top of this. See Ronni (
rg <at> nmt <dot> edu)
if you need help with that.
rg <at> nmt <dot> edu | Last modified: November 27 2017 18:18.