Mathematical Techniques for Computer Science Applications

Monday 5:00-7:00.
Warren Weaver Hall room 201.
Professor Ernest Davis

Reaching Me

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

Optional problem session

A problem/review session will meet Thursdays 5-6, WWH 517. The first meeting of the problem session will be Thursday, September 13; it will not meet on September 6.


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

Online documentation for MATLAB: Getting Started with MATLAB

Matlab clones:

GNU Octave
Either of these will suffice for this course.

Class email list

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


The grader for the course will be Chaitanya Rudra All programming assignments and all exercises submitted electronically should be emailed to him.




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.


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


Exercises 1 Not to hand in.
Programming Assignment 1 Due Sept. 24.
Problem Set 2 Due Oct. 8
Programming Assignment 2 Due Oct. 8
Problem Set 3 Due Oct. 29
Programming Assignment 3 Due Oct. 29
Sample Output for Programming Assignment 3
Problem Set 4 Due Nov. 19
Programming Assignment 4 Due Nov. 19
More Results for Programming Assignment 4
Problem Set 5 Due Dec. 3
Programming Assignment 5 Due Dec. 3

Course Code Library

Final Exam

The final exam will be held Monday Dec. 17 during the regular class hour. It will be closed book and closed notes. Here is a list of topics . A sample exam is on the course Blackboard site.


Part I. Introduction:

Week 1.A Introduction to MATLAB. Basic programming language features.
Davis, Chap. 1.

Part II. Linear Algebra:

Week 1.B. Vectors. Basic operations. Dot product. Vectors in MATLAB. Plotting in MATLAB.
Davis, Chap. 2

Week 2. Matrices. Definition, fundamental properties, basic operations. Linear transformations.
Davis, Chap. 3

Week 3. Abstract linear algebra: Linear independence, basis, rank, orthogonality, subspaces, null space.
Davis, Section 4.1.

Week 4. Solving linear equations using Gaussian elimination.
Davis, Chap 5.

Week 5+6. Geometric applications.
Davis, Chap. 6.

Week 7: Change of basis and singular value decomposition
Davis, Chap. 7

Part III. Probability

Week 8: Introduction. Independence. Bayes's Law. Discrete random variables.
Davis, Chap. 8

Week 9+10: Numerical random variables. Expected value and variance. Discrete and continuous distributions.
Davis, Chap. 9

Week 11: Markov models.
Davis, Chap. 10.

Week 12: Information theory and entropy.
Davis, Chap. 13.

Week 13: Confidence intervals. Monte Carlo methods.
Davis, chaps. 11+12.


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.