A practical introduction to programming. This course will teach an operational knowledge on how to write and execute self written computer programs. Course topics touch upon using a computer without a graphical interface, using an integrated development environment, programming, documenting, debugging, reading and writing data, graphical output, how to navigate existing documentation and internet resources, and last but not least how to effectively ask for help. Students will work individually and in small groups in an inverted classroom setting on earth science related problem sets. Previous programming experience is not required.