MATH 210 at the University of British Columbia is an introduction to scientific computing in Python. We will start with basic Python programming including datatypes, logical statements, loops and functions and then focus on the scientific computing packages NumPy, SciPy, matplotlib and pandas. We will use these packages to solve problems in calculus, linear algebra, differential equations, statistics and data visualization.
- Week 1
- Introduction to Jupyter notebooks, Markdown and LaTeX -- January 6, 2017
- More LaTeX -- January 9, 2017
- Basic Python: datatypes
int
andfloat
-- January 11, 2017 - Basic Python: integers, floats, lists, tuples; list comprehensions; builtin functions -- January 13, 2017
- Week 2
- More Python dataypes, logic and if statements -- January 16, 2017
- Functions -- January 18, 2017
- Functions and for loops -- January 20, 2017
- Week 3
- For loops and while loops -- January 23, 2017
- More example using for loops -- January 25, 2017
- Python modules and packages; Scientific computing packages in Python -- January 27, 2017
- Week 4
- Introduction to NumPy and matplotlib -- January 30, 2017
- NumPy arrays, mathematical functions and plotting with matplotlib -- February 1, 2017
- More plotting examples; NumPy arrays: methods, attributes, indexing and slicing -- February 3, 2017
- Week 5
pyplot
commands, subplots, and scatter and bar plots -- February 6, 2017- Plotting in 3D with mplot3d -- February 8, 2017
- More 3D plotting; miscellaneous topics: functions with keyword arguments, default values, and more list comprehensions -- February 10, 2017
- Week 6
- Review: number theory, sequences, series, solving equations -- February 15, 2017
- Reading week
- Week 7
- Definite integrals, Riemann sums and the trapezoid rule -- February 27, 2017
- Trapezoid rule, Simpson's rule and QUADPACK -- March 1, 2017
- More definite integrals; Numerical differentiation -- March 3, 2017
- Week 8
- More numerical differentiation; Linear algebra with SciPy, matrix multiplication and solving linear equations -- March 6, 2017
- More linear algebra: determinant, transpose, trace, eigenvectors and eigenvalues -- March 8, 2017
- More linear algebra: matrix powers and projections -- March 10, 2017
- Week 9
- Applications: Least squares linear regression -- March 13, 2017
- More about NumPy arrays; LU factorization -- March 15, 2017
- Numerical solutions of first order ODEs in SciPy -- March 17, 2017
- Week 10
- Solving first and second order ODEs with SciPy -- March 20, 2017
- More solving linear/nonlinear systems of ODEs with SciPy -- March 22, 2017
- Planetary orbits -- March 24, 2017
- Week 11
- Introduction to pandas; Canada population data -- March 27, 2017
- Exploring the World Bank Databank -- March 29, 2017
- Wind speed and temperature at the Vancouver airport; Vancouver crime data -- March 31, 2017
- Week 12
- Building .csv files from text; NBA Stats via basketball-reference.com -- April 3, 2017
- Federal Electoral District Tax Statistics -- April 5, 2017