Teaching · Adoption

Where CMNA fits in a course

CMNA is strongest when we use it for the thing it was built to do: make numerical methods concrete through explanation, working R code, examples, and failure cases.

The book follows the ordinary introductory sequence in numerical analysis: numerical error, linear algebra, interpolation, differentiation and integration, root finding and optimization, and differential equations. That makes it easy to line up with a conventional course. The unusual part is the emphasis. We spend less time proving a method and more time exposing what the method actually does when we implement it.

That distinction matters when choosing a role for the book. In a course built around rigorous convergence proofs, CMNA makes a good computational companion. In a computational methods or scientific computing course, it can carry much more of the weekly structure. I would not pretend those are the same course merely because both eventually call a function namednewton().

Possible roles

The same book can do different jobs.

Computational companion

Pair CMNA with a more analytical numerical-analysis text. Use the other text for theorem, proof, and formal convergence analysis; use CMNA when students need to see the algorithm turn into working code.

Computational spine

In a scientific-computing or computational-methods course, let the book establish the sequence and implementation work, then add theoretical depth where the course needs it.

Methods reference

In statistics, data science, engineering, or another applied course, use individual chapters when a numerical method appears underneath a more specialized problem.

Prerequisites

Students should be comfortable with differential and integral calculus, basic linear algebra, and ordinary differential equations. The code is written in R, so some familiarity with vectors, matrices, functions, loops, and data frames is helpful. They do not need to be software engineers. That would rather defeat the point.

Software

A conventional course can install R and the cmna package and work locally. The website removes some of that setup for demonstrations and short exercises: the laboratories use webR to execute real R in the browser, and the R Workbench provides a general session with selected CMNA functions already loaded.

For substantial assignments I would still have students use a normal R installation. A browser laboratory is an excellent place to inspect an algorithm. It is a less excellent place to accumulate an entire semester of scripts, data, and increasingly creative filenames.

Sample syllabus language

A starting point, not a contract.

Course approach

This course uses numerical analysis as a computational subject. We will study the mathematical problem a method is intended to solve, develop the numerical idea far enough to understand its assumptions, inspect a working implementation in R, and test the method on examples chosen both to succeed and to fail. Correct output is not sufficient when the method is used under conditions that make the output unreliable.

Software

Students will use R and the CMNA companion software for programming assignments. Browser-based CMNA laboratories may be used for demonstrations, preliminary experiments, and short exercises. Work submitted for grading should be reproducible from the R source, data, and parameters supplied by the student.

What counts as an explanation

When an assignment asks why a method succeeds or fails, a screenshot is evidence, not an explanation. Students should identify the relevant assumption, parameter, error source, or convergence condition and connect it to the observed result.

Assessment

Grade the thinking the computer cannot supply.

Numerical output is easy to check and therefore easy to overweight. I would give substantial credit for the prediction, the choice of method, the explanation of failure, and the interpretation of error. A student who gets the right number from an inappropriate method has not necessarily solved the problem we meant to assign.

The Break It exercises are designed around that idea. They are particularly useful for short reports, lab writeups, or oral discussion because the interesting part is the diagnosis rather than a long derivation.