Mathematical Techniques for Computer Science Applications
## Mathematical Techniques for Computer Science Applications

## CSCI-GA.1180-001

## New York University

Fall Semester 2016

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

###
Instructor: Margaret H. Wright, mhw@cs.nyu.edu

### 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, ans556@nyu.edu

### 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.

### Coursework

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.

### Prerequisites

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.
### Textbook

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.

### Programming

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.
### Midterm

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