- Where is the discussion forum?
- 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.
- Homework 0 Due Friday, January 29 at 4pm
- Homework 1 Due Friday, February 5 at 4pm
- Homework 2 Due Friday, February 12 at 4pm
- Homework 3 Due Friday, February 19 at 4pm
- Homework 4 Due Friday, March 4 at 4pm
- Homework 5 Due Friday, March 11 at 4pm
- Homework 6 Due Friday, March 18 at 4pm
- Homework 7 Due Friday, April 1 at 4pm
- Homework 8 Due Friday, April 15 at 4pm
- Homework 9 Due Friday, April 22 at 4pm
- Homework 10 Due Friday, April 29 at 4pm
- Homework 11 Due Wednesday, May 4 at 4pm (No late submissions)
- 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
- 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
- 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
Computing with arrays of data
- Raw Materials and Manufacturing
- Algebraic Connectivity of Graphs
- Prinicple Component Analysis on a dataset
- Page Rank and similar probability measures
- Image Compression
- Learning Algorithms
- 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
- Polling Data
- Baseball Statistics and Trends
- Scalable fonts
- 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
||OH (4324 Siebel)
||OH (2103 Siebel)
||OH (0209 Siebel)
|OH (0209 Siebel)
||Discussion (1131 Siebel)
||OH (0209 Siebel)
||Discussion (1131 Siebel)
The lectures will have associated pre-lecture material: a collection of
videos, slides, short write-ups, etc that will support the upcoming lecture.
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
- 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.
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
- 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.
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.
If you have requests for special accomodations in the classroom, with the
digital content, or for exams, please see Prof. Shaffer at
Academic Grading System in the US
||Total Score as weighted above
- Lecture Notes Scientific Computing: An Introductory Survey by Michael T. Heath
We will be using Python with the libraries
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.
Download Virtual Machine »