Course Description
This online course is a hands-on introduction to the Python programming language, tailored for atmospheric and oceanic sciences (AOS) researchers, graduate students, and advanced undergraduates who are new to Python. The course does not focus on computer science but on how Python can help AOS users do AOS work.
Topics covered may include:
- What is Python?
- Using the Python Interpreter and Interactive Development Environment
- Basic Data and Control Structures
- Array Operations
- File Input and Output
- Visualization: Basic Line and Contour Plots
- An Introduction to Object-Oriented Program Using Python
- Application of Python to Atmospheric Sciences Problems
Prerequisites: While the course takes a gentle and (hopefully) fun approach to learning Python, it does not aim to teach programming. Students should already know the basics of programming (e.g., variable assignment, looping, conditionals, procedures) in some other language.
Academic credit: The course is not endorsed or accredited by any other educational institution. The course does not fulfill any requirements or earn any credit hours at any educational institution, unless you have explicitly made such arrangements, on your own, with your institution.
Who Would Want to Take the Course
The use of AOS Python has exploded in the past few years, but few resources exist specifically to teach AOS users how to use Python. Many university AOS programs do not offer a class on using Python. Finally, while there are a number of very fine online courses available to learn Python, this course is different in that it:
- Is tailored to how AOS users use and think about computer programs and programming tasks (rather than to a general computer science or IT audience),
- Is pretty affordable,
- Uses real-time video/voice interaction with your instructor and/or classmates.
While I realize most online courses are structured around email, discussion groups, and chat, and that there is a new trend in online learning towards massive open online courses, I believe there is something special when instructors and students interact with one another visually and aurally in real-time. Learning, I believe, happens not only individually or in dialogue with an instructor but also through conversation with one's fellow students. This course is structured that way.
About the Instructor
Johnny Wei-Bing Lin graduated from Stanford University with a B.S. in Mechanical Engineering and an M.S. in Civil Engineering-Water Resources. His Ph.D. is in Atmospheric Sciences from UCLA. I have chaired the American Meteorological Society (AMS)'s Python Symposiums, taught or co-taught some of the AMS Python short courses, and am the author of the textbook A Hands-On Introduction to Using Python in the Atmospheric and Oceanic Sciences. I am an experienced and effective teacher of students covering a wide-range of levels of preparation: high school students, undergraduates, graduate students, researchers, and faculty. Currently, I am a Senior Lecturer and Director of Undergraduate Computing Education in the Computing and Software Systems Division of the University of Washington Bothell and an Affiliate Professor of Physics and Engineering at North Park University in Chicago.
What Class Will Be Like
My approach to teaching is interactive, Socratic, and hands-on. I really care about student understanding and application of what they're learning. Class size is generally small to facilitate interaction between everyone in the class. Even though the course is online, our class time will incorporate real-time video lectures and discussions. In order to participate in those lectures, you must have access to a computer running Windows or Mac OS X, a modern browser, and a fast Internet connection. For classes you miss, screencasts of those sessions will be available online.
The course is generally taught in one of two formats. First, it may be taught as a three-day workshop. Second, it may be taught as a one-semester course roughly equivalent to a two semester hour college course. That format translates to approximately two hours in-class and four to six hours of effort outside of class, weekly. Of course, the one-semester format gives students more time to really learn the material, versus the workshop format, but in both formats, the topics covered are roughly the same.
Cost and Registration
All courses, individual or institutional, are pre-arranged with the instructor, and thus are not open for public enrollment. To arrange a class, please send an email to Johnny Lin.
Limited Money Back Guarantee: If, for any reason, you would like a full or partial refund of your tuition, just ask me for your money back and I will gladly refund it to you, as long as your request comes within one year after the last day of your class. (Note that under no circumstances will the refund exceed the tuition amount you paid, and all refunds will be made via Paypal. In the case of institutional clients, an individual student's tuition is that portion of the total tuition paid by the institution to the instructor divided by the total number of students, and any tuition refunds are paid to the institution, not to the student.) I want you to be happy with your experience with the course. Period.
Agreement on completion of registration: Registration is complete when you (or your institution) has sent the instructor an email with your full name and email address that says you intend to take the course. Your completed registration signifies your agreement to and acceptance of the following conditions and understandings:
- To keep the access password for your class' course materials confidential and not to share it with others;
- That while many of the course materials are provided under a Creative Commons license, the recordings of class sessions are not. Thus, those recordings may not be reproduced beyond Fair Use without first obtaining permission from myself and/or other parties who own the copyright for the material in the recordings;
- Grant permission to the instructor to record, reproduce, and distribute any comments, questions, discussion, text, images, audio, video, or any other kind of input you provide during class. This permission is given perpetually and without restrictions of any kind. This permission does not require the payment of royalty to you;
- That the instructor only needs to honor requests made in writing or email;
- That the instructor may cancel your registration and participation in the class at any time and for any reason whatsoever. If your registration is cancelled, your full tuition will be refunded according to the terms of the Limited Money Back Guarantee.
- That all course content (whether oral or written or otherwise recorded on media) is provided on an as-is basis with no warranty whatsoever;
- That you agree to and accept all other conditions and understandings detailed on this web page, whether explicitly written out (e.g., the Limited Money Back Guarantee) or included by reference through a link (e.g., the Privacy Policy).
Please print a copy of this web page for your records.
Course Resources
- The textbook, A Hands-On Introduction to Using Python in the Atmospheric and Oceanic Sciences
- PyAOS: A blog and mailing list helping to build up the atmospheric and oceanic sciences Python community