Course Description:
Mathematical models are used to describe natural phenomenons. These models typically involve continuous quantities,
which cannot be exactly represented on computers. Scientific computing deals with finding approximate solutions
to such models via discretizations, which involves discretization errors. This course covers aspects of the construction
and analysis of basic approximations. Topics studied include aspects of computer arithmetic, polynomial and spline interpolation,
numerical differentiation and integration, and numerical initial value problems for ordinary differential equations.
Course Communications:
Primarily through the course website, Canvas, and Piazza.
Students are expected to check Canvas regularly for announcements
and this website for updated course content.
We will use Piazza as course discussion board.
This is the best forum for asking questions about logistics or course content. The instructor and TAs will monitor the
discussion board regularly, and will respond more quickly to questions posted there than questions asked by email.
Questions regarding homework can be directed to the TAs/instructor. Questions regarding homework grading must be
directed to the TAs, who will refer concerns to the instructor if necessary.
Questions regarding midterm or final grading should be directed to the instructor.
For issues of a confidential nature, please contact the instructor.
Tentative Grading Scheme
Your grade will be determined approximately by the following scheme:
Course Element
Fraction of Grade
Assignments
30%
Prior Knowledge Quizzes
5%
In-Class Group Exercises
5%
Midterm Exam (50 minutes)
15%
Final Exam (2.5 hours)
45%
You must have a pass standing in the assignment component of the course.
Failure to comply with this requirement or failure to write the midterm exam without a justified documented reason may result in
ineligibility to write the final exam and/or an eventual final grade lower than the one computed by the above formula.
The instructor reserves the right to modify the grading scheme at any time if necessary.
Lectures
In the lecture, I will assume that you know the basic concepts from the assigned reading, and I will focus more on
examples.
I will use clicker questions to gauge your understanding of the concepts you read and discuss those that are not clear to you.
I may also give you small exercises as a practice.
Assignments
The plan is to have 6 written homework assignments. All assignments involve programming tasks in Matlab.
Electronic Submission:
Complete assignments (including all codes and plots) must be submitted electronically
before lecture on the due date using Canvas.
We will NOT accept late submissions except in exceptional circumstances.
You may collaborate and consult with other students in the course,
but you must hand in your own assignments and your own codes. If you have collaborated or consulted with someone
while working on your assignment, you must acknowledge this explicitly in your handed-in assignment.
Bonus assignment:
There will be a bonus assignment at the end of the course.
Prior Knowledge Quizzes
These quizzes help you
discover what you already know about a previous discussed topic.
There will be one quiz each week, which is due by 14:00 on Fridays.
You will complete the quiz in Canvas and have one attempt for each quiz.
For the students on the waiting list, I will copy a PDF of the quiz into Piazza
until January 17.
5 of these quizzes will be graded, but you will not know which ones.
In-Class Group Exercises
The plan is to have 5 in-class group exercises, each after finishing a module.
This is an additional opportunity for you to apply what you have learned.
Small group work will help you in addition learning about working with others,
cross-cultural awareness,
and developing a small community of supportive peers.
Clicker Bonus
Students who register their clicker/REEF
and correctly answer at least 70% of the in-class clicker questions during the term will receive an extra 1% on their grade.
Clicker bonus questions start on Friday, January 19.
Midterm Exam
The midterm exam is on Friday, February 16, 14:00-14:50, in FRDM 153.
Please bring your student ID and be in class on time. You are allowed one side of a letter-sized (216mm × 279mm) sheet. No other material or accessories are allowed.
The midterm exam will cover material from numerical algorithms and errors,
polynomial interpolation, and piecewise polynomial interpolation.
Failure to write the midterm exam without a justified documented reason may result in
ineligibility to write the final exam and/or an eventual final grade lower than the one computed by the above formula.
Students who miss the midterm due to an illness must provide a doctor's note to
the instructor. There is no makeup midterm exam.
If you have missed the midterm exam for a justified reason, the weight for that midterm is transferred to the final exam, in a way that will be determined by the instructor.
Final Exam
The final exam is on Wednesday, April 25, 15:30-18:00, in CHBE 101.
Please bring your student ID and be in class on time.
You are allowed one letter-sized (216mm × 279mm) sheet (both sides).
No other material or accessories are allowed. The final exam will cover material from the entire course.
Students who miss the final exam must follow the procedure of
their Faculty to request a deferred exam. Students may be refused
permission to sit a deferred exam if they have not demonstrated
sufficient prior work in the course.
Scientific Computing: An Introductory Survey (second edition), by Michael T. Heath
Numerical Methods: Design, Analysis, and Computer Implementation of Algorithms, by Greenbaum and Chartier
Numerical Analysis (any edition), by Burden and Faires
Numerical Analysis: Mathematics of Scientific Computing, by Kincaid and Cheney
Tentative Course Outline:
Here is a tentative but detailed outline.
Computing Resources:
Matlab is the computational environment used in CPSC 303. We use only functions from basic Matlab (no toolboxes are required).
You may be expected to read and/or
write small pseudo-code algorithms during exams. You will NOT be expected to write syntactically correct Matlab
code during exams.
Matlab is availablehere to active and registered
UBC students at no cost.
Students may also use departmental licenses through the undergraduate CS labs.
Students who are unfamiliar with the Department of Computer Science can find out useful information,
such as how to create accounts or remote computing, from the
department's services and labs link.
Academic Integrity and Plagiarism:
I expect students to be aware of and adhere to the
UBC policy on academic integrity and plagiarism in all their work in this course.
Academic misconduct of any kind, including cheating on quizzes, assignments or exams, will not be tolerated.
The consequences for academic misconduct will include a grade of zero, and you could also face possible exclusion from the course
or suspension.
Policies:
Please take a few minutes to familiarize yourself with the Computer Science department's rules, policies, and penalties.