• Where is the discussion forum?
• piazza.com/illinois/spring2016/cs357/home
• You are expected to monitor Instructor notes on piazza as quizzes and homeworks will be announced there.
• Note: We will not debug code on Piazza. If you wish to work with course staff to debug your code you need to come to office hours.
• Where are my grades listed?
• At the top, under Student->View Grades
• When are the exams? Exam Schedule
• Can I use something other than Python? No.
• Do I need to type the homework? No, but it must be readable. You will lose points for bad handwriting or unreadable scans.

## Exam Schedule

• Midterm 1: Monday February 22 - Friday February 26
• Midterm 2: Monday April 4 - Friday April 8
• Final: Thursday May 5 - Thursday May 12

## Computing with Data

Applications

• Computation cost on a cloud and the benefits of fast data structures
• Timing Data from an experiment
• Floating point disasters
• Image Manipulation
• Randomness and simulating risk
• Options Pricing
• math.h and Taylor series

Objectives

• Use numpy for more efficient computations
• Construct examples that show the benefits of contigous memory (numpy arrays)
• Identify the advantages of numerical libraries
• Create a numerical experiment that measures the cost of basic array operations
• Represent a real number in a floating point system
• Measure the error in rounding numbers in the IEEE-754 floating point standard
• Compute floating point vaules in different portions of the floating point range
• Use the IEEE-754 standard to quantify error floating point arithmetic
• Compute the memory storage of single versus double precision
• Describe the accuracy of several examples in terms of machine epsilon
• Determine whether data grows algebraically versus exponentially and at which rate
• Design a numerical experiment with reproducibility, randomness, consistent timing in mind
• Compute a random process
• Use randomness to confirm a numerical hypothesis
• Approximate a function using a Taylor series approximation
• Quantify the error in using a Taylor series approximation at several points
Lecture Date Topic Material
1 Tue Jan 19 All About Data and Computing with Python
2 Thu Jan 21
3 Tue Jan 26 Approximations in Numerical Computing
4 Thu Jan 28
5 Tue Feb 02 Designing a numerical experiment
6 Thu Feb 04 Randomness and Simulation. Monte Carlo
7 Tue Feb 09 An approximation tool. Taylor Series
8 Thu Feb 11 Linear Algebra Meets Computation

## Computing with arrays of data

Applications

• Raw Materials and Manufacturing
• Algebraic Connectivity of Graphs
• Prinicple Component Analysis on a dataset
• Page Rank and similar probability measures
• Image Compression
• Learning Algorithms

Objectives

• Take a linear algebra operation and apply the operation in a computational setting
• Represent a problem description in terms of matrices and vectors
• Load a collection of data into matrix and vector data structures
• Compute the solution to a linear system of equations
• Detail the pieces of an LU factorization of a linear system
• Use an LU factorization to solve a problem with many right-hand sides
• Measure the number of digits of accuracy for poorly conditioned problems
• Compute eigenvalues/eigenvectors for different applications
• Use the Power Method to find a specific eigenvector
• Compute singular value decomposition for different applications
• Use singular values to identified important components
• Represent a linear system as a sparse linear system
• Represent a graph as a sparse system
• Compute the cost of a sparse matrix-vector multiply
Lecture Date Topic Material
9 Tue Feb 16 Norms
10 Thu Feb 18 Solving Systems
11 Tue Feb 23 Factorizations and Eliminations
12 Thu Feb 25 no class.
13 Tue Mar 01 Pivoting and Computational Expense and Accuracy
14 Thu Mar 03 An in-class project. Options Pricing with Monte Carlo
15 Tue Mar 08 Eigen Everything
16 Thu Mar 10 The Power Method and Ranking Things
17 Tue Mar 15 Singular Values and Compression
18 Thu Mar 17 Othogonality
19 Sat Mar 19 Spring Break (no class)
20 Mon Mar 21 Spring Break (no class)

## Approximating data

Applications

• Polling Data
• Baseball Statistics and Trends
• Scalable fonts

Objectives

• Interpolate or fit a piece of data with a given model (or function)
• Find the derivative of noisy data
• Compute the intgral of a data set
• Use least-squares data fit to determine a trend
• Calculate the the cost of a least-squares solution
• Measure the error in a least-squares solution
• Approximate the minimum to an objective function
• Approximate the minimum to an objective function in multiple dimensions
Lecture Date Topic Material
21 Tue Mar 29 Your Graph is a Sparse Matrix
22 Thu Mar 31 Finding Least-Squares
23 Tue Apr 05 Interpolation
24 Thu Apr 07 no class
25 Tue Apr 12 Interpolation and Splines
26 Thu Apr 14 Nonlinear Equations
27 Tue Apr 19 Nonlinear Equations
28 Thu Apr 21 Optimization
29 Tue Apr 26 Optimization
30 Thu Apr 28 Optimization
31 Tue May 03 Final Exam Review (practice exam)

