CEE 492: Data Science for CEE, Fall 2024

Basic Course Information

Basic Instructor Information

Description of the course

Welcome to CEE 492: Data Science for Civil and Environmental Engineering! This semester, you will learn to leverage data to study civil and environmental engineering problems, identify patterns, and make actionable insights. This course includes training in computational thinking and exploratory data analysis; data processing techniques including singular value decomposition, principal component analysis, and fourier and wavelet transforms; and machine learning techniques including k-means, classification trees, neural networks, and neural differential equations.

This course differs from other available machine learning and data science courses in that it focuses on civil and environmental engineering problems and the methods used to solve them. In particular, this course emphasizes working with dynamical systems that generate spatiotemporal data, which are common in physical science but less common in data science when applied to other disciplines.

By the end of the semester, you will be able to:

  1. Use software tools for data processing and visualization, signal processing, and machine learning to
  2. Retrieve, manipulate, and analyze data; and
  3. Make inferences and predictions about the built and natural environment.

Specifically, upon completion of this course, you should be proficient in the following course learning objectives:

  1. When given a mathematical equation or the description of an algorithm, to use computational thinking to create a software implementation of that equation or algorithm.
  2. To carry out exploratory data analysis to visualize, summarize, and explain an unfamiliar dataset.
  3. To use a distributed version control system to collaborate on a project.
  4. To choose and execute coordinate transforms represent and interpret the underlying patterns in a dataset.
  5. To apply the gradient descent algorithm to minimize error between a model prediction and observations.
  6. To design and implement machine learning models to cluster or predict a dependent variable in a dataset when given independent variables.
  7. To monitor machine-learned models for bias using disaggregated testing.

This course will help you to gain the skills and tools necessary to make the most of the great increases in the amount and quality of data related to civil and environmental engineering that is being collected and stored.

Because data science methods are used across a number of different industries and instructional materials are readily available, this course will include readings and video lectures from across the internet. We will focus our face-to-face time on hands-on practice with the tools and concepts we are learning in this class. For students taking the class for four credits, it will include semester-long group projects; students will choose project topics at the beginning of the semester and will apply the concepts learned in the class to their projects as the semester progresses.


Course Structure

This course is structured as a series of modules, with each module containing recorded lectures, readings, and quizzes to be completed before each class meeting. Class meetings will be in-person, and will focus on hands-on application of the material that was covered in recorded lectures and readings through the use of in-class worksheets. The in-class worksheets will be completed in groups and will be graded. If students do not finish the worksheet during class or are absent, up to 70% of points can be made up by completing the post-class worksheet review. Online students can get 100% of points by completing the post-class worksheet review. Near the beginning or the semester, 4-credit students will choose a topic for a project, which they will work on throughout the semester, applying the concepts that we learn in class. Additionally, students will complete homework assignments, quizzes, and mini-projects.

Course Requirements and Assessment Overview

Absence Policy

Occasionally you may need to miss class owing to illness, conference travel, family emergencies, or other reasons. If the absence is deemed to be for a worthy reason, it can be considered an excused absence. Here is how we will handle excused absences:

  1. Once you know you will be missing class, send me a message letting me know how long (if you know). It will work best if you also provide some documentation, e.g. test result, conference registration, etc.

  2. For days that you miss class, instead of completing the in-class “worksheet” assignment, instead complete the “post-class worksheet review” that will be available immediately after class ends. It’s the same worksheet but you can do it individually and it comes with a video that walks you through it. (If you prefer to organize a zoom session with your groupmates and participate in class remotely, that’s great and strongly encouraged, but we won’t be having a central zoom session because it just doesn’t work well.)

  3. By default, up to 70% of the points you get on the “worksheet-review” will count toward the worksheet score. So if you get 50% on the worksheet and 100% on the worksheet review, then your final worksheet score will be 50 + (100-50)*0.7 = 85%. However, for an excused absence (e.g. one registered in the manner above) 100% of worksheet-review points count toward the worksheet. (Note that there is not a huge difference in points between an excused absence and an unexcused one.)

  4. The deadline for the worksheet review is usually a couple of weeks after class, so it is okay to wait until you’re feeling better to complete it. However, we do have a pretty hard end of the semester at the beginning of December, and things can start to pile up if you fall behind. Come talk to me if that becomes an issue.

