Mathematical Techniques for Computer Science Applications

Mathematical Techniques for Computer Science Applications


New York University
Fall Semester 2016

Class meetings: Monday, 5:10-7:00pm, Warren Weaver Hall 512.

Instructor: Margaret H. Wright,

Office: Warren Weaver Hall (CIWW), Room 430

Telephone: 212-998-3056

Office Hours: 1:00-3:00pm, Mondays, or by appointment.

Grader: Abhishek Nilesh Shah,

Course Description

This course is intended as an elementary introduction to basic mathematical theory and techniques that are essential in many computer science applications, including machine learning, data science, computer vision, computer graphics, computational finance, natural language processing, and computational biology. The course includes both theory and practice, where ``practice'' will involve writing software that implements the techniques to be learned. The course is based on Matlab (``matrix laboratory''), a programming language designed for matrix computations.

This course is not appropriate for students with experience in linear algebra or numerical computing. It is highly desirable for students to have some background in calculus and linear algebra.


The course requirements include written and programming homework assignments; an in-class midterm; a final or a course project; and course attendance. All of these will count in the final grade.

The final grade will be calculated by averaging the three elements (homework, midterm, final examination/project), with weights of 25%, 35%, 40%, where the weighting for the three items will be chosen individually to maximize each student's grade.

Final Exam

An in-class, closed-book final will be given from 5:10-7:00pm on Friday, December 16, 2016, in room Warren Weaver 512, for students who have chosen not to do a project.

Academic Integrity

Academic integrity is a core principle of education at NYU, including five fundamental values: honesty, trust, fairness, respect, and responsibility. For a discussion of academic integrity policy in the Computer Science Department, see the Computer Science website.

In this course, academic integrity includes individual completion of all assignments. If one students shows or gives his/her work to another, both students are considered to be cheating. Students may not use work provided by any person outside the class, or by any external course such as the Web. Students may not solicit other people to do assignments (in whole or in part) for them.

External sources, including published materials or materials on the Web, must be explicitly cited if they are involved in any substantive part of an assignment.

During an exam, students may not communicate in any way with anyone else, nor use materials or technology not permitted by the instructore. One student may not look at another student's test during an exam. If one student allows another to look at his/her test during the exam, both students are considered to be cheating.


Students should have programming experience and should have had elementary calculus and (preferably) some linear algebra. Students without this background should check with the instructor for permission to take the class.


Primary text: Linear Algebra and Probability for Computer Science Applications by Ernest Davis, published by CRC Press, available at the NYU Bookstore. Other useful books will be recommended as the course proceeds.

Some material will be passed out as notes.


The strongly preferred programming language to be used in the course is Matlab, an interactive software package and programming environment. Matlab is a product of the Mathworks; a student version costs around $100 at the Computer Store, or you can use Matlab in a Courant computer lab. (You will need a CIMS account, which will be provided after the second class.) You can use Matlab remotely, with a few (solvable) complications if you wish to use its graphics capabilities.

Matlab tutorials are available online from several sites. For example, there is an array of tutorial and other educational resources for students on the MathWorks website .

Homework and Programming Assignments

HW1, due 11:59pm, September 26, 2016.

HW2, due 11:59pm, October 5, 2016.

Programming Assignment 1, due 11:59pm, October 5, 2016.

HW3, due 11:59pm, October 21, 2016.

HW4, due 11:59pm, November 4, 2016.

HW5, due 11:59pm, November 29, 2016.

HW6, due 11:59pm, December 14, 2016.

Homeworks must be submitted in electronic form, and must be emailed to the instructor no later than 11:59pm on the due date. Without explicit permission from the instructor in advance, late homework will be marked down by 30% for every day of lateness.

Course Project

Project information.


An in-class, closed-book midterm was given on Monday, November 7, 2016.