Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Many numerical methods explored here are mature, having benefited from decades of development. However, their efficient and effective use involves subtle nuances. The primary goal of this text is to develop a solid conceptual understanding of these methods.

Upon completion, students should be able to:

Policy on Generative AI

It is the opinion of the author that GenAI’s capability to deliver fast, precise answers mimics having a bright classmate or access to a previous year’s solutions.Beyond the obvious fact that neither are infalible, short-cutting the learning process by copying the answers is fraudulent and not conducive to development of a conceptual understanding.

However, functioning effectively in an engineering team is a key professional skill. In this context, GenAI (or to a lesser extent pacakge tools, online discussion boards, other students)can act as a capable team member that accelerates laborious tasks. This allows you, as the lead engineer, to focus on interpreting solutions. When used responsibly, these tools serve as a “cognitive elevator,” accelerating learning past the foundational “Remember” and “Understand” stages of Bloom’s Taxonomy directly into “Analyze,” “Evaluate,” and “Create.” This frees up cognitive load, allowing you to focus on mastering core concepts and practical implementations.

Design Elements

Open-Source, Accessible Tools

This text is designed to be conveniently accessible through a modern web browser, introducing tools you will likely always have access to:

Experiential Learning and Interactivity

Studies consistently show the benefits of experiential learning. This text leverages live, in-browser execution to facilitate this:

Live Execution Instructions

Executing code requires a computing environment known as a kernel. Your browser acts as the front-end, while all computations occur in the backend kernel.

In-textbook execution

On the top-right hand side of the page, you should see a ‘power button’ alt text. Clicking it will launch a jupyter kernel and enable execution. The top of the page will now have a bar that performs:

Each cell in the text will be endowed with two button:

Note that the kernel is shared between all the cells. If you assign a variable in one, it will persist to the others. Similarly, any import statements must be run before the cells that use them.

This feature is under development by the generous contribution of the open-source community. It may not always work as expected.

Google Colab

Google Colab is a free, cloud based jupyter notebook environment. Clicking on the badge in the upper left corner of the page will open the notebook in colab. You will need to be logged into your google account to use it. It has Gemini built in a full set of scientific tools.

The notebooks are designed to be presented in the Colab ‘slideshow’ mode.

As a commercial product Google Colab is typically more robust than the in-browser execution, however it should be noted that their normal terms of use (including privacy) apply to colab and Gemini usage.