Homeworks and Quizzes

Homeworks and Quizzes will be done through PrairieLearn. The quizzes will be administered through the Computer-Based Testing Facility (CBTF), which is a set of computer labs with access to PrairieLearn but not to the internet, and in particular not to resources such as Chegg or ChatGPT. There will be a quiz for each module, which will occur during the week following the 100% deadline for the homework for that module.

In assigning these types of homeworks and quizzes, I’m placing emphasis on mastery. The idea is to keep doing questions until you master the underlying concept or method. Once you do, you should be able to answer these questions very quickly.

Important: When you log in to PrairieLearn, choose “Log in with Illinois” rather than “Log in with Google” or “Log in with Microsoft”. The UIUC login is the only one that will work.

You will be receiving emails from CBTF throughout the semester with instructions on how to sign up for quizzes.


For the homeworks, I try to encourage preparation for class before a module starts, so if you finish all of the questions completely before the first meeting time for the module, you will receive 110% of the available points. Questions finished between the first and second meeting times of the module receive 100%, and questions finished up to two weeks after the module ends can receive 80%.

Note that new homeworks are assigned most weeks, so if you don’t stay ahead, it can be easy to fall behind.


Mini-projects are also administered using PrairieLearn. There are a total of 3 mini-projects, one at the end of each section of the course. Mini-projects will be completed in teams, with randomly assigned team members which will be different for each project. The goal of the projects are allow you to apply the concepts learned in the course to a (relatively) real-world dataset and to practice working in a team.

Learning Resources


Inclusive Environment

The effectiveness of this course is dependent upon the creation of an encouraging and safe classroom environment. Exclusionary, offensive or harmful speech (such as racism, sexism, homophobia, transphobia, etc.) will not be tolerated and in some cases subject to University harassment procedures. We are all responsible for creating a positive and safe environment that allows all students equal respect and comfort. I expect each of you to help establish and maintain and environment where you and your peers can contribute without fear of ridicule or intolerant or offensive language.

