• Prologue
    • Why Python?
    • Acknowledgements
  • Lecture 1 - Getting Started
    • Overview, Objectives, and Key Terms
    • Overview of Python
    • Python Distributions
    • Accessing Python
    • Basic Types
    • On Naming Variables
    • Further Reading
  • Lecture 2 - Basic Operators and Built-In Functions
    • Overview, Objectives, and Key Terms
    • Python Operators
    • Exploring Built-In Functions
    • A First Program
    • Further Reading
  • Lecture 3 - Basic Data Processing with NumPy and Matplotlib
    • Overview, Objectives, and Key Terms
    • NumPy and One-Dimensional Arrays
    • Diving into pyplot
    • Data Input and Output via NumPy
    • Further Reading
  • Lecture 4 - More on NumPy Arrays: Slicing and `np.linalg`
    • Overview, Objectives, and Key Terms
    • Making Two-Dimensional Arrays
    • Visualizing 2-D Arrays
    • Slicing
    • Matrix-Vector and Matrix-Matrix Operations
    • Further Reading
  • Lecture 5 - Algorithms, Flowcharts, and Pseudocode
    • Overview, Objectives, and Key Terms
    • Algorithms
    • Sequence by Example: Computing Grades
    • Selection
    • Iteration
    • Practice Problems
    • Further Reading
  • Lecture 7 - Conditional Statements and the Structure of Python Code
    • Overview, Objectives, and Key Terms
    • The Simplest if
    • The else Clause
    • The elif Clause
    • Other Tidbits
    • Further Reading
  • Lecture 8 - More on Conditionals
    • Overview, Objectives, and Key Terms
    • Motivating Nested Conditionals - Life Insurance
    • But Do We Need Them?
    • Debugging
    • Further Reading
  • Lecture 9 - Loops in Python
    • Overview, Objectives, and Key Terms
    • A Motivating Problem
    • The break Clause
    • Numerical Convergence
    • Further Reading
  • Lecture 10 - More on Loops
    • Overview, Objectives, and Key Terms
    • The for Loop
    • A Pythonic Quirk
    • Nested for loops
    • One Last Tidbit: continue
    • Further Reading
  • Lecture 11 - Pythonic Containers
    • Overview, Objectives, and Key Terms
    • What is a sequential type?
    • The list Type
    • Mutability
    • The tuple Type
    • The dict Type
    • Further Reading
  • Lecture 12 - Processing Text Data
    • Overview, Objectives, and Key Terms
    • Reading Text Files
    • Parsing Strings
    • Putting It All Together: Processing data.txt
    • Writing to File
    • Further Reading
  • Lecture 13 - Basics of Functions
    • Overview, Objectives, and Key Terms
    • What is a Function?
    • Functions with Multiple Return Values
    • Functions with Multiple Arguments
    • Function Documentation
    • Functions and Flowcharts
    • Further Reading
  • Lecture 14 - More on Functions
    • Overview, Objectives, and Key Terms
    • *args and **kwargs
    • Anonymous Functions
    • Recursive Functions
    • Further Reading
  • Lecture 15 - Recursive Functions
    • Overview, Objectives, and Key Terms
  • Lecture 16 - Algorithm Complexity and Numerical Experiments
    • Overview, Objectives, and Key Terms
  • Lecture 17 - Searching
    • Overview, Objectives, and Key Terms
    • The Basic, Linear Search
    • A Bit About Order
    • Binary Search
    • A Comment on Built-In Functions
    • Further Reading
  • Lecture 18 - Sorting
    • Overview, Objectives, and Key Terms
    • Sorting is Hard Work
    • Quantifying that Hard Work
    • Better Sorting for Bigger Data
    • Built-in Sorting
    • Further Reading
  • Lecture 19 - Numerical Differentiation
    • Overview, Objectives, and Key Terms
    • If, in the beginning, \(\Delta\) didn’t go to 0...
    • Back to Order
    • Approximating the Second Derivative
    • Finite-Difference Approximations of Arbitrary Order
    • Further Reading
  • Lecture 20 - Numerical Integration
    • Overview, Objectives, and Key Terms
    • Riemann Sums in Practice
    • Beyond the One-Side Sums
    • What About Accuracy?
    • Using scipy.integrate
    • Further Reading
  • Lecture 21 - Linear Systems
    • Overview, Objectives, and Key Terms
    • What Is A Linear System, and When Can It Be Solved?
    • Solving Linear Systems by Elimination
    • Elimination via NumPy and SciPy
    • Further Reading
  • Lecture 22 - Root Finding
    • Overview, Objectives, and Key Terms
    • Nonlinear Equations
    • Determining Roots Numerically
    • Solving Systems of Nonlinear Equations Numerically
    • Further Reading
  • Lecture 23 - Optimization
    • Overview, Objectives, and Key Terms
    • Some Nomenclature
    • Finding Extrema
    • The Connection To Nonlinear Functions
    • Solving Unconstrained Optimization Problems
    • Solving Constrained Optimization Problems
    • Further Reading
  • Lecture 24 - Modeling Data with Least Squares Fitting
    • Overview, Objectives, and Key Terms
    • Noisy Data and \(y = at + b\)
    • What “Best” Means
    • Beyond Linear Models
    • Beyond Polynomial Models
    • Further Reading
  • Lecture 25 - Modeling Data with Interpolation
    • Overview, Objectives, and Key Terms
    • Simple Linear Interpolation
    • Interpolation In Two Dimensions
    • Higher-Order Interpolation
    • Further Reading
  • Lecture 26 - Euler’s Method for IVPs
    • Overview, Objectives, and Key Terms
    • Differential Equations
    • Whence Comes \(y'+py=q\)?
    • The General Problem \(y' = f(y(t), t)\)
    • There Once was a Man Named Euler
    • Chopping Up Time
    • A Look at Errors and Stability (Optional)
    • Further Reading
  • Lecture 27 - Systems of IVPs
    • Overview, Objectives, and Key Terms
    • A Coupled System and Its Numerical Solution
    • When the Equations are “Stiff”
    • SciPy’s odeint
    • Further Reading
  • Lecture 28 - Numerical Solution of BVPs
    • Overview, Objectives, and Key Terms
    • Chopping Up the BVP
    • A Simple Example
    • Eigenvalue Problems
    • Comment on FDM and Alternatives
    • Further Reading
  • Appendix A - Modules and Packages
    • Overview, Objectives, and Key Terms
    • Creating Modules
    • Running Modules as Scripts
    • Using Modules on the Moon
    • Packages
    • Further Reading
  • Appendix B - Unit Tests and Defensive Programming
    • Overview, Objectives, and Key Terms
    • Be on the Defensive
    • Testing, 1-2-3
    • Further Reading

Related Topics

  • Documentation overview
    • Next: Prologue

This Page

  • Show Source

Quick search

©2018, Jeremy Roberts. | Powered by Sphinx 1.4 & Alabaster 0.7.10 | Page source