# Self Study Material

Disclaimer: These materials were found in 2014. They may have been moved/removed since then. Please look for similar open courses online:

## Simulation and Modelling

### Starter Material

Modeling and Simulation, an introduction by Alfons Hoekstra.

### Further Material

An excellent book at the bachelors level is “Introduction to Computational Science: Modeling and Simulation for the Sciences” by Angela B. Shiflet.

Population dynamics as an example of modelling and simulation By A. Hoekstra and S. Kowalczyk.

## Calculus

### Starter Material: Calculus: Single Variable

Link: https://www.coursera.org/course/calcsing offered by University of Pennsylvania

Objective: This brisk course covers the core ideas of single-variable Calculus with emphases on conceptual understanding and applications. The course is ideal for students beginning in the engineering, physical, and social sciences.

Required knowledge: Students are expected to have prior exposure to Calculus at the high-school (e.g., AP Calculus AB) level.

Literature: R. Ghrist , FLCT: the Funny Little Calculus Text

### Further Material: Calculus One

Link: https://www.coursera.org/learn/calculus1/outline offered by The Ohio State University

Objective: This course is a first and friendly introduction to calculus, suitable for someone who has never seen the subject before, or for someone who has seen some calculus but wants to review the concepts and practice applying those concepts to solve problems.

Required knowledge: The student should have seen algebra and trigonometry at the high school level.

Literature: The Mooculus textbook https://mooculus.osu.edu/

### Further Material: Calculus Two: Sequences and Series

Link: https://www.coursera.org/course/sequence offered by The Ohio State University

Objective: This course is a first and friendly introduction to sequences, infinite series, convergence tests, and Taylor series. It is suitable for someone who has seen just a bit of calculus before.

Required knowledge: Some previous exposure to calculus will be helpful; limits, derivatives, and integrals will all appear in this course.

Literature: There are free calculus texts available, for example, http://www.whitman.edu/mathematics/calculus/

## Statistics

### Starter Material: Introduction to Probability and Statistics

Link: http://ocw.mit.edu/courses/mathematics/18-05-introduction-to-probability-and-statistics-spring-2005/ offered by MIT opencourseware

Objective: This course provides an elementary introduction to probability and statistics with applications. Topics include: basic probability models; combinatorics; random variables; discrete and continuous probability distributions; statistical estimation and testing; confidence intervals; and an introduction to linear regression.

Required knowledge: Calculus

Literature: DeGroot, Morris H., and Mark J. Schervish. Probability and Statistics. 3rd ed. Boston, MA: Addison-Wesley, 2002. ISBN: 0201524880.
Only offered as independent study

### Further Material: Statistics: Making Sense of Data

Link: https://www.coursera.org/course/introstats offered by University of Toronto

Objective: This course is an introduction to the key ideas and principles of the collection, display, and analysis of data to guide you in making valid and appropriate conclusions about the world.

Required knowledge: —

Literature: —

### Further Material: Statistics: Statistics One

Link: https://www.coursera.org/course/stats1 offered by University of Princeton

Objective: Statistics One is a comprehensive yet friendly introduction to statistics.

Literature: There are no suggested reading requirements for this course.

## Discrete Mathematics

### Starter Material

http://www.distributed-systems.net/index.php?id=graph-theory-and-complex-networks

### Further Material: Undergraduate Seminar in Discrete Mathematics

Objective: This course is a student-presented seminar in combinatorics, graph theory, and discrete mathematics in general. Instruction and practice in written and oral communication is emphasized, with participants reading and presenting papers from recent mathematics literature and writing a final paper in a related topic.

Required knowledge: Principles of Applied Mathematics (18.310 or 18.310C), Linear Algebra (18.700)

Literature:
Only offered as independent study

### Also look at

One of the classic challenges in Computer Science is the solution of the “TSP” or travelling salesman problem.

## Linear Algebra

### Starter Material: Linear Algebra – Foundations to Frontiers