If you witness or experience racism, discrimination, micro-aggressions, or other offensive behavior, you are encouraged to bring this to the attention of the course director if you feel comfortable. You can also report these behaviors to the Bias Assessment and Response Team (BART) (https://bart.illinois.edu/). Based on your report, BART members will follow up and reach out to students to make sure they have the support they need to be healthy and safe. If the reported behavior also violates university policy, staff in the Office for Student Conflict Resolution may respond as well and will take appropriate action.


To obtain disability-related academic adjustments and/or auxiliary aids, students should contact both the instructor and the Disability Resources and Educational Services (DRES) as soon as possible. You can contact DRES at 1207 S. Oak Street, Champaign, (217) 333-1970, or via email at disability@illinois.edu.


Active participation in the online learning environment is vital to your success in this course. Depending on your course, you may be asked to engage in online discussions and other interactive learning environments that invite your active participation and involvement with other students and your instructor.

Student Commitment

By registering for this course, you commit to self-motivated study, participation in online course activities, and timely submission of all assignments. Furthermore, you commit to accessing the course website and checking email at least four days per week (daily for 4-week courses).

The University guidelines for course credit hours are posted here. In summary, students in a 3-credit class are expected spend at least 6 hours per week, and students in a 4-credit class are expected to spend at least 8 hours per week, working outside of class times on readings, assigned lectures, assignments, projects, and test preparation.

It is my goal for this class to follow these guidelines so let me know if you think it does not (keeping in mind that the guidelines are for the minimum effort requirements).


If you are unable to meet a particular deadline, it is your responsibility to make prior arrangements with the instructor for that given week. Otherwise, work submitted later than 1 day late will receive 10% penalty, and work submitted later than 2 days late will not be considered for grading unless consent has been given by the instructor. PrairieLearn assignments have a separate policies for late submission which are shown on the PrairieLearn website.


Requests for regrading homeworks, quizzes, mini-projects, and project deliverables must be submitted in writing within one week of receiving the initial grade, and must include a written explanation of the reason for the regrade request.

Instructor Responses

Instructor Feedback Turnaround Time

Questions posted to CampusWire generally will be answered within 24 hours. Questions may be answered on weekends but this should not be expected.

Assignments submitted online will generally be reviewed and graded by the course instructor within 5 business days. Project deliverables will generally be graded within 10 business days.

Contacting the instructor

For the fastest response response, the best way to contact the instructor is by attending office hours or posting questions to the CampusWire.

The instructor will not respond to phone calls and may not respond to emails. If you must send an email, include a subject line that identifies the course number and nature of your question. Please don’t be offended if you are asked to repost your question on CampusWire to allow the instructional team to efficiently answer all questions.

Academic Integrity

Academic dishonesty will not be tolerated. Examples of academic dishonesty include the following:

Should an incident arise in which a student is thought to have violated academic integrity, the student will be processed under the disciplinary policy set forth in the Illinois Academic Integrity Policy. If you do not understand relevant definitions of academic infractions, contact your instructor for an explanation within the first week of class.

Giving and receiving advice on projects and homework assignments is acceptable and encouraged. However, it is expected that help be given in general terms and in the form of natural language sentences (for example, English) rather than in the form of mathematical equations, algorithms, computer code, or anything else that could be copied and pasted into the recipient’s answer. Similarly, students are allowed to consult the Internet (including StackOverflow etc.), but copying and pasting code from the Internet and submitting it for the class is not acceptable. The work that each student submits is expected to be their own, written with their own hand or typed on their own keyboard. For group work, work can be submitted by a single member but must include substantial contributions of all group members. Please contact the instructor to discuss instances of non-contributing group members.

Note regarding AI: Norms and practices related to the use of AI in academic settings are not well defined, and the capabilities of such systems are rapidly evolving. As such, the use of AI in this course will be allowed or disallowed on a case-by-case basis, at the discretion of the instructor, but in general we will treat AI assistance similarly to assistance from another classmate as described above—using it to get general suggestions is okay but using it to get specific answers is not. Using AI to generate a written report is especially not okay. Please contact me if you are considering using AI for a particular assignment.

Student Content

Participants in University of Illinois courses retain copyright of all assignments and posts they complete; however, all materials may be used for educational purposes within the given course. In group projects, only the portion of the work completed by a particular individual is copyrighted by that individual. The University of Illinois may request that students’ materials be shared with future courses, but such sharing will only be done with the students’ consent. The information that students submit during a course may, however, be used for the purposes of administrative data collection and research. No personal information is retained without the students’ consent.

Non-student Content

Everything on this site and within University of Illinois courses is copyrighted. The copyrights of all non-student work are owned by the University of Illinois Board of Trustees, except in approved cases where the original creator retains copyright of the material. Copyrights to external links are owned by or are the responsibility of those external sites. Students are free to view and print material from this site so long as

Student Behavior

Student Conduct

Students are expected to behave in accordance with the penal and civil statutes of all applicable local, state, and federal governments, with the rules and regulations of the Board of Regents, and with university regulations and administrative rules.

For more information about the student code and handbook, see the CITL course policies page.


In any social interaction, certain rules of etiquette are expected and contribute to more enjoyable and productive communication. The following are tips for interacting online via email or discussion board messages, adapted from guidelines originally compiled by Chuq Von Rospach and Gene Spafford (1995):


Daily Contact

Your daily contact should be in class or on Zoom, in office hours, or on CampusWire.

Course Questions

Questions pertaining to the course should be posted on CampusWire. You can get to this forum from the course home page. Posting questions here allows everyone to benefit from the answers. If you have a question, someone else is probably wondering the same thing. Anyone submitting a question via email will be directed to resubmit the question to the CampusWire. Also, participants should not hesitate to answer questions posed by peers if they know the answers and the instructor has not yet responded. This not only expedites the process but also encourages peer interaction and support.

Questions of a personal nature can be sent as a direct message on CampusWire, or if desired may be sent to the instructor’s email address. If you need to send an email, include a subject that identifies the course number and nature of your question.


If you have an emergency that will keep you from participating in the course, please notify your instructor on CampusWire or using email. Provide callback information in your message (if necessary). You should also notify your program director of any emergencies.

Sexual Misconduct Policy and Reporting

The University of Illinois is committed to combating sexual misconduct. Faculty and staff members are required to report any instances of sexual misconduct to the university’s Title IX and Disability Office. In turn, an individual with the Title IX and Disability Office will provide information about rights and options, including accommodations, support services, the campus disciplinary process, and law enforcement options.

A list of the designated university employees who, as counselors, confidential advisors, and medical professionals, do not have this reporting responsibility and can maintain confidentiality, can be found in the Confidential Resources section. Other information about resources and reporting is available at wecare.illinois.edu.

Student Wellness Resources

The University of Illinois strives to promote student success through the support of student psychological and emotional well-being. Please take advantage of the resources listed on the Student Affairs website.


Course calendar


Module Start Date Contact Hours
0. Introduction and motivating problems 8/26/2024 1.3
1. Linear algebra review and intro to the Julia Language 8/27/2024 4.0
2. Open reproducible science 9/5/2024 4.0
3. Singular value decomposition and principle component analysis 9/17/2024 2.7
4. Fourier and wavelet transforms 9/24/2024 5.3
5. Regression 10/8/2024 4.0
6. Machine learning 10/17/2024 4.0
7. Neural networks 10/29/2024 2.7
8. Convolutional neural networks 11/5/2024 2.7
9. Data-driven dynamical systems 11/12/2024 2.7
10. Fairness in machine learning 11/19/2024 2.7
-1. Fall break 11/26/2024 2.7
11. Final projects 12/3/2024 2.7


Title Assigned Deadline for 110% Credit Deadline for 100% Credit Deadline for 80% Credit
HW1: Linear algebra review and intro to the Julia Language 8/20/2024 Tue 8/27/2024, 12:00 CDT Fri 9/13/2024, 17:00 CDT Fri 9/27/2024, 17:00 CDT
HW2: Open reproducible science 8/29/2024 Thu 9/5/2024, 12:00 CDT Fri 9/20/2024, 17:00 CDT Fri 10/4/2024, 17:00 CDT
HW3: Singular value decomposition and principle component analysis 9/10/2024 Tue 9/17/2024, 12:00 CDT Fri 9/27/2024, 17:00 CDT Fri 10/11/2024, 17:00 CDT
HW4: Fourier and wavelet transforms 9/17/2024 Tue 9/24/2024, 12:00 CDT Fri 10/11/2024, 17:00 CDT Fri 10/25/2024, 17:00 CDT
HW5: Regression 10/1/2024 Tue 10/8/2024, 12:00 CDT Fri 10/25/2024, 17:00 CDT Fri 11/8/2024, 16:00 CST
HW6: Machine learning 10/10/2024 Thu 10/17/2024, 12:00 CDT Fri 11/1/2024, 17:00 CDT Fri 11/15/2024, 16:00 CST
HW7: Neural networks 10/22/2024 Tue 10/29/2024, 12:00 CDT Fri 11/8/2024, 17:00 CST Fri 11/22/2024, 17:00 CST
HW8: Convolutional neural networks 10/29/2024 Tue 11/5/2024, 12:00 CST Fri 11/15/2024, 17:00 CST Fri 11/29/2024, 17:00 CST
HW9: Data-driven dynamical systems 11/5/2024 Tue 11/12/2024, 12:00 CST Fri 11/22/2024, 17:00 CST Fri 12/6/2024, 17:00 CST

Project Deliverables

Title Assigned Due
1. Project selection and introduction 2024-08-26 12:00:00 -0500 CDT 2024-09-27 17:00:00 -0500 CDT
2. Exploratory analysis 2024-09-27 17:00:00 -0500 CDT 2024-10-18 17:00:00 -0500 CDT
3. Preliminary modeling 2024-10-18 17:00:00 -0500 CDT 2024-11-15 17:00:00 -0600 CST
4. Report rough draft 2024-11-15 17:00:00 -0600 CST 2024-11-22 17:00:00 -0600 CST
5. Final report and presentation 2024-11-22 17:00:00 -0600 CST 2024-12-06 17:00:00 -0600 CST



Module 0: Introduction and motivating problems

Module 0 Overview: In this module we will get to know each other and cover the format of the course, its contents, and expectations.

Module 0 Class sessions:

Module 1: Linear algebra review and intro to the Julia Language

Module 1 Overview: In this course, we will use two key tools: linear algebra and the Julia programming language. You should already be familiar with linear algebra, so we will only briefly review it here. You’re not expected to know anything about the Julia language before starting this class, but you are expected to have completed a basic computer programming class (similar to CS101) using some computing language.

Module 1 Learning Objectives: By the end of this module, you should be able to:

Module 1 Class sessions:

Module 2: Open reproducible science

Module 2 Overview: This module covers tools and methods for ensuring your work is correct, understandable, and reproducible.

Module 2 Learning Objectives: By the end of this module, you should be able to:

Module 2 Class sessions:

Module 3: Singular value decomposition and principle component analysis

Module 3 Overview: SVD and PCA fundamental algorithms for data processing and analysis. We will learn how they work and how they can be applied to gain insight from data.

Module 3 Learning Objectives: By the end of this module, you should be able to:

Module 3 Class sessions:

Module 4: Fourier and wavelet transforms

Module 4 Overview: Fourier and wavelet transforms are powerful methods for coordinate transformation, data compression, and feature engineering and are used in almost every field of science and engineering.

Module 4 Learning Objectives: By the end of this module, you should be able to:

Module 4 Class sessions:

Module 5: Regression

Module 5 Overview: In this module, we will learn how to use regression to predict the value of a dependent variable given a set of independent variables.

Module 5 Learning Objectives: By the end of this module, you should be able to:

Module 5 Class sessions:

Module 6: Machine learning

Module 6 Overview: In this module, we learn about two popular machine learning algorithms: k-means and decision trees.

Module 6 Learning Objectives: By the end of this module, you should be able to:

Module 6 Class sessions:

Module 7: Neural networks

Module 7 Overview: In this module, we will learn how to implement and use fully-connected neural networks.

Module 7 Learning Objectives: By the end of this module, you should be able to:

Module 7 Class sessions:

Module 8: Convolutional neural networks

Module 8 Overview: In this module, we will learn how to implement and use convolutional neural networks.

Module 8 Learning Objectives: By the end of this module, you should be able to:

Module 8 Class sessions:

Module 9: Data-driven dynamical systems

Module 9 Overview: In this module, we will apply the machine learning techniques we have learned so far to dynamical systems and the differential equations that describe them.

Module 9 Learning Objectives: By the end of this module, you should be able to:

Module 9 Class sessions:

Module 10: Fairness in machine learning

Module 10 Overview: Machine learning models can contain bias, which is especially important as these models become more integrated in to human society. We will learn how to detect and minimize this bias.

Module 10 Learning Objectives: By the end of this module, you should be able to:

Module 10 Class sessions:

Module -1: Fall break

Module -1 Class sessions:

Module 11: Final projects

Module 11 Overview: In this module we will present the results of our semester projects.

Module 11 Class sessions: