CSC336 Numerical Methods
[Announcements]
[Material covered[
[Lectures, Tutorials, Assignments (with pass)]
Announcements, Course information for current students:
- 2025-09-03: Volunteer note taker needed in CSC336
A volunteer note taker is needed in CSC336
to help a student with a disability to collect
notes from class (other than those given in the course website),
for example, notes written on the board and not photographed,
or other notes arising from the lecture/tutorial,
e.g. comments mentioned (verbally) by the instructor,
that a student finds worth taking.
The volunteer notetaking program is one of the most commonly
required accommodations provided to students registered with
Accessibility Services. Here at the University of Toronto,
the accessibility office is seeking dependable volunteer
note-takers to assist students living with a disability
to achieve academic success.
Volunteers report that, by giving back to the U of T community,
their class attendance and note taking skills improve.
In order to become a volunteer note taker, all you have to do
is attend classes regularly and submit your notes consistently.
Volunteers can receive co-curricular credit(s) and/or
a certificate of appreciation.
To become a volunteer note taker, please follow these 4 steps:
(See also QR-code)
Register Online as a Volunteer Note-Taker at:
https://clockwork.studentlife.utoronto.ca/custom/misc/home.aspx
Click on Volunteer Note takers, and sign in using your UTORid
Select the course(s) you wish to take notes for and begin by
uploading a sample of your notes.
You will get an email notifying you if a student
has selected your notes.
Please upload the notes 24-48 hours following each class.
Email us at as.notetaking@utoronto.ca or call 416-946-5555,
if you have questions or require any assistance with uploading notes.
If you are no longer able to upload notes for a course, please
also do let us know immediately.
Thank you for your support and making notes more accessible for our students.
-
No classes
October 27-31, 2025 (Fall break / Reading week -- A&S calendar).
-
To access the assignment, or the notes, you will need to type
your CDF (teaching labs) username (same as UTorId) as loginname,
and last 5 digits of your student number as password.
This password (for accessing the website) cannot be reset,
and it is only for accessing the website.
If you registered for the course today, please wait a day,
to check access to the website.
Please note that to access the servers/computers,
the password is different.
There is an initial password set by the system (usually the student number),
and then you can set it to whatever you want.
-
Bulletin/discussion board for csc336 Fall 2025
Need to register with your utoronto.ca e-mail address.
-
Important note on the use of bulletin boards:
No parts of or whole answers to the assignment/exam problems
should be posted to the boards (or anywhere else),
even after the assignment is due.
Questions and answers (even written by you) should never
be shared with anyone or anywhere.
Any violation of this rule will bring trouble to the poster.
Please use judgement before posting.
Any questions posted on the bulletin boards should be general enough
and should not reveal intermediate or final results (correct or wrong).
If unsure, ask by e-mail to instructor.
-
All assignments and exams are to be done individually by each student.
See the course outline
about academic integrity and additional information.
- Here is a latex example file,
with associated files
spyalt.eps, spyblock.eps,
trochoid1.m,
assign.bib, to compile correctly,
and output 336a1.pdf.
You can use it for assignments, but you may also use you own latex template.
Please always use font size 12 and linespread 1.1, as shown in the sample file.
Do NOT use dark background in any page or figure.
See the course outline for more details on presentation.
-
CDF/Teaching Labs:
Please see http://www.cdf.toronto.edu
or http://www.teach.cs.toronto.edu
(they are the same), especially the
Resources, Intro to new students tab, and the
Using Labs, Remote Access Server tab.
-
Running remotely, etc:
If you want to run matlab and other applications remotely
on teach.cs (CDF), and you are using Windows or Mac OS
on your computer/laptop, you will need the so-called
X forwarding on your computer/laptop.
X forwarding allows you to run any application, including matlab,
remotely on teach.cs (CDF) and the output/display/plots/etc
be shown on your computer/laptop.
See
https://www.teach.cs.toronto.edu/using_cdf/x2go.html
for a way to have X forwarding on your computer/laptop.
-
Matlab:
The basic Matlab is free for students. (UT pays for it.)
See https://www.mathworks.com/academia/tah-portal/university-of-toronto-676468.html
However, you need to first register with matlab, as shown
in the above page.
(You do this only once.)
You can also consider free (perpetually) alternatives to Matlab,
such as Octave.
-
To use matlab on cdf, through the linux shell, on the workstations
in the teaching labs,
first you need to register with matlab as in
https://www.mathworks.com/academia/tah-portal/university-of-toronto-676468.html
(You do this only once.)
Then, on one of the workstations in the teaching labs, you type
/usr/local/bin/matlab -softwareopengl
or
/usr/local/bin/matlab -nodesktop -softwareopengl
The first time it is slow, as it loads lots of stuff,
but the second time and on, it should be faster.
-
To use matlab on cdf, through the linux shell, remotely,
you need to register and use it once on the workstations in the teaching labs,
then, you can use it remotely.
You need to login via ssh
(on an xterm or other terminal in unix, linux, mac, or cygwin,
and on putty in windows,
or through some free X forwarding application such as mobaxterm, or X2Go)
with a command such as
ssh -X user@cdf.toronto.edu
or
ssh -l user -X -f wolf.cdf.toronto.edu xterm
where ``user'' is your cdf username, then, once on cdf, run
/usr/local/bin/matlab -softwareopengl
or
/usr/local/bin/matlab -nodesktop -softwareopengl
Within matlab, you may want to go to a certain directory, say ~/matlab,
and for this you can use the unix shell command
cd ~/matlab
within matlab. You may also want to have a startup.m file
in that directory, to always run some standard commands
(e.g. format compact) every time you start matlab.
-
Textbook: The textbook for this course is Michael Heath's,
Scientific Computing: an introductory survey,
SIAM 2018 (Revised Second Edition).
This is the same book used for CSC336 Spring 2025.
https://my.siam.org/Store/Product/viewproduct/?ProductId=30156464
The list price is approximately $94.00 USD, but
there is also a 30% discount for SIAM members
(students are able to take advantage of this if they sign-up
for a free SIAM Student membership).
https://www.siam.org/Membership/Join-SIAM/Individual-Members/Student
This book was also published by McGraw-Hill Inc in the past,
but because the price was quite higher,
we ordered custom-made copies through the UT bookstore,
which were cheaper.
This year we did not order those copies,
as the SIAM price is reasonable.
However, if you find those copies from past students,
they are equivalent (not identical, but equivalent) to the SIAM edition.
This book covers most of what is needed in the course.
On Quercus, within the library reading list (app),
you will find pdfs of the chapters we will use for 336.
We have acquired a licence through the UT library,
to make the four relevant chapters of the book available on quercus.
Textbook web page (see educational modules)
Material covered or to be covered in the course
(with textbook sections in parentheses) (later)
2025-09-03 (2 hours)
0. What is Scientific Computing? (1.1, 1.2.1)
1. Computer arithmetic; data and computational errors
1.1 (Human) Representation of nonnegative integers
- Algorithm for converting base b integers to decimal
- Algorithm for converting decimal integers to base b
1.2 (Human) Representation of reals
- Algorithm for converting base b fractions to decimal
- Algorithm for converting decimal fractions to base b
1.3 Computer representation of numbers (1.3.1-7)
- floating-point numbers, mantissa, exponent, normalized mantissa,
significant digits, overflow, underflow, range of representable numbers,
representable numbers, chopping, rounding
- The IEEE Standard
1.4 Round-off error (1.3.5)
1.5 Absolute and relative errors (1.2.2)
1.6 Computer arithmetic -- saturation in addition (1.3.8)
1.7 Machine epsilon (1.3.5)
2025-09-05 (1 hour)
1.8 Error propagation in simple arithmetic calculations (1.3.8-9)
- Multiplication, division, addition/subtraction
- catastrophic cancellation
1.9 Error propagation in computation: conditioning of problems (1.2.6)
- condition number of function
1.10 Error propagation in computation: stability of algorithms (1.2.7)
2025-09-10 (2 hours)
1.11 Forward and backward errors (1.2.3-5)
Propagated data error
Truncation (discretization) and rounding errors, computational error
Total error
1.12 Taylor series
1.13 O(n^b) and O(h^a) notations
(more to come)
Notes and handouts:
Note on use of notes:
Notes will be available when the course starts.
While it may be convenient to study for the course by reading the notes,
it should be made clear that the notes are not there to substitute
the textbook or any relevant book. Notes are always more condensed
and give less overall information than books.
Notes with math notation, etc, are difficult to read online.
It may be preferable for some of you to print out the 4-page style notes
on paper (preferably double-sided).
Access to the data below requires that
you type in your CDF (teaching labs) username
(same as UTorId)
and last 5 digits of your student number as password.
This password (for accessing the website) cannot be reset.
Lecture notes
Tutorial notes
Assignments
Other