Skip to main content

BYU-Hydro 201: Introduction to Python and Python Environments

This module introduces computer programming languages, provides resources to get comfortable using python, and shows how to manage code using packages and virtual environments.

About This Course

Working on the leading edges of a field, including civil engineering, often means that things you work on have never been done before or are relatively new. Consequently, you usually will not find a commercially available software or website to crunch numbers and process models in the way you need. You’re going to need at least a functional knowledge of computer science and programming so that you can create tools, create and share data, and be able to communicate with other researchers.

Course Author

Riley Hales

Target Audience

Engineers that need to be functional computer programmers (e.g. for data science and research), not technical experts.

Tools Needed

  1. A computer that you have an admin account on, can install software on, and has 1 gigabyte of hard drive space free.
  2. A web browser and access to the internet.
  3. Access to the terminal or command prompt.

Suggested Time Spent

10-20 hours, depending on prior experience with programming and computer science.


  1. Basic understanding of the components of the computer: CPU, long term memory (e.g. the hard drive), short term memory (e.g. RAM), motherboard (a big circuit board that connects all the pieces and makes them work together).
  2. Basic understanding of the terminal (or command prompt). You will only need to be comfortable with basic commands so you can learn a few important commands for the conda and pip tools.

Frequently Asked Questions

What web browser should I use?

The Open edX platform works best with current versions of Chrome, Edge, Firefox, Internet Explorer, or Safari.

See our list of supported browsers for the most up-to-date information.