Computing and Programming for Environmental Research
(ESE5023)
https://zhu-group.github.io/ese5023
Instructor:
Lei Zhu
School of Environmental Science and Engineering
Office: 907, CoE North
Email: zhul3@sustech.edu.cn
Office Hours: By appointment
Teaching Assistants (TAs):
Xingyi Wu
School of Environmental Science and Engineering
Office: 903B, CoE North
Email: 12432902@mail.sustech.edu.cn
Office Hours: Friday 14:00-15:00
Jiaming Zhang
School of Environmental Science and Engineering
Office: 903B, CoE North
Email: 12432908@mail.sustech.edu.cn
Office Hours: Thursday 9:00-10:00
Xiangchen Wang
School of Computer Science and Engineering
Office: 550B, CoE South
Email: wangxc2019@mail.sustech.edu.cn
Office Hours: Monday 15:00-16:00
Class Time:
Wednesday 19:00-21:50
Location:
307, Teaching Building #3
Credit:
The course has a credit of 3.0, with a total class hour of 48.
Overview:
Computing is an indispensable tool for Environmental scientists. Being
able to analyze and visualize data sets through programming efforts has
become one of the most critical skills for carrying out studies in
Environmental Science. However, incoming ESE graduate students often
find their opportunities to get access to such courses limited at
SUSTech.
This course will introduce students to modern computing software, programming tools, and practices that are broadly applicable in their later research. This course will include an introduction to Linux, version control and data backup with Git, programming in two commonly used languages (Python and FORTRAN), data analysis and visualization tools, and high-performance computing exercises on cluster computers. This course will boost students’ programming and computing skills, which are in high demand in the era of Big Data.
This course is a hands-on and project-oriented course that facilitates student learning through lectures, in-class exercises, labs, assignments, final project, and one-on-one interactions. Class topics will be taught through example data sets, demos, and research problems from Environmental Science.
Structure:
The course will meet on Wednesday weekly. During class 09-10, new
material will be demonstrated by the instructor, followed by in-class
exercises. For class 11, the class will turn into a lab, when class time
will be devoted to working on in-class exercises and assignments,
discussing the final project, and one-on-one interactions between
students and the instructor/TAs. Students are also welcome to Office
Hours held by the instructor and TAs for specific questions.
Prerequisites:
C or C++; Applied Mathematics; Or permission of the instructor.
Textbook:
There is no required textbook. Readings will be freely available from
online resources made available through the course website.
Laptop:
Students are required to bring laptops to the class to
learn the material, participate in in-class exercises, and work on the
assignments. Students are encouraged to check resources
for software/tools used in the course.
Grading:
Students will be evaluated at the end of the semester based on their
assignments (50%), final project (40%), and class participation
(10%).
Schedule:
Schedule for
2024 Fall
This course is inspired by the excellent course Research computing in earth sciences freely available on the Github.