Book can be downloaded here: https://gitlab.com/gersonjferreira/intro-comp-phys/-/tree/master/IntroBookJulia Contents Introduction Introduction to the Julia language Installing Julia (needs update) JuliaBox Juno IDE iJulia Trying Julia for the first time The command line interface Essential commands, auto-complete, and command history Using scripts Other interfaces Constants and variable types Assertion and Function Overloading Composite Types (struct) Tuples Arrays: vectors and matrices Indexing an array or matrix Concatenation Scope of a variable Control Flow: if, for, while and comprehensions Conditional evaluations: if Ternary operator ?: Numeric Comparisons For and While Loops Comprehensions Input and Output Other relevant topics Passing parameters by reference or by copy (not finished) Operator Precedence Questions from the students Problems Differential and Integral Calculus Interpolation / Discretization Numerical Integration - Quadratures Polynomial Interpolations Adaptive and multi-dimensional integration Monte Carlo integration Numerical Derivatives Finite differences and Taylor series Matrix Representation Derivatives via convolution with a kernel Other methods, Julia commands and packages for derivatives Problems Ordinary Differential Equations Initial value problem: time-evolution The Euler method Runge-Kutta Methods Stiff equations Julia's ODE package Boundary-value problems Boundary conditions: Dirichlet and Neumann The Sturm-Liouville problems The Wronskian method First step: find two linearly independent solutions of the homogeneous equation Second step: find the particular solution of the inhomogeneous equation Third step: impose the physical boundary conditions Example: the Poisson equation via the Wronskian method Schroedinger equations: transmission across a barrier Non-linear differential equations The shooting method The eigenvalue problem Oscillations on a string Electron in a box Method of finite differences Problems Fourier Series and Transforms General properties of the Fourier transform Numerical implementations Discrete Fourier Transform (DFT) Fast Fourier Transform (FFT) Julia's native FFT Applications of the FFT Spectral analysis and frequency filters Noise and frequency filters Solving ordinary and partial differential equations Diffusion equation Quantum operators in k-space, the split-step method Problems Statistics (TO DO) Random numbers Random walk and diffusion The Monte Carlo method Partial Differential Equations (TO DO) Separation of variables Discretization in multiple dimensions Iterative methods, relaxation Fourier transform (see §4.3.2) Plotting (not finished) PyPlot Installing PyPlot Using PyPlot Most useful features and examples Calling non-ported functions from Matplotlib Latex Subplot Labels Legends Other plot elements Saving into files (PNG, PDF, SVG, EPS, ...) Animations Other topics (TO DO) Linear algebra Root finding Linear systems Least squares Bibliography