Mathematical Techniques for Computer Science Applications

Tuesday 6:00-8:20.
Warren Weaver Hall room 101.
Professor Ernest Davis

Reaching Me

Office hours: Wed 10:00-12:00, Thu 3:00-4:00

Tutoring Session

An optional tutoring session will meet Fridays 5-6 (except July 7, since there is no class meeting July 4). The instructor will be Azam Asl. The tutoring session will meet in room 101, except August 4, when it will meet in room 317.


Ernest Davis, Linear Algebra and Probability for Computer Science Applications, CRC Press, 2012.
Amos Gilat, MATLAB: An Introduction with Applications, Wiley. Any edition is OK. Inexpensive used copies are available online.

Course code library

Online documentation for MATLAB: Getting Started with MATLAB

Matlab freeware clones:

GNU Octave
Students have occasionally reported incompatibilities with Octave. I have not received any complaints about Scilab.

You may use Python and NumPy for programming assignments if you want, but you should make sure that you understand Matlab, since there may be problem sets and exam questions that involve Matlab.

Class email list

You should be automatically subscribed to the class email list If not, go to this link, and subscribe manually.




This course gives an introduction to theory, computational techniques, and applications of linear algebra, probability and statistics. These three areas of continuous mathematics are critical in many parts of computer science, including machine learning, scientific computing, computer vision, computational biology, computational finance, natural language processing, and computer graphics. The course will teach a specialized language for mathematical computation, such as MATLAB, and will discuss how the language can be used for computation and for graphical output. No prior knowledge of linear algebra, probability, or statistics is assumed.


Date Topic Required Reading Assignment
Part I: Linear Algebra
May 23 Matlab
Chaps 1, 2
May 30 Matrices Chap 3
June 6 Linear algebra Chap 4 part I Prog 1 DUE
June 13 Solving linear equations Chap 5 Hwk 1 DUE
June 20 Geometry Chap 6 Prog2 DUE
June 27 Change of basis
Discrete Fourier transform
Singular value decomposition
Chap 7 Hwk2 DUE
Part II: Probability
July 11 Basic Probability Chap 8 Prog3 DUE
July 18 Numerical random
Chap. 9 Hwk3 DUE
July 25 Markov models
Information theory
Chap. 10, 13 Prog4 DUE
August 1 Statistics
Monte Carlo methods
Chap. 11,12 Hwk4 DUE


Programming assignments (40% of the grade).
Biweekly exercises (10% of the grade).
Final exam. (50% of the grade).


Homeworks and programming assignments are due at the start of class on their due date. They may be submitted up to 1 week late, with a penalty of 1 point out of 10.

Exercise 1 Not to hand in.
Programming assignment 1. Due June 6
Problem Set 2 . Due June 13
Programming assignment 2. Due June 20
Problem Set 3 . Due June 27
Programming assignment 3. Due July 11
Sample Output for Programming Assignment 3
Problem Set 4 . Due July 18

Course Code Library

Students with Disabilities

Academic accommodations are available for students with disabilities. Please contact the Moses Center for Students with Disabilities (212-998-4980 or for further information. Students who are requesting academic accommodations are advised to reach out to the Moses Center as early as possible in the semester for assistance.


You may discuss any of the assignments with your classmates (or anyone else) but all work for all assignments must be entirely your own. Any sharing or copying of assignments will be considered cheating. By the rules of the Graduate School of Arts and Science, I am required to report any incidents of cheating to the department. My policy is that any incident of cheating will result in the student getting a grade of F for the course. The second incident, by GSAS rules, will result in expulsion from the University.