Homepage for CSC 338, Spring 2017

Numerical Methods

Department of Mathematical and Computational Sciences

University of Toronto Mississauga




ANNOUNCEMENTS:
  • The TA will hold office hours on Weds April 19 from 3-6pm in DH3037 to hand back marked assignments and discuss grading.
  • I have posted another old exam. This one includes solutions. See below.
  • Here is a list of the slides covered in class and tutorial. You are responsible for this material on the final exam, as well as all the assignments. Be sure to study the assignment solutions.
  • Hard copies of the solutions to Assignment 3 can be found outside my office in Deerfield hall (DH-3090).
  • The final exam CLOSED BOOK. The text book is not allowed, but you will be allowed a cheat sheet. See below for details.
  • Compressed and uncompressed versions of the MNIST digit data for Assignment 3 are now available, below.
  • As specified in the course outline, 20% of your grade on all work is for quality of presentation, including the use of good English.
  • When submitting Assignment 3, be sure that any scanned sheets are clear and readible. Points will be deducted for hard-to-read submissions.
  • The programs in the solutions to Assignments 1 and 2 work for Python 2. If you are using Python 3, some changes may be necessary.
  • Hard copies of Assignments 1 and 2 (including the programs) can be found outside my office in DH-3090.
  • Assignment 3 is now complete. No more questions will be added. Please reread all the questions carefully, as some clarifications have been added, especially to the programming questions.
  • The page references in Question 5a of Assignment 3 should be 263 and 264.
  • The first 9 questions of Assignment 3 are now available. (March 18)
  • The first 7 questions of Assignment 3 are now available. (March 17)
  • The first 6 questions of Assignment 3 are now available. (March 16)
  • REMINDER: You must receive at least 40% on the final exam to pass the course.
  • The TA will hold office hours this week for students who have questions about their assignment 1 or midterm grades. Tues March 14 3-6pm and Fri March 17 3-6pm, in DH3037. You can also pick up your midterm test at these times.
  • The TA is mailing midterm results to your @mail.utoronto.ca accounts. Please check them and let me know if you did not receive anything.
  • A marking scheme has been added to Assignment 3.
  • A programming question has been added to Assignment 3. (March 11)
  • The first four problems of Assignment 3 are now available, below.
  • A complete marking scheme has been added to Assignment 2.
  • Some minor clarifications have been added to some questions, especially Question 9.
  • A marking scheme has been added for most of the questions in Assignment 2.
  • In question 8 on assignment 2, the file data2.pickle contains a 50x2 array (not a 100x2 array as stated in the question sheet).
  • Our classroom has moved. From now on, class will be held in KN132.
  • Marked Assignment 1s will be handed back in tutorial this Friday (March 3).
  • Solutions to Assignment 1 are now available in a box outside my office door in Deerfield Hall.
  • All questions have now been added to Assignment 2.
  • Two more problems have been added to Assignment 2 (Feb 20, 1:00am)
  • There will be no Python on the midterm.
  • The midterm test will cover those parts of Chapters 1, 2 and 3 in Heath that were covered in class.
  • A curve-fitting problem has been added to Assignment 2.
  • Assignment 2 will follow the "I don't know" policy, as described on the front of the assignment.
  • The first four questions of Assignment 2 are now available.
  • The MIDTERM test will be in class on March 1. It is closed book. See details below.
  • Starting Feb 10, all tutorials will be held in DH 3055. Tutorial times have not changed.
  • As discussed in class today, if you have not already handed in Assignment 1, you can hand it in by 11pm tonight (Feb 8) with a 50% late penalty. Since this amounts to a change in the late penalty, it must be unanimously approved by the class. A vote will take place next week (Feb 15). If you have any objections to the proposed change in late penalty for Assignment 1, please vote in class or send me email before then. This change applies only to Assignment 1. For all other assignments, no late assignments will be accepted.
  • A marking scheme has been added to Assignment 1.
  • Tutorial slides (and other useful stuff) are now available in a drop box, below.
  • If you are using the Ipython console in Anaconda (recommended) you should change the backend for plotting from inline to automatic (python > preferences > Ipython console > graphics > automatic). This will open a new window for each figure, rather than creating small inline figures.
  • Assignmnet 1 is due on TUESDAY Feb 7 (not Friday).
  • All questions have been added to Assignment 1. A marking scheme will be added shortly.
  • Two more questions have been added to Assignment 1.
  • The first several questions of Assignment 1 are now available, below.
  • Course dates are now available on the course information sheet, below.

    COURSE DESCRIPTION

    Numerical methods are algorithms for solving practical problems in applied mathematics. They are used extensively in many areas of science, engineering and business. For instance, they are crucial to machine learning and data mining, robotics and self-driving cars, video games and graphics, bioinformatics and aerospace, computational finance and portfolio management, as well as many other areas. In fact, many contemporary and high-tech problems would be impossible to solve without numerical methods. These problems include predicting climate change, designing modern aircraft, producing special effects in movies, finding hidden oil reserves, simulating car crashes, computing the trajectory of spacecraft, estimating the future value of stocks, optimizing the price of airline tickets, simulating the biological activity of living cells, and many more. Numerical methods are run on computers of all sizes, from laptops to workstations to supercomputers. In fact, the need to apply numerical methods to complex problems is the main reason supercomputers were developed.

    As a fringe benefit of taking this course, you will find out what all that math you learned is actually used for!


    PREREQUISITES:

  • Informal: a basic knowledge of calculus, linear algebra and programming.
  • Formal: CSC207H5/270H5, 290H5; (MAT134Y5/135Y5/137Y5)/(MAT133Y5, 233H5), MAT223H5.

    TEXT:

  • Michael Heath, Scientific Computing: An Introductory Survey, Second Edition, McGraw Hill, 2002.
  • Roughly the first half of the book will be covered.
  • The relevant chapters have been made available by McGraw Hill in the textbook store at a special price.
  • Interactive demos of the material in the text.

    SOFTWARE:

  • The Python programming language
  • The NumPy libraries (Numerical Python)
  • The SciPy libraries (Scientific Python)
  • The Spyder IDE (Scientific Python Development Environment) (optional)
  • The easiest way to install this software on your own computer is to download and install Anaconda, a Python-based data-science platform that includes many popular data-science packages, including NumPy, SciPy and Spyder.
  • Anaconda is also available on the MCS Lab machines.
  • Getting started with SciPy
  • SciPy documentation
  • SciPy lecture notes by Valentin Haenel, Emmanuelle Gouillart, and Gael Varoquaux (eds)

    INSTRUCTOR:

  • Anthony Bonner
  • email: [my last name] [at] cs [dot] toronto [dot] edu
  • phone: 905-828-3813 (UTM), 416-978-7441 (St George)
  • office: DH-3090 (UTM), BA-5230 (St George)
  • office hours: Wednesday 6-7pm

  • Classes: Wednesday 3-5pm, DV-1143.
  • Tutorials: Fri 1-2pm IB-360, and Fri 2-3pm DV-1161.
  • Tutorials may introduce new material not covered in lectures or the text.
  • Teaching Assistant: Samir Hamdi.
  • Lecture slides
  • Course information sheet
  • Tutorial drop box
  • 20% of your grade on all work is for quality of presentation, including the use of good English.

    ASSIGNMENTS:

  • Assignments should be submitted electronically at the UTORSubmit website.
  • All scanned submissions should be clear and readible.
  • Assignment 1 -- No more questions will be added.
  • Data: MNIST handwritten digits, compressed (18 MB) and uncompressed (213 MB).
  • Submission instructions are available here.
  • Assignment 2 -- No more questions will be added.
  • Data: for curve fitting
  • Submission instructions are available here.
  • Assignment 3 -- No more questions will be added.
  • Submission instructions are available here.

    MIDTERM TEST:

  • March 1, in class.
  • Starts at 3:10pm sharp!
  • 50 minutes, ends at 4pm.
  • There will be a short break and a lecture after the test.
  • Closed book.
  • CHEAT SHEET: You will be allowed a 1-page "cheat sheet" (8.5x11in, single-sided). It should contain no more than 6,000 characters. If typed, it should be in 12pt font or larger. No other aids are allowed.
  • You are responsible for all lectures, tutorials, the assignments and assignment solutions.
  • There will be no Python on the midterm.
  • Here is a copy of an old midterm.
  • The midterm test will follow the "I don't know" policy: if you do not know the answer to a question, and you write "I don't know", you will receive 20% of the marks of that question. If you just leave a question blank with no such statement, you will get 0 marks for that question.

    FINAL EXAM:

  • Closed book: no text book allowed.
  • You must receive at least 40% on the final exam to pass the course.
  • CHEAT SHEET: You will be allowed a 1-page "cheat sheet" (8.5x11in, two-sided). It should contain no more than 12,000 characters. If typed, it should be in 12pt font or larger.
  • No other aids allowed.
  • The exam will cover the entire course, but will emphasize material not on the midterm.
  • You are responsible for all lectures, tutorials, assignments and assignment solutions.
  • Here is an old exam.
  • Here is another old exam, with solutions. (The material on eigenvalues will not be on this year's exam.)
  • The exam will follow the "I don't know" policy: if you do not know the answer to a question, and you write "I don't know", you will receive 20% of the marks of that question. If you just leave a question blank with no such statement, you will get 0 marks for that question.

    ADDITIONAL REFERENCES:

  • R.L.Burden, J.D. Faires, Numerical Analysis, 8th Edition, Brooks/Cole, 2005.
  • Petersen and Pedersen, The Matrix Cookbook. Free Download
  • Lipschutz and Lipson, Schaum's Outline of Linear Algebra. (very handy, very cheap)
  • Wrede and Spiegle, Schaum's Outline of Calculus. (very handy, very cheap)

    PLAGIARISMf AND CHEATING:

  • Students should become familiar with and are expected to adhere to the Code of Behaviour on Academic Matters, which can be found in the UTM Calendar. The following web sites may also be helpful:
  • Code of Student Conduct
  • Academic honesty
  • Advice on avoiding plagiarism
  • Advice on academic offences