Florida Gulf Coast University
U.A. Whitaker College of Engineering
Spring 2025
Last updated: Jan 3, 2025
Course flyer: Link
Course link: Link
Project link: Link
EGN 4930 / EGN 5932C Special Topic : Environmental Data Science
CRN: 15844 / 15843
Credit hours: 3
Class: T R – 04:30pm - 05:45pm – Holmes Engineering 439
Exam: T – 03:00pm - 05:15pm – Holmes Engineering 439 (Apr 29)
Ahmed S. Elshall, PhD
Assistant Professor
Department of Bioengineering, Civil Engineering, and Environmental Engineering
U.A. Whitaker College of Engineering Joint Appointment with The Water School
Office: Holmes Hall 423 (inside 416)
Research Website: https://aelshall.weebly.com
Office Hours : Tuesday and Thursday 2:00 pm - 4:00 pm, and by appointment
Thalia Valle Chavez
Office Hours : By appointment
Welcome to the Environmental Data Science course. This course introduces water and environmental data analysis using Python, a dynamic programming language with powerful libraries for data science and scientific computing. These libraries include:
You will learn how to use these tools for analyzing and visualizing water and environmental data. We will explore data from various sources such as NOAA, NASA, Copernicus, USGS, and Data.Gov, handling formats such as CSV , shapefile , and NetCDF. By the end of the course, you will be able to perform data analysis and visualization with Python to address treal-world water resources and environmental challenges. No prior programming experience is required.
This elective course is designed for engineering and science students with a genuine interest or practical need to learn coding for their data analysis and visualization needs. The course is project-based and offers self-directed learning opportunities. Past students have explored and utilized specialized resources tailored to their interests, such as:
Accordingly, hands-on learning and practical applications will be key criteria for assessing and evaluating your progress in this course.
By the end of this course, you will be able to:
Week | Lesson | Date | Topic | Due Date |
---|---|---|---|---|
1 | 1 | 7-Jan | Introduction to environmental data science | |
2 | 9-Jan | Getting started with JupyterLab and Python | Python Installation before class | |
2 | 3 | 14-Jan | Python basics 1 - Variables and functions | |
4 | 16-Jan | Python basics 2 - Python data structures | ||
3 | 5 | 21-Jan | Python basics 3 - Text formatting | |
6 | 23-Jan | Python programming 1 - Loops | HW1 Basics | |
4 | 7 | 28-Jan | Python programming 2 - Conditional statements | |
8 | 30-Jan | Python programming 3 - Functions | ||
5 | 9 | 4-Feb | Python programming 4 - Modules | |
10 | 6-Feb | Pandas 1 - Pandas for programmable spreadsheet | HW2 Programming | |
6 | 11 | 11-Feb | Pandas 2 - Filtering by keyword and dataFrame index | |
12 | 13-Feb | Pandas 3 - Descriptive statistics and slicing | ||
7 | 13 | 18-Feb | Pandas 4 - Dicing and datetime column subsetting | |
14 | 20-Feb | Pandas 5 - Quick plots and save & load dataFrame | ||
8 | 15 | 25-Feb | Data science workflow | HW3 Pandas |
16 | 27-Feb | Data science workflow | Project summary | |
9 | 4-Mar | Spring Break | ||
6-Mar | Spring Break | |||
10 | 17 | 11-Mar | NumPy for scientific computing | |
18 | 13-Mar | NumPy for scientific computing | ||
11 | 19 | 18-Mar | NumPy for scientific computing | |
20 | 20-Mar | Matplotlib for data visualization | ||
12 | 21 | 25-Mar | Matplotlib for data visualizationb | |
22 | 27-Mar | Matplotlib for data visualization | ||
13 | 23 | 1-Apr | ST: Climate data - CMIP6 and remote sensing | HW4 NumPy and Matplotlib |
24 | 3-Apr | ST: Xarray for n-dimensional geospatial data | ||
14 | 25 | 8-Apr | ST: Xarray for n-dimensional geospatial data | Interim report |
26 | 10-Apr | ST: Cartopy for geospatial data visualization | ||
15 | 27 | 15-Apr | ST: Google Earth engine and machine learning | HW5 Xarray and CartoPy (optional) |
28 | 17-Apr | ST: Google Earth engine and machine learning | ||
16 | 29 | 22-Apr | Project presentation | |
30 | 24-Apr | Review of final exam | Final report | |
17 | 29-Apr | Final exam |
Special topics (ST) are suggested topics by the instructor and subject to change based on students’ interests.
Required materials will be posted on Canvas.
Textbook:
Online available materials include:
The instructor may elect to employ a curve that favors the students.
Grade | Range | Grade | Range | Grade | Range |
---|---|---|---|---|---|
A | 90% or above | B- | 76% to 79.99% | D+ | 63% to 65.99% |
A- | 86% to 89.99% | C+ | 73% to 75.99% | D | 60% to 62.99% |
B+ | 83% to 85.99% | C | 70% to 72.99% | F | Below 60% |
B | 80% to 82.99% | C- | 66% to 69.99% |
General notes
For participation assessment students are expected to:
All these will be evident by the quality of your class participation, which form the majority of your participation grade.
Specific notes:
Regular attendance in classes is expected.
Unexcused absences affect the final course grade according to the following schedule:
Absences | Effect on final grade |
---|---|
Up to 2 Absences | No effect on final grade |
3 Absences | Final grade lowered by half later grade (e.g., from A to A-) |
4 Absences | Final grade lowered by a one full letter grade (e.g., from A to B) |
5 or more absences | Final grade of 0 assigned (Official withdrawal recommended) |
You learn a programming language by practice. Accordingly, almost a bi-weekly assignment will be posted on Canvas. Each assignment is due by Thursday at 11:59 pm, unless otherwise mentioned in class or posted on CANVAS. Assignments are designed to include self-directed learning opportunities. This is to give you the opportunity to explore and experiment with a variety of Python libraries and datasets of your interest.
A main learning objective is to immerse students in a project-based learning experience that integrates practical skills with a scientific mindset and engineering design approach. You are expected to work individually or in a group of two or three to develop a research question or industry-oriented problem, and use python tools to process data to provide useful information and solutions that support decisions. The project objectives are to help you to build a deeper understanding of different Python libraries and their applications in water resources and environmental data analysis, while promoting independent learning and critical thinking skills. By achieving these objectives, you will be well-equipped to leverage Python for in-depth analysis of environmental data across various domains. The instructor will be available to provide guidance and support. In addition, you will share your discoveries with the class through a presentation. A rubric for class presentation will be posted on Canvas. Attending all presentations and providing peer-assessment using the peer-assessment form that will be posted on canvas consist part of your project grade. Due dates for project abstract, interim report, and final report will be posted on Canvas. The project will be graded according to the following schedule project assessment plan:
You have the option to count service learning hours while working on your term project. To qualify, your term project should address a direct or research need for a community partner that is not-for-profit. For detail check term project.
Check this link for service learning events including:
As of fall 2015, all faculty members are required to use Canvas to confirm a student’s attendance for each course by the end of the first week of classes. Failure to do so will result in a delay in the disbursement of your financial aid. The confirmation of attendance is required for all students, not only those receiving financial aid.
Generative AI including large language models (LLMs) such as ChatGPT, Gimini, Claude, and DeepL should not be used in assignments and exams when indicated by the text “Generative AI Not Permitted”. Otherwise, students must cite the used AI tool, and failing to do so will be considered academic dishonesty. Check FGCU Generative AI policy for more details.
FGCU has a set of central policies related to student recording class sessions, academic integrity and grievances, student accessibility services, academic disruption, generative AI, and religious observances that apply to all courses at FGCU. Be sure to review these online
We’re here to help students, faculty, and staff become more confident writers. To this end, we offer a variety of free services including one-on-one sessions with expert writing consultants, on-demand presentations on a range of writing-related topics and a broad selection of handouts developed specifically for the needs of the FGCU community. https://www.fgcu.edu/academics/caa/writinglab/
HiPerGator AI: Access the fastest artificial intelligence supercomputer in higher education. FGCU is partnered with the University of Florida to provide faculty and students with unparalleled computing power. The possibilities are endless when applied to instruction, research, and course development. Please contact the University Help Desk to learn more.
Except for changes that substantially affect implementation of the evaluation (grading) statement, this syllabus is a guide for the course and is subject to change with advance notice.