resources

CISC 810 - Fundamentals of Computational Science

PREREQUISITE: Permission of the Instructor for students not registered in the CSE Master's specialization.

The purpose of this course is to provide a solid foundation in computational methods for students interested in computational science and engineering, and is a preparatory course for QCSE 811 "High Performance Computing". Methods and tools will be provided to enable progress on numerical projects within the students own discipline. Topics to be covered include, computer architecture, data structures, principles of software "carpentry", code profiling and basic optimization, visualization and simulation, numerical mathematics.

Syllabus:

1. Fundamentals of computer architecture, Flynn's Taxonomy

2. Binary representations, floating point arithmetic, including extended precision libraries

3. Fundamentals of data structures and comparison of languages/paradigms

4. Scripting languages & symbolic computation packages (e.g. Maple)

5. Programming & software "carpentry" (engineering), including symbolic debuggers, optimization, efficient UNIX shell scripting

6. Introduction to simulation and numerical techniques, including linear algebra and Monte-Carlo methods

7. Visualization of numerical data (Opendx, VTK)

back