Appendix A — Software Setup ✏️
If you want to run the computational notebooks in this book, or apply a similar workflow, then these instructions are for you.
A.1 Quick start
This section provides step-by-step instructions to get your development environment set up and running.
A.1.1 Installation steps
- Install Visual Studio Code - your code editor
- There are other good IDEs out there, and you can absolutely use one.
- VS Code is a good and well-supported starting point
- Install Quarto - for creating documents with code
- For step 1, choose your operating system
- For step 2, choose VS Code as your tool
- Install Julia using JuliaUp - the programming language
- Follow the directions on the GitHub page based on your operating system
- Don’t worry about the Continuous Integration (CI) section or anything below it
- Install Julia 1.11 using
juliaup add 1.11
- Set this to be your default version using
juliaup default 1.11
- You should get a message that says something like
Configured the default Julia version to be '1.11'
- In VS Code: Install extensions from the Extensions marketplace
- Install the Julia extension (provides syntax highlighting, code completion, and integrated REPL)
- Install the Quarto extension (provides syntax highlighting and preview capabilities for
.qmd
files)
- Install GitHub Desktop - for version control
- This is optional if you prefer to use git through the command line or another app, but GitHub Desktop is a good default recommendation
A.1.2 Verification
After installation, you should be able to:
- Open VS Code and see the Julia and Quarto extensions listed
- Open a terminal and type
julia
to start the Julia REPL - Create a new Quarto document (
.qmd
file) in VS Code with syntax highlighting
A.2 Dig deeper
A.2.1 Julia
Julia is a fast, modern programming language designed for scientific computing. Its syntax closely mirrors mathematical notation, making it intuitive for researchers while delivering performance comparable to C and Fortran.
JuliaUp is the official Julia version manager. It simplifies installation, allows you to maintain multiple Julia versions simultaneously, and keeps your installation current with the latest releases. This is especially useful as the Julia ecosystem evolves rapidly.
See the Julia page for more.
A.2.2 Quarto
Quarto is a scientific publishing system that enables you to combine code, results, and narrative text in reproducible documents. Think of it as the next generation of R Markdown, but with multi-language support (Julia, Python, R, and more).
This textbook is written in Quarto. Unlike traditional notebooks, Quarto documents are plain text files that render to multiple output formats (HTML, PDF, Word, presentations) while maintaining computational reproducibility.
You can learn more at:
- Official Tutorial: Hello, Quarto - basic document creation
- Official Tutorial: Computations - integrating code
- Comprehensive Quarto documentation
A.2.2.1 Writing with Markdown and math
Quarto uses Markdown syntax with LaTeX math notation. Essential references:
- Markdown Cheatsheet - basic text formatting
- LaTeX Cheatsheet - mathematical notation
- Mathpix Snip - convert equation images to LaTeX code (free tier available)
- Detexify - draw symbols to find LaTeX commands
A.2.3 Visual Studio Code
Visual Studio Code is a free, open-source code editor developed by Microsoft. Its strength lies in its extensibility—thousands of extensions add language support, debugging capabilities, and productivity tools.
For our workflow, the Julia extension transforms VS Code into a full Julia development environment with syntax highlighting, intelligent code completion, integrated debugging, and a built-in REPL. The Quarto extension provides similar capabilities for computational documents, including live preview and cell execution.
You can learn more at the official tutorial.
A.2.4 Git and GitHub
Git is a distributed version control system that tracks changes in your code over time. GitHub is a cloud-based platform that hosts Git repositories and adds collaboration features like issue tracking, pull requests, and project management.
Version control is essential for reproducible research—it allows you to track changes, collaborate with others, recover from mistakes, and share your work publicly. This textbook itself is maintained on GitHub.
You can learn more at:
- Git and GitHub for Poets - beginner-friendly video series
- GitHub Hello World – official docs
- Version Control - comprehensive guide from MIT’s “Missing Semester”