Numerical Analysis (COS 374 / 574 Spring 2024)
Instructor:
James Quinlan
Course Syllabus:
pdf
Course description
A study of the theory and application of computational algorithms for interpolation, equation solving, matrix methods, integration, and error analysis. Prerequisites: grades of C or better in COS 160, MAT 252, and MAT 295, or permission of instructor. Offered once every two years. Cr 3. COS 374 is a required elective for the Computer Science major (see all
requirements for Computer Science).
Numerical analysis studies the methods used to solve problems involving continuous variables and is an applied branch of mathematics and computer science. This numerical analysis course aims to provide students with opportunities to learn to devise, evaluate, and use methods for computing approximate but accurate solutions to various numerical problems that arise in mathematics, physics, biology, and data science. COS 374 covers the analysis of direct and indirect methods of solution of linear systems, with attention to generating and propagating numerical errors and computational speed. Matrix conditioning will be considered.
Prerequisites
Grade of C or higher in: COS 160, MAT 252, and MAT 295, or permission of instructor.
Learning Outcomes
By the end of this course, students will be able to:
- Apply basic programming constructs to solve numerical problems
- Show how numbers are represented on the computer and how errors from this representation affect arithmetic
- Apply numerical methods for accurate solutions to scientific problems
- Understand issues of algorithm complexity and programmability
- Solve numerical linear algebra problems
- Interpret machine output and provide a good understanding of the problems of error analysis and convergence of algorithms
Textbook
Software
We will use
The Julia Programming Language (Julia for short). Julia can be installed at the terminal (Linux/Mac) with the command:
curl -fsSL https://install.julialang.org | sh
I also recommend downloading
Octave. If you do not wish to download and install either locally, both can be used in the cloud at
Cocalc.com.
A collection of mathematical software, papers, and databases maintained by Oak Ridge National Laboratory can be downloaded from
Netlib Repository, in particular,
LAPACK,
LINPACK, and
BLAS (Basic Linear Algebra Subprograms) packages/libraries.
Meetings
Communication
Please communicate through
Brightspace.
Grading
Grades will be based on attendance/participation, surveys/suggestions/erratas, exploration/exercise assignments, a midterm, and a final exam with the following percentages:
- 10%: Attendance & Participation
- 30%: Surveys, Suggestions, Summaries, & Lists
- 50%: Exploration Exercises
- 10%: Final Exam
Final Exam
The final examination will be an in-person, written, comprehensive examination. Per the registrar’s schedule, it will be given on Tuesday, April 30, from 8:00 a.m. to 10:00 a.m. in Payson Smith 204.
LaTeX Template
Prepare assignments in (
.tex
) or Markdown (
.md
) and submit through Brightspace under the associated assignment.
You may use this
LaTeX template.
One option to include code is the verbatim environment. For example,
\begin{verbatim}
for i = 1:10
println(i)
end
\end{verbatim}
COS 574 (Graduate Students)
Graduate students taking the class for COS 574 credit are required to complete a project. The project will explore a numerical (linear algebra) topic in more depth. Projects should have sufficient complexity to merit graduate-level work. The project requires a computational component that demonstrates proficiency in programming languages following coding best practices. The write-up should provide background concepts, motivating context, documentation of data sources, code, results, analysis, and conclusions. The report needs to be written in LATEX. Images contained in figures should be at least 300-600 dpi. Final project, including all source code, test matrices, and LATEX must be available on a GitHub repository.
List of project ideas.
Late policy
Unless otherwise noted, exercises/assignments will be due on Friday by 11:59 pm. Late submissions will
not be accepted. In recognition of the fact that there may be unforeseen circumstances that prevent you from submitting some assignments, the two lowest assignment grades will be dropped. Surveys, Suggestions, Lists, & Erratas due dates vary, and notice will be given several days in advance.
Tips for Success
- attend all class meetings
- read the material before coming to class
- complete assignments by the due dates specified
- create a study and/or assignment schedule to stay on track
- read announcements
- communicate regularly with your instructor and peers
- read and respond to course email messages as needed
- utilize USM's Online Student Support Services
- turn off your cellphone
Classroom Policies
- No cellphones
- Bring a laptop (but only use when coding) AND textbook
- No AI (you are not learning if copilot codes for you)