Florida Gulf Coast University
U.A. Whitaker College of Engineering
Spring 2024
Syllabus link: https://aselshall.github.io/eds/admin/live_syllabus2024
Last updated: Feb 9, 2024
EGN 4930 / EGN 5932C Special Topic : Environmental Data Science
CRN: 15603 / 15604
Credit hours: 3
Class: T R – 04:30pm - 05:45pm – Holmes Engineering 439 (Jan 9 – Apr 25)
Exam: T – 03:00pm - 05:15pm – Holmes Engineering 439 (Apr 30)
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 8:00 am – 12:00 pm and 3: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 Pandas for spreadsheet analysis, Matplotlib for plotting, NumPy for scientific computing, Xarray for multi-dimensional geospatial data analysis, and Cartopy for geospatial data visualization. Throughout this course, you will not only learn how to use these tools, but also how to leverage Python 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. No prior programming experience is required. By the end of the course, you will be equipped with the skills to perform data analyses and visualizations that are essential for tackling real-world water resources and environmental challenges.
This elective course is designed for engineering and science students with a genuine interest or practical need to learn coding for water and environmental data analysis. 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:
These topics and dates are tentative and subject to change based on class progress. Due dates are tentative and actual deadlines will be posted of canvas.
| Week | Lesson | Date | Topic | Due Date |
|---|---|---|---|---|
| 1 | 1 | 9-Jan | Introduction to environmental data science with Python | |
| 2 | 11-Jan | Getting Started with JupyterLab and Python | Python Installation | |
| 2 | 3 | 16-Jan | Python Basics 1 - Variables and functions | |
| 4 | 18-Jan | Python Basics 2 - Python data structures | ||
| 3 | 5 | 23-Jan | Python Basics 3 - Text formatting | |
| 6 | 25-Jan | Python Programming 1 - Loops | HW1 Basics | |
| 4 | 7 | 30-Jan | Python programming 2 - Conditional statements | |
| 8 | 1-Feb | Python programming 3 - Functions | ||
| 5 | 9 | 6-Feb | Python programming 4 - Modules | |
| 10 | 8-Feb | Pandas 1 -Tabular data | HW2 Programming | |
| 6 | 11 | 13-Feb | Pandas 2 - Data wrangling | |
| 12 | 15-Feb | Pandas 3 - Data analysis | ||
| 7 | 13 | 20-Feb | Pandas 4 - Data analysis | |
| 14 | 22-Feb | Pandas 5 - Data visualization | ||
| 8 | 15 | 27-Feb | AI coding assistance | |
| 16 | 29-Feb | Data science workflow | ||
| 9 | 5-Mar | Spring Break | HW3 Pandas | |
| 7-Mar | Spring Break | |||
| 10 | 17 | 12-Mar | Data science workflow | |
| 18 | 14-Mar | NumPy for scientific computing | ||
| 11 | 19 | 19-Mar | NumPy for scientific computing | |
| 20 | 21-Mar | NumPy for scientific computing | Project Abstract | |
| 12 | 21 | 26-Mar | Data visualization with Matplotlib | |
| 22 | 28-Mar | Data visualization with Matplotlib | ||
| 13 | 23 | 2-Apr | Data visualization with Matplotlib | |
| 24 | 4-Apr | Climate Data - CMIP6 and Remote Sensing | ||
| 14 | 25 | 9-Apr | Xarray for n-dimensional geospatial data | HW4 NumPy and Matplotlib |
| 26 | 11-Apr | Xarray for n-dimensional geospatial data | Interim report | |
| 15 | 27 | 16-Apr | Cartopy for geospatial data visualization | |
| 28 | 18-Apr | Case Study: Google Earth Engine, GeeMap, and machine learning | HW5 Xarray and CartoPy | |
| 16 | 29 | 23-Apr | Final exam review | |
| 30 | 25-Apr | Project presentation | Final report | |
| 17 | 30-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. If you have a group of two or three students, a peer-assessment rubric will be posted on Canvas. The project will be graded according to the following schedule
Project assessment plan
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.
Large language models (LLMs) such as ChatGPT, Gimini, Claude, and DeepL should not be used in assignments and exams when indicated by the text “LLM Not Permitted”. Students must cite the used LLM 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.