.. Nova documentation master file, created by
sphinx-quickstart on Wed Aug 31 17:54:08 2016.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
CS323: Numerical Analysis and Computing
=======================================
Welcome to CS 323! This course is an introduction to the broad field of numerical
algorithms, optimization, and differential equations. Real-world examples from
different fields such as computer vision, machine learning, and data analysis will
be given alongside each topic to illustrate the wide applicability of the various
methods discussed in class. This course is heavy on programming, with the aim of
implementing most of the algorithms discussed in class. We will be using
`Python `_ along with its scientific computing packages
`NumPy `_ and `SciPy `_. While
there are many excellent resources available on the web, the following `lecture
notes `_ are particularly recommended. Of
course, we will be covering all the basics in class on an as needed basis. There is
**no required text** for this course, although some recommendations are given below.
| **Time:** 5PM - 8PM, Tuesdays, Fall 2017
| **Place:** Lucy Stone Hall Auditorium
| **Instructor:** `Mridul Aanjaneya `_
| **Office:** CBIM Room 18
| **Office hours:** Friday (4PM - 5PM)
| **Email:** mridul.aanjaneya@rutgers.edu
| **TA:** Carlos Muniz
| **Office:** Hill 270
| **Office hours:** Tuesday (3PM - 4PM) and also by appointment
| **Email:** cmm609@scarletmail.rutgers.edu
| **TA:** Mihee Lee
| **Office:** CBIM-cubic G
| **Office hours:** Monday (2PM - 3PM) and also by appointment
| **Email:** ml1323@scarletmail.rutgers.edu
**Email Policy:** You are welcome to email the instructor about class-related
issues. Please start your subject line with \"**CS 323:**\". However, please do
not always count on an immediate reply. Although most questions will be answered
quickly, in the worst case you will receive a reply during (or shortly after)
the instructors' *next* scheduled office hours. It is also recommended to post
homework-related questions on `Piazza `_ instead of emailing the
instructor so that other fellow students can benefit from it.
**Grading Policy:** Grades will be awarded based on class participation, bi-weekly homeworks, two 75
minute in-class midterms and an **optional final**. The final grade will be computed as follows:
55% x (homework grade) + 20% x (midterm1) + 20% x (midterm2) + 5% x (class participation)
**Final:** The final exam will have two parts, the first part corresponding to the
syllabus of midterm1, and the second part corresponding to the syllabus of
midterm2. When computing your
final grade, we will consider the **best** of the final and the corresponding
midterm score. This means that you can choose to *replace* either your score for midterm1,
or midterm2, or both by taking the final exam. However, if you do not perform
well in the final, your previous midterm scores will be used. The dates/times
for the midterm and final exams are listed below:
* **Midterm 1:**
* In-class Part (70%): 10/31 (5:15PM - 6:30PM)
* Take-home Programming Part (30%): 11/03 (12PM) - 11/05 (11:55PM)
* **Midterm 2:** 12/05 (5:15PM - 6:30PM)
* **Final:** 12/20 (12PM - 3PM)
The in-class part of the midterm exams constitutes for 70% of
the midterm score, while the programming part constitutes for 30% of the midterm
score. Please note that the midterm and final exams are **open notes**, but all such
notes must be brought in **printed form**. The use of laptop computers, cell
phones, tablets, and other hand-held electronic devices is **strictly forbidden**.
**Class participation:** Participation in class will be
evaluated based on the number of classes attended, enthusiasm for answering the
instructor's questions, and willingness to help other students, both in person
and also online in the discussion forum. Extra credit points can also be earned
by helping the instructor improve his set of lecture notes. :-)
**Homework:** Students are encouraged to collaborate with each other on homework
problems in teams of size at most 3. However, they must individually turn in
their solutions and also mention the names of their collaborators on their
homework. All homework should be typed, and no two people should collaborate with each other on more than
two homeworks. We will not consider the lowest homework score when evaluating your
final grade. Homework problems will be posted every second week on this webpage,
and will be due at **midnight** on the Tuesday lecture two weeks later. Each
student is also granted **3 late days** total for submitting their homeworks.
After this grace period has expired (either for the current homework or from
previous homeworks) we will subtract 15% for each day that is delayed further.
**Typing resources:** All homework should be typed. Students can choose their favorite
platform for typing out their homework, some commonly used softwares are
`Microsoft Word `_, `LaTeX `_,
and `LyX `_. Thanks to a former student, Alex Ames, here is
a `LyX guide `_
and associated `source files `_
used to generate it.
News and Announcements:
-----------------------
* (09/05) Discussion is now open on `Piazza `_.
* (09/05) There is no recitation on Thursday (09/07).
* (09/19) `Homework #1 `_ is out. Due on (10/03).
* (10/03) `Homework #2 `_ is out. Due on (10/17).
* (10/19) `Homework #1 Solutions `_ have been posted.
* (10/19) `Homework #3 `_ is out. Due on (11/01).
* (10/24) `Practice Midterm #1 `_ has been posted.
* (10/24) `Practice Midterm #1 Solutions `_ have been posted.
* (10/30) `Homework #2 Solutions `_ have been posted.
* (10/31) `Homework #4 `_ is out. Due on (11/14).
* (11/01) `Midterm #1 `_ has been posted.
* (11/02) `Midterm #1 Solutions `_ have been posted.
* (11/03) `Midterm #1 Programming `_ is out. Due on (11/05).
* (11/13) `Homework #3 Solutions `_ have been posted.
* (11/14) `Homework #5 `_ is out. Due on (11/28).
* (11/27) `Homework #4 Solutions `_ have been posted.
* (11/29) `Practice Midterm #2 `_ has been posted.
* (11/30) `Practice Midterm #2 Solutions `_ have been posted.
* (12/06) `Midterm #2 `_ has been posted.
* (12/06) `Midterm #2 Solutions `_ have been posted.
* (12/12) `Homework #5 Solutions `_ have been posted.
.. toctree::
:numbered:
:hidden:
:maxdepth: 3
Homework #1
Homework #2
Homework #3
Homework #4
Homework #5
Midterm #1 Programming
Contents:
---------
.. toctree::
:numbered:
:includehidden:
:maxdepth: 3
Introduction
Vector and Matrix Algebra
Getting Started with Python
Linear Systems of Equations
Non-linear Equations
Numerical Interpolation
Accuracy of Interpolation and Splines
Coding Resources:
-----------------
1. `SciPy Lecture Notes `_
2. `Dive Into Python `_
Recommended Books:
------------------
1. J\. Solomon, `Numerical Algorithms `_, AK Peters/CRC Press, 2015\.
2. L\. N\. Trefethen and D\. Bau III, `Numerical Linear Algebra `_, SIAM, 1997\.
3. E\. Matthes, `Python Crash Course: A Hands-On, Project-Based Introduction to Programming `_, No Starch Press, 2015\.