Objective: In this course, you will learn all the standard topics that are taught in typical undergraduate linear algebra courses all over the world, but using our unique method. You will study Vector and Matrix Operations, Linear Transformations, Solving Systems of Equations, Vector Spaces, Linear Least-Squares, and Eigenvalues and Eigenvectors.

Required knowledge: High School Algebra, Geometry, and Pre-Calculus.

Literature: —

### Further Material: Coding the Matrix: Linear Algebra through Computer Science Applications

Link: https://www.coursera.org/course/matrix offered by Brown University

Objective: Learn the concepts and methods of linear algebra, and how to use them to think about computational problems arising in computer science. Coursework includes building on the concepts to write small programs and run them on real data.

Required knowledge: You are not expected to have any background in linear algebra. You need not know Python, but you should be an experienced programmer. You should also be prepared to read and understand some mathematical proofs.

Literature: Coding the Matrix is an optional companion textbook.

### Further Material: Linear Algebra

Link: http://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/ offered by MIT opencourseware

Objective: This course covers matrix theory and linear algebra, emphasizing topics useful in other disciplines such as physics, economics and social sciences, natural sciences, and engineering.

Required knowledge: 18.02 Multivariable Calculus is a formal prerequisite for MIT students wishing to enroll in 18.06 Linear Algebra, but knowledge of calculus is not required to learn the subject.

Literature: Strang, Gilbert. Introduction to Linear Algebra. 4th ed. Wellesley, MA: Wellesley-Cambridge Press, February 2009. ISBN: 9780980232714.

### Some more literature

Linear Algebra by Jim Hefferon, Mathematics Department, Saint Michael’s College.

## Probability Theory

### Starter Material: Introduction to Probability and Statistics

Link: http://ocw.mit.edu/courses/mathematics/18-05-introduction-to-probability-and-statistics-spring-2005/ offered by MIT opencourseware

Objective: This course provides an elementary introduction to probability and statistics with applications. Topics include: basic probability models; combinatorics; random variables; discrete and continuous probability distributions; statistical estimation and testing; confidence
intervals; and an introduction to linear regression.

Required knowledge: Calculus

Literature: DeGroot, Morris H., and Mark J. Schervish. Probability and Statistics. 3rd ed. Boston, MA: Addison-Wesley, 2002. ISBN: 0201524880.
Only offered as independent study

### Further Material: Theory of Probability

Link: http://dspace.mit.edu/bitstream/handle/1721.1/96865/18-175-fall-2008/contents/index.htm offered by MIT opencourseware

Objective: This course covers the laws of large numbers and central limit theorems for sums of independent random variables. It also analyzes topics such as the conditioning and martingales, the Brownian motion and the elements of diffusion theory.

Required knowledge:

Literature: Dudley, R. M. Real Analysis and Probability. Cambridge, UK: Cambridge University Press, 2002. ISBN: 9780521007542. Sections Covered: Parts of Chapters 8-12.
Only offered as independent study

## Programming

### Starter Material: Programming in Python

Objective: Learn the fundamentals of programming to build web apps and manipulate data.

Required knowledge: —

Literature: —

### Starter Material: Java for Complete Beginners

Objective: Learn to program in the Java programming language.

Required knowledge: Basic fluency with computers

Literature: —

### Further Material: High Performance Scientific Computing

Link: https://www.coursera.org/course/scicomp offered by University of Washington

Objective: Programming-oriented course on effectively using modern computers to solve scientific computing problems arising in the physical/engineering sciences and other fields. Provides an introduction to efficient serial and parallel computing using Fortran 90, OpenMP, MPI,
and Python, and software development tools such as version control, Makefiles, and debugging.

Required knowledge: Experience writing and debugging computer programs is required : Preferably experience with scientific, mathematical, or statistical computing. Also basic knowledge of calculus and linear algebra is preferable.

Literature: —

### Also look at

UvA Programming Lab, which has several free online courses available.