/HKU-CIVL3140-AI-in-Civil-Engineering

This is the code for a HKU course "Artificial Intelligence in Civil Engineering"

Primary LanguageJupyter Notebook

HKU-CIVL-AI-in-Civil-Engineering

Welcome to the "AI in Civil Engineering" course Python tutorial and exercises repository! This repository serves as a comprehensive resource for our course, offering a series of tutorials and exercises to help you master key concepts and tools for applying artificial intelligence techniques in the field of civil engineering.

Course Description

This course provides an introduction to the concepts and applications of artificial intelligence (AI) in civil engineering. The course covers the fundamentals of data science, machine learning, and deep learning methods, with a focus on their application to civil engineering problems. The course also provides an introduction to Python programming language, which is a popular tool for data analysis, modeling, and simulation. In this course, students will learn about the different AI techniques, algorithms, and models that can be used in various aspects of civil engineering, such as transportation, smart and sustainable city, asset management and geoinformatics.

Course Plans

This course will majorly cover the following contents:

  • Introduction
    • Fundamentals of artificial intelligence
    • Various open data resources
  • Python Programming Skills
    • Basic Python syntax
    • Flow control statements
    • Function and class
  • Regression Theory and Applications
    • Simple and multiple linear regression
    • Regularization
    • Applications in engineering problems
  • Classification Theory and Applications
    • Linear discriminative analysis
    • Logistic regression
    • Support vector machine
    • Decision trees
    • Ensemble learning approaches
    • Applications in engineering problems
  • Deep Learning
    • Artificial neural networks
    • Convolutional neural networks
    • Graph neural networks
    • Recurrent neural networks
    • Applications in engineering problems
  • Unsupervised Learning
    • K-means clustering
    • Expectation maximization
    • Principal components analysis
    • Applications in engineering problems
  • Reinforcement Learning (optional)
    • Markov decision process
    • Model-free prediction and control
    • Applications in engineering problems

Install the required third-party libraries

After installing anaconda, you can prepare some required third-party libraries before starting the tutorials.

Downloading Third-Party Libraries: Windows Computers:

  1. Open the "Start" menu, search for and open "Command Prompt."
  2. In the Command Prompt window, enter the following command to install the required third-party libraries:
pip install scikit-learn torch tensorflow

Downloading Third-Party Libraries: Mac Computers:

  1. Open "Spotlight Search" (Shortcut: Command + Space), search for "Terminal," and then open the Terminal application.
  2. In the Terminal window, enter the following command to install the required third-party libraries:
pip install scikit-learn torch tensorflow torchvision torchinfo

In both cases, the installation command is the same. Make sure that Python is installed on your computer, and you can use the pip command in the terminal. Please note that if you're already using a virtual environment, ensure that you're running the command within the desired virtual environment. Additionally, if you encounter any issues during the installation process, you may need to check your network connection, Python environment, and pip configuration.

  • If you don't choose to start Python with anaconda, you may need to run the following commands in your terminal to install some important packages.
pip install numpy pandas matplotlib

Usage of this repository

In this GitHub repository, we have prepared Python code for both tutorials and exercises for each topic, along with relevant datasets. The tutorials will be briefly introduced by teaching assistants and are intended for self-study by students to enhance their understanding of Python and artificial intelligence-related techniques. After becoming familiar with the tutorials, each section is accompanied by exercises designed for students to practice. Students are required to write code and generate results based on the exercise requirements.