METEO 297A: Introduction to Programming Techniques for Meteorology

Course instructor: Erin MunsellTeaching Assistant: Bicheng ChenClass meeting times: Monday and Friday, 03:35 PM – 05:30 PMClass meeting location: 126 Walker

Course instructor: Erin Munsell
Teaching Assistant: Bicheng Chen

Class meeting times: Monday and Friday, 03:35 PM – 05:30 PM

Class meeting location: 126 Walker

Required textbooks: None

Internet materials and links: 

Course Expectations 

The objectives of this course are to:

  1. Introduce the student to fundamental programming concepts, such as variables, flow control, syntax, etc.
  2. Apply those concepts to solve meteorological problems.
  3. Familiarize the student with Linux and MATLAB.
  4. Teach good programming habits. 

After this course, the students should be able to:

  1. Translate a problem into a piece of code to solve the problem.
  2. Debug and fix code.
  3. Read and modify code written by other people to suit their own purposes.
  4. Learn a new programming language on their own. 

Course Content 

The course is roughly divided into the following parts: 

Introduction to programming (aka doing MATLAB the dumb way)

  • Learn general concepts of programming that apply to most languages.
  • Get familiar with the workflow and syntax of MATLAB. 

Diving deeper

  • Explore more advanced programing topics.
  • Learn good programming practices.
  • Get experience in formulating a problem, splitting up the problem into smaller parts, and designing algorithms to solve the smaller problems, as well as how to handle bigger projects. 

MATLAB programming

  • Learn how to take advantages of MATLAB’s features.
  • Visualize data with different types of plots. 

Course Policies 

Assessment Policy

Exercises consist of simple programming problems that will be given in the beginning of the semester. Students work individually to complete the problems and demonstrate their solutions to an instructor or TA when they feel ready. The instructor or TA may ask questions about the code during the demonstration. Each problem within an exercise may be marked either “pass” or “retry”. Students may retry as many times as they want before the deadline.

Assignments are bigger programming challenges that students work individually on. Assignments will be graded on whether the code runs and works correctly, but also on the clarity and readability of the code, software design, and documentation. 

Examination Policy

Quizzes will be given in the beginning of the semester to test the students’ knowledge of the basics of programming.

A final project will be given at the end of the semester to assess the skills and knowledge the students have gained in this course. The final project will be similar to the assignments. Students are not allowed to discuss the final project with anyone other than the course instructors and TAs.

There will be no final exam. 

Grading Policy

The following weights are used to determine the final course grade:

  • Exercises: 10 %
  • Quizzes: 20 %
  • Assignments: 20 %
  • Final project: 50 % 

The final grade will reflect the student’s knowledge and skill at the end of the course. Thus, it is possible to receive a higher grade than the weighted average (using the percentages above) by showing mastery of the course material in the final project. This will only be done in such a way as to help the students’ overall scores. No student will receive a lower score than the weighted average using the percentages above. 

There will be no grade curving. 

Academic Integrity

Students in this class are expected to write all their code individually, but are encouraged to work on exercises and assignments in groups. 

Quizzes and the final project are completely individual. Students may only communicate with the instructors and TAs during quizzes and regarding the final project.

Students are not to copy any answers from another student or external resources and present them as their own. Students who present other people's work as their own will receive at least a 0 on the assignment and may well receive an F or XF in the course.  Please see: Earth and Mineral Sciences Academic Integrity Policy, which this course adopts.


The student is responsible for learning the material in the lectures. Attendance will not be taken and does not affect the final grade. Students must be present at quizzes to receive a score. If you are going to miss a lecture for a legitimate reason, let the instructor know (preferably ahead of time), and the instructor will help you catch up to speed. 

This course abides by the Penn State Class Attendance Policy 42-27, Attendance Policy E-11: , and Conflict Exam Policy 44-35. Please also see Illness Verification Policy and Religious Observance Policy. Students who miss class for legitimate reasons will be given a reasonable opportunity to make up missed work, including exams and quizzes.  Students are not required to secure the signature of medical personnel in the case of illness or injury and should use their best judgment on whether they are well enough to attend class or not; the University Health Center will not provide medical verification for minor illnesses or injuries. Other legitimate reasons for missing class include religious observance, family emergencies, and regularly scheduled university-approved curricular or extracurricular activities.  Students who encounter serious family, health, or personal situations that result in extended absences should contact the Office of Student and Family Services for help:.  Whenever possible, students participating in University-approved activities should submit to the instructor a Class Absence Form available from the Registrar's Office, at least one week prior to the activity.

Accommodations for Students with Disabilities

If the course format fails to provide for your needs due to a disability, please talk to the course instructor. The instructor will make every effort to accommodate you. 

Penn State welcomes students with disabilities into the University's educational programs. Every Penn State campus has an office for students with disabilities. The Office for Disability Services (ODS) website provides contact information for every Penn State campus. For further information, please visit the Office for Disability Services website. 

In order to receive consideration for reasonable accommodations, you must contact the appropriate disability services office at the campus where you are officially enrolled, participate in an intake interview, and provide documentation based on the documentation guidelines. If the documentation supports your request for reasonable accommodations, your campus’s disability services office will provide you with an accommodation letter. Please share this letter with your instructors and discuss the accommodations with them as early in your courses as possible. You must follow this process for every semester that you request accommodations. 

Weather Delays

Campus emergencies, including weather delays, are announced on Penn State News: http:/ and communicated to cellphones, email, the Penn State Facebook page, and Twitter via PSUAlert

Disclaimer Statement

Please note that the specifics of this Course Syllabus can be changed at any time, and you will be responsible for abiding by any such changes. Changes will be posted to Angel.