## Office/Discussion Hours

Day Time Type (Location) People
Mon 2:00-3:00pm OH (4324 Siebel) Michael Heath
Tue 11:00-12:00am OH (2103 Siebel) Eric Shaffer
Wed 9:30-11:30am OH (0209 Siebel) Erin Carrier
Wed
Thur
3:00-4:00pm
3:00-4:00pm
OH (0209 Siebel) David Raju
Wed 4:00-6:00pm Discussion (1131 Siebel) Ryne Beeson
Thur 9:30-11:30am OH (0209 Siebel) Nathan Bowman
Thur 5:00-7:00pm Discussion (1131 Siebel) Karthik Ramaswamy

The lectures will have associated pre-lecture material: a collection of videos, slides, short write-ups, etc that will support the upcoming lecture.

# Quiz Policy

As part of the pre-lecture material, there will often be associated quizzes. These quizes will be short and directly related to the latest material.

• Quizzes will allow two graded attempts. This higher grade will be recorded.
• Quizzes are to be done on your own, not in groups.
• Quizzes will have a deadline of 10 minutes before the 12:30pm class. After this you can take the quizes for half-credit for up to 3 days. You must "end session" and "confirm" before the deadline; if you start a quiz before the deadline, but finish after the deadline, then you will receive half-credit. If you submit after 3 days, then no credit will be given.
• You must fully submit your entire quiz in order to receive credit. To do so, you must press the "Submit for grading" button in the upper right corner. Note, this button was previously titled "End session". This is separate from submitting a final answer or saving an answer to a single question. Failure to submit the entire quiz, regardless of whether answers were saved for individual questions, will result in no credit.

Importantly, the quizzes are designed to help you go through pre-lecture material! They are not a major component of the grade, but should be a helpful step toward understanding the course content.

# Homework Policy

Homeworks will be released on weekly basis, being released on Fridays and due on Fridays at 4pm (leaving approximately one week to complete).

There are a few rules that are different from quizzes:

• Homeworks will have one graded attempt. Meaning if you submit your solutions, then you cannot change them for regrading.
• As soon as you start the homework, you should make sure that the desired option for "At deadline" is selected. If "Submit session for grading is selected", your assignment will be automatically submitted at the deadline. If you wish to work on the assignment and submit late, you must select "Do not submit session for grading". Otherwise, your session will automatically be submitted at the deadline and your session will not be reopened.
• Homework submitted after the deadline will receive half-credit (ie, your work will be graded and multiplied by 0.5). You can submit homework for half-credit for up to 3 days. You must "submit assignment" and "confirm" before the deadline; if you start a homework before the deadline, but finish after the deadline, then you will receive half-credit. If you submit after 3 days, then no credit will be given.
• Solutions to the homework can be viewable (and reviewable) after the due date. If you are submitting homework for the half-credit due date, you cannot directly copy the sample solution. What you submit must still be written by you, not just copied.
• A homework is considered either all late or all on-time. If any portion of the homework is submitted after the deadline then the entire homework will be graded as late.

# Exam Policy

There will be three exams: two midterm exams and a final. The final will be comprehensive but weighted toward the last section of material in the course.

# Accomodations

If you have requests for special accomodations in the classroom, with the digital content, or for exams, please see Prof. Shaffer at shaffer1@illinois.edu.

Weight
HW 25%
Exam1 20%
Exam2 20%
Final 25%
Quiz 10%

### Detailed Distribution:

Course Grade Total Score as weighted above
A+ [97,100)
A [93,97)
A- [90,93)
B+ [87,90)
B [83,87)
B- [80,83)
C+ [77,80)
C [73,77)
C- [70,73)
D+ [67,70)
D [63,67)
D- [55,63)
F [ 0,55)

## Numerical Methods

• Lecture Notes Scientific Computing: An Introductory Survey by Michael T. Heath

## Computing

We will be using Python with the libraries numpy, scipy and matplotlib for in-class work and assignments. No other languages are permitted. Python has a very gentle learning curve, so you should feel at home even if you've never done any work in Python.

### Virtual Machine Image

While you are free to install Python and Numpy on your own computer to do homework, the course staff will only provide support for using the supplied virtual machine image.