Uploaded December 2025 | Updated September 2026, 2 weeks ago
Julia in Academia: Textbooks, Stanford Courses, and the Future by Robert Moss
PreTalx: pretalx.com/juliacon-2025/talk/YT7AVS
Julia is no stranger to academia—seeing as it grew out of MIT and was initially adopted by the scientific community. In this talk, we discuss how we have been using Julia for both writing textbooks and for teaching graduate-level courses in computer science and aeronautics/astronautics engineering at Stanford University. Based on our experience as educators, we will discuss the good and not-so-good cases for Julia, and the potential future roles for Julia in academia.
In the first part of the talk, we will discuss why we chose Julia as the algorithm description language in three MIT Press textbooks: [_Algorithms for Optimization_](algorithmsbook.com/optimization/) (2019), [_Algorithms for Decision Making_](algorithmsbook.com/decisionmaking/) (2022), and [_Algorithms for Validation_](algorithmsbook.com/validation/) (2025). Not only do we present the algorithms in Julia, but we generate the figures and examples using Julia's `pythontex` integration. This allows us to present concise algorithms to the reader and display figures and examples _using the exact algorithms within the text_. The textbooks use a custom Tufte-style LaTeX template that we've open sourced ([sisl/tufte_algorithms_book](github.com/sisl/tufte_algorithms_book)). We will also highlight the features of Julia that enable concise algorithms in print, including multiple dispatch, auto-differentiation, and full Unicode support. Along with Julia-specific features, we will showcase packages in the ecosystem that seamlessly integrate into the algorithms, including `LazySets`, `IntervalArithmetic`, `JuMP`, and `Distributions`.
The second part of the talk will focus on how we use Julia in both our lectures and assignments at Stanford. A new course we are teaching at Stanford titled [_Validation of Safety-Critical Systems_](https://aa228v.stanford.edu) follows our validation textbook and heavily uses Julia and `Pluto.jl` in lecture materials and course assignments. Through light-weight interactive Pluto notebooks, we demonstrate complicated topics to students during lecture which also allows them to explore the topics on their own time after class. Notably, we also use Pluto for four programming assignments. We will discuss why we ultimately chose to require Julia and use Pluto, and the framework we implemented to obfuscate hidden code from the students, to test their work locally, and integrate into Gradescope for auto-grading and friendly leaderboard competitions.
Finally, we will talk about the future of Julia in academia—from teaching, to assignments, to textbooks, and research papers. We will showcase recent development of a prototype package we use for lecture material, `PlutoPapers.jl`, and the potential for interactive research papers written entirely in Julia, Markdown, and LaTeX ([mossr/PlutoPapers.jl](https://github.com/mossr/PlutoPapers.jl)).
Julia in Academia: Textbooks, Stanford Courses, and the Future by Robert Moss
PreTalx: pretalx.com/juliacon-2025/talk/YT7AVS
Julia is no stranger to academia—seeing as it grew out of MIT and was initially adopted by the scientific community. In this talk, we discuss how we have been using Julia for both writing textbooks and for teaching graduate-level courses in computer science and aeronautics/astronautics engineering at Stanford University. Based on our experience as educators, we will discuss the good and not-so-good cases for Julia, and the potential future roles for Julia in academia.
In the first part of the talk, we will discuss why we chose Julia as the algorithm description language in three MIT Press textbooks: [_Algorithms for Optimization_](algorithmsbook.com/optimization/) (2019), [_Algorithms for Decision Making_](algorithmsbook.com/decisionmaking/) (2022), and [_Algorithms for Validation_](algorithmsbook.com/validation/) (2025). Not only do we present the algorithms in Julia, but we generate the figures and examples using Julia's `pythontex` integration. This allows us to present concise algorithms to the reader and display figures and examples _using the exact algorithms within the text_. The textbooks use a custom Tufte-style LaTeX template that we've open sourced ([sisl/tufte_algorithms_book](github.com/sisl/tufte_algorithms_book)). We will also highlight the features of Julia that enable concise algorithms in print, including multiple dispatch, auto-differentiation, and full Unicode support. Along with Julia-specific features, we will showcase packages in the ecosystem that seamlessly integrate into the algorithms, including `LazySets`, `IntervalArithmetic`, `JuMP`, and `Distributions`.
The second part of the talk will focus on how we use Julia in both our lectures and assignments at Stanford. A new course we are teaching at Stanford titled [_Validation of Safety-Critical Systems_](https://aa228v.stanford.edu) follows our validation textbook and heavily uses Julia and `Pluto.jl` in lecture materials and course assignments. Through light-weight interactive Pluto notebooks, we demonstrate complicated topics to students during lecture which also allows them to explore the topics on their own time after class. Notably, we also use Pluto for four programming assignments. We will discuss why we ultimately chose to require Julia and use Pluto, and the framework we implemented to obfuscate hidden code from the students, to test their work locally, and integrate into Gradescope for auto-grading and friendly leaderboard competitions.
Finally, we will talk about the future of Julia in academia—from teaching, to assignments, to textbooks, and research papers. We will showcase recent development of a prototype package we use for lecture material, `PlutoPapers.jl`, and the potential for interactive research papers written entirely in Julia, Markdown, and LaTeX ([mossr/PlutoPapers.jl](https://github.com/mossr/PlutoPapers.jl)).








 for robotics, including a work-in-progress library for geometric Kalman filters, focusing on affine connections.
* Viability of [Manopt.jl](https://github.com/JuliaManifolds/Manopt.jl) as a general-purpose optimization framework. Highlights include comprehensive solver availability, ability to work with arbitrarily structured decision variables and performance.
* Ongoing development of statistical tools on manifolds: both methods that work with manifold-valued data as well as methods that exploit manifold structure implicit in the problem, with examples such as robust principal component analysis. Rapid prototyping of advanced optimization-based models.
* Perspectives of new developments: stratification as a tool for mixing continuous and discrete data, manifolds with corners for more expressive constraints.
The talk only assumes basic knowledge of linear algebra, multivariate calculus and ordinary differential equations. Manifolds in numerical computations with JuliaManifolds | Baran | JuliaCon Global 2025](https://i.ytimg.com/vi/ybbhy8nnlEA/mqdefault.jpg)

![DBS Modeling with Neuroblox.jl | Abrevaya | JuliaCon Global 2025
DBS Modeling with Neuroblox.jl by Germán Abrevaya
PreTalx: https://pretalx.com/juliacon-2025/talk/S3ET3L/
Deep Brain Stimulation (DBS) is a neurosurgical procedure involving the implantation of a brain pacemaker that delivers electrical impulses to specific brain regions. This therapeutic approach has become particularly important in treating Parkinsons disease (PD), which affects around 1% of people over 60. In PD patients, DBS electrodes target key structures within the basal ganglia - primarily the subthalamic nucleus (STN) or Globus pallidus internus (GPi) - to help restore normal motor function[1,2].
Despite its clinical success, DBS therapy faces several challenges. The stimulation protocols used are largely _ad hoc_, developed decades ago to accommodate hardware limitations rather than being based on underlying neurobiological mechanisms. While effective at treating motor symptoms, patients can experience adverse effects due to factors like electrode placement and suboptimal programming parameters[3,4]. Computational modeling offers a powerful approach to better understand these challenges and optimize treatment parameters.
We explore [Neuroblox.jl](https://github.com/Neuroblox/Neuroblox.jl)s capabilities as a computational platform for DBS modeling. Our implementation incorporates detailed biophysical models of the basal ganglia circuit, with particular focus on STN-GPe network dynamics based on recently proposed models[4]. Additionally, we have developed a flexible DBS stimulation module that allows testing various stimulation protocols, enabling investigation of phenomena like Evoked Resonant Neural Activity (ERNA)[5,6].
This lightning talk will showcase how [Neuroblox.jl](https://github.com/Neuroblox/Neuroblox.jl), leveraging both its computational efficiency and intuitive approach to complex model construction, can serve as a valuable tool for investigating neural stimulation mechanisms and advancing our understanding of neuromodulation therapies.
##### References:
[1] McGregor MM, Nelson AB. Circuit Mechanisms of Parkinsons Disease. Neuron. 2019;101(6):1042-56.
[2] Herrington TM, Cheng JJ, Eskandar EN. Mechanisms of deep brain stimulation. J. Neurophysiol. 2016;115(1):19-38.
[3] Buhmann C, et al. Adverse events in deep brain stimulation: A retrospective long-term analysis of neurological, psychiatric and other occurrences. PLoS One. 2017;12(7):e0178984.
[4] Adam EM, et al. Deep brain stimulation in the subthalamic nucleus for Parkinsons disease can restore dynamics of striatal networks. Proc Natl Acad Sci U S A. 2022;119(19):e2120808119.
[5] Sinclair NC, et al. Deep brain stimulation for Parkinsons disease modulates high-frequency evoked and spontaneous neural activity. Neurobiol Dis. 2019;130:104522.
[6] Thevathasan W, et al. Tailoring Subthalamic Nucleus Deep Brain Stimulation for Parkinsons Disease Using Evoked Resonant Neural Activity. Front Hum Neurosci. 2020;14:71. DBS Modeling with Neuroblox.jl | Abrevaya | JuliaCon Global 2025](https://i.ytimg.com/vi/yuW5twXrS_w/mqdefault.jpg)