Programming for Mathematical Applications#
By Per-Olof Persson, Michael Franco, and Robert Sweeney Blanco#
Description#
This course is an introduction to computer programming, focusing on how to solve mathematical and scientific problems. We will first cover fundamental programming concepts like variables, statements, loops, branches, functions, special data types, and composite data types and objects.
You’ll also learn to use key mathematical and scientific tools, including arrays, floating-point numbers, plotting libraries, and symbolic algebra packages. These concepts will be applied to a wide range of applications, such as number theory, combinatorics, statistical analysis, efficient algorithms, computational geometry, Fourier analysis, and optimization.
The course is primarily taught in the Julia programming language, though we will occasionally compare it with other languages.
Additional Readings#
[Julia Docs] The Official Julia Documentation. A comprehensive resource available for free online.
[Think Julia] Think Julia: How to Think Like a Computer Scientist by Ben Lauwens and Allen Downey. An excellent, free online book that introduces programming fundamentals from the ground up.
Computing Resources#
Cloud Environment (Recommended) Thanks to generous support from the Division of Data Sciences, you have access to a cloud-based Julia environment through the campus Datahub. This platform runs Jupyter notebooks directly in your browser. Simply sign in with your CalNet ID to get started.
Using Jupyter Notebooks To help you get comfortable with the Jupyter environment, here are a few useful resources:
Getting Started: The official Jupyter Notebook documentation.
Productivity: A handy keyboard shortcut cheat sheet.
Formatting: A Markdown cheat sheet for styling text and a guide for writing mathematics using LaTeX
Local Installation (Optional) If you prefer to work on your own machine, you can install Julia locally:
Download and install the latest stable version from julialang.org.
For a better development experience, we recommend installing VS Code along with the official Julia extension.
To run notebooks locally, you will also need to install the
IJulia
package and other packages used in the course.