Outline

Instructors
Lectures & Tutorials
Objective
Outline
Prerequisites
Course material
Communication
Tentative schedule
Textbook
Evaluation
Academic Integrity
CEAB Graduate Attributes

Course Outline, Fall 2018
Elementary Numerical Methods
COMP 361/5611

Adapted from E. Doedel's course outline.

Please note: In the event of extraordinary circumstances beyond the University's control, the content and/or evaluation scheme in this course is subject to change.

Instructors

Coordinator: Dr. Tristan Glatard
Office: EV 6.225
e-mail: tristan.glatard@concordia.ca
Office hours: Monday 1pm-2pm.

Teaching Assistant: Timothée Guédon
e-mail: t_guedon@encs.concordia.ca

Lectures & Tutorials

Objective

Numerical methods are important in Science and Engineering. Computer Scientists should have a basic understanding of such algorithms. The purpose of this course is to introduce some elements of Numerical Analysis that are fundamental to almost all scientific computations.

Outline

The following topics are covered: Vector and matrix norms, Gauss elimination, LU-decomposition, row-pivoting, condition number, residual correction, non-linear equations, iterative methods, Newton's method, convergence analysis, polynomial interpolation, numerical differentiation, best approximation, orthogonal polynomials, numerical integration, Gauss quadrature, and (time permitting) spline interpolation, discrete least squares, numerical solution of ODEs, stability of difference methods, stiff ODEs, boundary value problems for ODEs, and numerical solution of PDEs (diffusion problems).

Prerequisites

COMP232 and COMP249. Knowledge of linear algebra (vectors a nd matrices) and calculus (derivatives and integrals) is essential.

Course material

The course material consists of Jupyter notebooks available through GitHub at https://github.com/tgteacher/numerical-methods. The repository also contains tutorials and previous exams.

Students are expected to thoroughly understand the notebooks, and to be able to apply the material to simple problems. Students are responsible for all material covered during the lectures, even if the material does not appear in the posted notebooks.

Communication

Important information will be communicated through Moodle and/or Slack. Students are expected to consult these channels regularly.

Tentative schedule

Date Lecture Assignments
Sep 6 Introduction to Python (Ch 1)
Systems of Linear Algebraic Equations #1 (Ch 2)
Sep 13 Systems of Linear Algebraic Equations #2 (Ch 2)
Sep 20 Interpolation and Curve Fitting (Ch 3)
Sep 27 Roots of Equations #1 (Ch 4)
Oct 4 Roots of Equations #2 (Ch 4) A1
Oct 11 Numerical Differentiation (Ch 5)
Oct 18 Test #1
Oct 25 Numerical Integration (Ch 6)
Nov 1 Initial Value Problems (Ch 7)
Nov 8 Two-Point Boundary value Problems (Ch 8) A2
Nov 15 Recap #1 (Ch 2, 3, 4)
Nov 22 Recap #2 (Ch 5, 6, 7, 8)
Nov 29 Test #2 A3
Dec 13, 7pm-10pm
Final exam

Textbook

Jaan Kiusalaas. Numerical methods in engineering with Python 3. Cambridge university press, 2013.
cover

Available as eBook at Concordia Library.

Course Evaluation

Assignments (10%): There will be 3 programming assignments. You must work on these assignments individually. The assignments are all due on the date of the lecture (Friday), 11:55pm (see exact dates on the schedule table). A grace period of 48 hours will be automatically granted with no penalty (assignments will be accepted until Sunday night, 11:55pm), but no further extension will be granted. Assignments must be submitted through GitHub Classroom, you will receive a link for each assignment.

Tests and Final exam (90%): The tests and final exam are closed-book exams and will be conducted on the dates indicated on the schedule table. In general, you will need to bring your own ENCS calculator. There will be no substitution for a missed test or exam.

Based upon the student's performance on both tests and the assignments, a provisional course letter grade will be assigned, based upon the following weighting scheme: Assignments: 10%, Test 1: 20%, Test 2: 70%. However, if the result of Test 2 is better than the result of Test 1 (as a percentage out of 100) then the weight of Test 1 will be shifted to Test 2.

Students are then given the option of accepting the provisional course letter grade, in which case they will not write the final exam, or not accepting the provisional course letter grade, in which case they must write the final exam. There will be a strict deadline for acceptance of the provisional course letter grade. If no acceptance is received by the deadline then the student must write the final exam.

If a student chooses to write the final exam then the course letter grade will be based on the following weighting scheme: Assignments: 10%, Test 1: 10%, Test 2: 20%, Final Exam: 60%. However, if the result of the Final Exam is better than the result of Test 1 (as a percentage out of 100) then the weight of Test 1 will be shifted to the Final Exam. Moreover, if the result of the Final Exam is better than the result of Test 2 (as a percentage out of 100) then the weight of Test 2 will be shifted to the Final Exam

Note that there is no standard relationship between numeric percentages and letter grades.

Academic Integrity

Violation of the Academic Code of Conduct in any form will be severely dealt with. This includes copying (even with modifications) of program segments. You must demonstrate independent thought through your submitted work. Click on the following link for more information: http://www.concordia.ca/students/academic-integrity.html.

CEAB Graduate Attributes

As part of either the Computer Science or Software Engineering program curriculum, the content of this course includes material and exercises related to the teaching and evaluation of graduate attributes. Graduate attributes are skills that have been identified by the Canadian Engineering Accreditation Board (CEAB) and the Canadian Information Processing Society (CIPS) as being central to the formation of Engineers, Computer Scientists and Information Technology professionals. As such, the accreditation criteria for the Software Engineering and Computer Science programmes dictate that graduate attributes are taught and evaluated as part of the courses. The following is the list of graduate attributes covered in this course, along with a descript ion of how these attributes are incorporated in the course.

Graduate attributes for COMP361 are:

Attribute 1: Knowledge-base: Knowledge of a wide array of fundamental numerical methods used in Science and Engineering, as stated in the course description.

Indicator 1.1: Knowledge base of mathematics

Attribute 2: Problem analysis: Use a wide array of basic numerical methods to model and analyze complex problems in order to establish the requirements and constraints on their design, implementation and deployment solutions.

Indicator 2.1: Problem identification and formulation

Course Learning Objectives

Introduce the students to basic numerical techniques that are fundamental to Scientific and Engineering computing.

Make the students aware of the complexity and the limitations of numerical algorithms.

Teach the students basic concepts and analytical techniques that allow the determination of key properties of numerical algorithms.

Prepare the students for more advanced courses in Scientific and Engineering computing.