eds

EGN 4930 / EGN 5932C Special Topic : Environmental Data Science

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

Course Information

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)

Instructor

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

Teaching Assistant

Thalia Valle Chavez
Office Hours : By appointment

Course Description

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.

Course Learning Objectives

By the end of this course, you will be able to:

Course Schedule

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.

Course materials

Required materials will be posted on Canvas.

Textbook:

Online available materials include:

Assessment and Grading

Grading scale

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%    

Assessment plan (100%)

General notes

Participation and Attendance

Participation

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:

Attendance Policy

Regular attendance in classes is expected.

Tardiness Policy

Execused Absence Policy

Absences and Final Grade Policy

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)

Assignments

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.

Term Project

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:

Late Assignments and Project Policy

Final Exam

Service Learning (Optional)

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:

Policy for Academic Integrity Violations

Financial Aid Statement

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 Use

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.

Core Syllabus Policies

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

Writing lab

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/

High Performance Computing (HPC) Resources

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.

Syllabus Change Policy

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.