1. Introduction
2. Course Structure
2.1 BSc in Computational Science
2.2
Minor in Computational Science
2.3 Advanced Placement Credits
2.4 Double
Major Programmes
2.5 4 yr Computational Science Programme (Honours)
2.6
Advisory Service
4. Modules Offered in 2001/2002
5. Brief Description of Modules Offered
5.1 Level 1000
Modules
5.2 Level 2000 Modules
5.3 Level 3000 Modules
5.4 Level 4000
Modules
5.5 Level 5000 Modules
6. Sample CZ Module Schedules
6.1 Sample 3 year Computational
Science Programs
6.2 Sample 4 year Computational Mathematics Program
6.3
Sample 4 year Computational Physics Program
6.4 Sample 4 year Computational
Chemistry Program
7. Prerequisites for Application Science Courses
7.1
Mathematics
7.2 Chemistry
7.3 Physics
The proposed curriculum offers three distinct degrees: (a) B.Sc. in Computational Science incorporating an application science (math, physics, or chemistry),(b) a B.Sc. Honours in Computational Science incorporating one of the above, and (c) a minor in Computational Science.
The course requirement for B.Sc. in Computational Science consists of 17 modules, among them 11 (9 essential modules, 3 from each level, and 2 electives) are from CZ and another 6 from an applications science.Some of these six modules are prescribed while some are higher level electives.
For an Honours degree, the requirement is rather stringent.Students are required to take an additional two application science modules during the second and third years.In the 4th year the student has to take two essential CZ modules, two CZ electives, two application science electives and do an honours project.
The requirements apply to students matriculated in July
2001 in Computational Science major and minor. Students who matriculated earlier
can either follow the new curriculum or that in the handbook for their
matriculation year. For these students who need help, please see a
departmental advisor (listed below).
For the Bsc degree in Computational Science, a candidate must
| (a) | Pass the 9 essential CZ modules from level 1 to 3 (3 at each level). | |
| (b) | Pass 2 CZ elective modules at level 3 or 4. | |
| (c) | Pass 6 science modules (from either MA, PC, or CM) according to one of three options: | |
| i) | MA1101, MA2101, MA2210, MA2216 or ST2131, MA2221, and one elective from the following: MA3229, MA3236, MA3238, and MA3245. (MA2221 may be replaced by MA1104 and MA2108; | |
| ii) | CM1121, CM1131, PC1134, PC2134, CM2132, and CM3231; | |
| iii) | PC1132, PC1133, PC1134, PC2134, and two electives (one from level 2 and one from level 3) from the following: PC2130, PC2131, PC3130, PC3231, and PC3233. | |
The total MCs relevant to the major is 66. Other variations are possible; candidates are encouraged to seek advice from one of the departmental advisors. | ||
| (a) | Pass at least 2 essential CZ1xxx modules; |
| (b) | Pass at least 2 essential CZ2xxx modules; |
| (c) | Pass at least 2 essential CZ3xxx modules. |
In addition, a candidate must satisfy the major requirements in one of the other departments in the Faculty of Science.
The Department Heads of Chemistry, Computational Science, Mathematics and Physics should be consulted for advice and details.
| (a) | Pass the 11 essential CZ modules from level 1 to 4. | |
| (b) | Pass 2 CZ elective modules at level 3 | |
| (c) | Pass 2 CZ electives at level 4 or 5. | |
| (d) | An honours project (CZ4111/CZ4112 or other departmental equivalent) is to be carried out under the supervision of a staff member. The project should normally be in computational chemistry, computational mathematics, or computational physics. | |
| (c) | Pass 10 application science modules according to one of three options: | |
| i) | For Computational Mathematics- MA1101, MA2101, MA2210, MA2216 or ST2131, MA2221, MA3248 (MA2221 may be replaced by MA1104 and MA2108) and four electives (two from level 2 or 3, but at least one from level 3, and two from level 4) from the following: MA2212, MA2215, MA3220, MA3236, {MA3238 or ST3236}, MA3245, MA4251, MA4252, MA4253, or MA4254; | |
| ii) | For Computational Chemistry- CM1121, CM1131, PC1134, PC2134, CM2132, CM3231 and four electives (two from level 2 or 3, and two from level 4) from the following: CM2121, CM3225, CM3232, CM3296, CM4231, CM4232, CM4233, or CM4235; | |
| iii) | For Computational Physics- PC1132, PC1133, PC1134, PC2130, PC2134, PC2230, and four electives (one from level 2, one from level 3, and two level 4) from the following: PC2131, PC2132, PC2231, PC3130, PC3231, PC3233, PC4211, PC4215, PC4221,PC4223, or PC4231. | |
| Code | Title | MC | Sem I | Sem II | Prerequisites | Overlap/ Preclusions |
|---|---|---|---|---|---|---|
| *CZ1102 | ProblemSolving and Computation | 4 | X | AO-Level Math |
| |
| *+CZ1105 / GEM1504K |
Overview of Scientific Computation | 4 | X | |||
| *CZ1106 | Programming Techniques in Scientific Computing |
|
|
CZ1102 or CS1101C | ||
| Level 2000 | ||||||
| *CZ2102 | Algorithms | 4 | X | CZ1106 | ||
| *CZ2105 (formerly CZ1104) |
Numerical Methods for Scientific Computing I | 4 | X | CZ1102 Suggested: PC1134 or MA2101 |
For CZ students matriculating earlier than 2001: only those who have not satisfied CZ1104 should take this class. | |
| *CZ2106 (formerly CZ2205) |
Simulation | 4 | X | CZ1102 or CS1101 | 1st year CZ students are not allowed to sit for this module | |
| +CZ2307 / GEM2503M |
Thinking Science on the Computer |
|
|
|||
| CZ2288/9 | Basic Undergraduate Research in Computational Science |
|
X |
|
||
| Level 3000 | ||||||
| *CZ3101 (formerly CZ3201) |
High Performance Computing (Parallel and Distributed Computing) |
4 | X |
|
CZ2102 | This module satisfies higher level students electives |
| *CZ3105 (formerly CZ2103) |
Numerical Methods for Scientific Computing II | 4 | X | CZ2105(CZ1104) Suggested: PC2134 or MA2221 |
Second or third year CZ students who have passed CZ1104 but need CZ2103 should take this module. | |
| *+CZ3106 (formerly CZ3206) |
Symbolic Computing | 4 | X | CZ2102 | ||
| CZ3241 | Quantum Chemistry | 4 |
|
CZ2103 | CM3231 | |
| CZ3234 | Evolutionary Computation and Optimization |
|
|
CZ3105(CZ2103) | ||
| CZ3242 | Computational Technigues for Quantum Systems (Computational Chem) |
4 | X | CZ3241 or CM3231 or PC2130 | ||
| CZ3272 | Monte Carlo and Molecular Dynamics | 4 | X | CZ3105(CZ2103) | PC3236 | |
| CZ3273 | Signal Processing | 4 | X | CZ3101(CZ2103) | ||
| CZ3288/9 | Advanced Undergraduate Research in Computational Science | 4 | X |
|
||
| Level 4000 | ||||||
| CZ4100 | Honours Project | 12 |
|
X | ||
| *CZ4105 | Numerical Methods for Partial Differential equations |
|
|
CZ3105(CZ2103) | MA3228 | |
| *CZ4106 | Scientific Modeling & Visualization |
|
|
CZ4105 | ||
| CZ4242 | Molecular Systems | 4 |
|
CZ3242 | ||
| CZ4275 | Condensed Matter Systems | 4 |
|
CZ3272 | ||
| CZ4273 | Image Processing | 4 |
|
CZ3273 | ||
| Level 5000 | ||||||
| CZ5201 | Advanced Computational Methods | 4 | X | Dept Approval | ||
| CZ5202 | High Performance Computing Techniques |
|
Dept Approval | |||
| CZ5206 | Advanced Simulation Methods |
|
|
Dept Approval | ||
| CZ5211 | Topics in Computational Science | 4 |
|
|
Dept Approval | |
| CZ5235 | Wavelets & Applications |
|
Dept Approval | |||
| CZ5274 | Fluid Dynamics |
|
|
Dept Approval or CZ4105 (co-requisite for undergraduates) |
*Essential Modules +CZStudents
cannot take these as GER
CZ1102 Problem Solving and Computation (Essential, 4MC)
Prerequisite: AO-Level Math
Solution of scientific problems in
terms of algorithmic steps using high-level languages (such as C). Basic
computer arithmetic. Floating point numbers and numerical accuracy.
Control of computation steps with loops, conditional constructs, and multiple
choices. Handling of large data sets with arrays. Organization of
computation in small units (subprograms). Examples: computation of
mathematical functions, statistical data analysis, sorting of data set, and
numerical integration.
GEM1504K/CZ1105 Overview of Scientific Computation (Essential, GER,
4MC)
Prerequisite: None
Computing in early history
(Babylonian, Kepler, Newton). The idea of computing with machines: abacus,
Babbage's computing engine, von Neumann's computer architecture, first digital
computer (ENIAC), Connection Machine. Examples of using a computer to
solve scientific problems. Arithmetic of the computer, integer and
floating point number representations (accuracy and limitation). Modeling
and simulation of natural phenomena in science - planetary motion, granular
flow, biomolecules, etc. This essential module for CZ students does not count
towards GER requirements for CZ majors.
CZ1106 Programming Techniques in Scientific Computing (Essential, 4MC)
Prerequisite: CZ1102 or CS1101C
Handling of data files.
Efficient implementations of data structures for scientific computations, such
as linked lists, sparse matrices, and spatial data structure. Overview of
scientific programming languages, scientific libraries and application software,
such as C/C++, Fortran, NAG, MATLAB, and Maple. UNIX environment and
visualization tools (e.g., awk, gnuplot, xmgr). Debugging and profiling
tools. A project may be required.
CZ2102 Algorithms (Essential, 4MC)
Prerequisite: CZ1106
Efficiency of algorithms, algorithmic complexity, algorithms for sorting and
searching, algorithms with graphs, fast arithmetic algorithms, FFT.
Approximate algorithms for optimization problems.
CZ2105 Numerical Methods for Scientific Computing I (Essential, 4MC)
Prerequisite: CZ1102
Overlap: MA2213
Suggested:
CZ1106 and (PC1134 or M2101)
Introduction to scientific computing.
Computer arithmetic, numerical errors. Examples of linear systems, e.g.,
resistor network, truss. System of linear equations, gaussian elimination,
LU factorization, SOR method. Norms and condition numbers, accuracy of
solutions. Fitting of experimental data, least-square and
interpolation. Vibrating springs: eigenvalues. Nonlinear equations,
Newton iteration.
CZ2106 Simulation (Essential, 4MC)
Previous module code
CZ2205
Prerequisite: CZ1102/CS1101
A review of probability
theory. Random number generations, Metropolis sampling. Discrete
event simulation, queuing, inventory system, output data analysis, variance
reduction technique. Application examples in finance and
engineering. Introduction to simulation software.
GEMxxxxK/CZ2307 Thinking Science on Computer (Enrichment, GER, 4MC)
Prerequisite: None
Explore simple computer models to understand
how nature works. Emergence of complexity in self-organizing systems. Examples
from predator-prey system, vehicular traffic flow, ant colonies, earthquakes,
river network, turbulence, disease spreading, and social-economic systems.
Evolution, punctuated equilibrium, and self-organized criticality.
CZ3101 High Performance Computing (Essential, 4MC)
Prerequisite: CZ2102
Introduction to high-performance computing.
Vector and parallel computers, shared vs distributed memory. Message
passing, MPI or other programming environment. Timing and performance
analysis of parallel programs. Parallel algorithms in scientific computations,
such as matrix-vector multiplication, solution of linear system. Parallel
software, e.g., ScaLapack.
CZ3105 Numerical Methods for Scientific Computing II (Essential, 4MC)
Prerequisite: CZ2105
Overlap: MA3227
Suggested: (PC2134 or MA2221)
Area and volume of geometric
shapes: numerical integration, gaussian quadrature. Differential equations
in science (pendulum, population model, chemical reaction rates, electrical
circuits, Newton equation). Initial value problem, boundary value
problem. Solution methods - Finite difference, Euler, Runge-Kutta,
etc. System of ODEs.
CZ3106 Symbolic Computing (Essential, 4MC)
Prerequisite:
CZ2102
Symbolic vs numerical computation. Introduction to
Mathematica or Maple. Symbolic programming environment. Data
representation. Polynomial algorithms. Newton iteration and Chinese
remainder theorem in symbolic computing.
CZ3234 Evolutionary Computation and Optimization (Elective, 3MC)
Prerequisite: CZ3105
Introduction to optimisation and
evolutionary computing. Genetic algorithms to solve optimisation problems,
e.g., traveling salesman problem. Simulated anneal and other
heuristics. Introduction to neural network such as multilayer perceptron,
Hopfield network. Supervised learning. Industry applications.
CZ3242 Computational Techniques for Quantum Systems (Elective, 3MC)
Prerequisites: PC2130 or CM3231
Numerical schemes for
time-independent and time-dependent Schroedinger equations: variational methods,
Hartree-Fock method, quantum Monte Carlo methods, R-matrix method, wave-packet
method. Gaussian software.
CZ3272 Monte Carlo and Molecular Dynamics (Elective, 3MC)
Prerequisites: CZ3105 and PC2230 or CM3231(can be corequisite)
Introduction to Markov chain Monte Carlo, Monte Carlo numerical integration,
Metropolis algorithm, cluster algorithms. Simulation of phase transitions in
physical systems (Ising model). Integrators in molecular dynamics, structure of
liquid and solid by molecular dynamics, computation of physical quantities
(total energy, pressure, equation of state, etc). Simulation of
biomolecules. Simulation software.
CZ3273 Signal Processing (Elective, 3MC)
Prerequisite:
CZ2105
Fourier series, discrete Fourier transform, FFT algorithms,
convolution. Band-limited signals and sampling theorem, filter design,
parametric signal modeling.
CZ4105 Numerical Methods for Partial Differential Equations (Essential,
4MC)
Prerequisite: CZ3105
Physical and mathematical
principles leading to partial differential equations, such as locality,
conservation laws, and variational principles. Classification of PDE.
Review of matrix techniques used in numerical solutions of PDE's. Numerical
methods for PDE, e.g., finite difference and spectral method, including their
consistency and stability.
CZ4106 Scientific Modeling and Visualization (Essential, 4MC)
Prerequisite: CZ4105
Models to represent reality through
equations, relationship between model and empirical data, level of
approximations in models, validation of models. Modeling techniques,
dimension analysis. Modeling case studies: e.g., vibration of structures,
biological pattern formation, wave propagation, traffic modeling, financial
modeling. Visualization of volume data, software for visualization.
CZ4242 Molecular Systems (Elective, 4MC)
Prerequisite:
CZ3242
Computational approaches in molecular systems. Topics
to be addressed include electronic structure of molecular systems, Hartree-Fock
approximation, electron correlation, density functional calculations, Gaussian
software. Molecular structure and spectroscopy. Chemical reaction
dynamics, wave-packet method.
CZ4273 Image Processing (Elective, 4MC)
Prerequisite:
CZ3273
Imaging processes and image models. Image transformations,
enhancement, restoration, and segmentation. Image analysis and computer
vision. Data compression techniques.
CZ4275 Condensed-Matter Systems (Elective, 4MC)
Prerequisite:
CZ3272
Selected topics in condensed matter physics and materials science
and the related computational techniques, e.g., density functional theory.
Structural and electronic properties of solid. Polymer and complex fluid
simulation.
CZ5201 Advanced Computational Methods (Elective, 4MC)
Prerequisite: Departmental approval
Advanced ODE and PDE methods,
symplectic integration, finite-element method, grid generation techniques,
artificial boundaries, multi-grid method. Lattice Boltzmann equations, particle
methods.
CZ5202 High Performance Computing Techniques (Elective, 4MC)
Prerequisite: Departmental approval
Computation and visualization
tools and libraries (e.g., MATLAB, Mathematica, MPI, AVS, Lapack,
NAG). Programming techniques for large-scale computations, vector and
parallel computation algorithms. Symbolic computations for science and
engineering problems. Application examples.
CZ5206 Advanced Simulation Methods (Elective, 4MC)
Prerequisite: Departmental approval
Monte Carlo and molecular
dynamics simulation techniques. Application examples: structure phase
transitions, surfaces, protein simulation. Application of quantum
simulation techniques to materials. Application examples, electronic and
structural properties. Introduction to simulation software, e.g., Celrius
2, insight II, MONPAC.
CZ5211 Topics in Computational Science (Elective, 4MC)
Prerequisite: Departmental approval
Current topics in
computational science to be determined by the Department. Examples are
computational techniques such as collocation/Galerkin/wavelets methods, ab
initio method, atomistic simulation of fracture and wear, granular dynamics,
chemical reaction dynamics, quantum Monte Carlo, spatial and temporal chaos,
wavelets, protein structure and folding, computer aided drug design.
CZ5235 Wavelets and Applications (Elective, 4MC)
Prerequisite:
Departmental Approval
Othogonal and biothogonal systems. Wavelets
and frames. Multiscale decomposition and reconstruction algorithms.
Fourier transform, Z-transform, wavelet transform, Wigner transform.
Wavelet applications to signal and image processing, data and image compression,
pattern recognition, application to partial differential equations.
CZ5274 Fluid Dynamics (Elective, 4MC)
Prerequisite:
Departmental Approval or CZ4105(co-requisite for undergraduates)
Introduction to theoretical and computational fluid dynamics, assuming no
prior knowledge. Kinematics of fluid flow, stresses and conservation laws,
the governing equations and vorticity transport. Topics include hydrostatics,
incompressible and irrotational flows, vorticity, and an introduction to
boundary layers and hydrodynamic stability. There will be extensive
computational work on sample applications (e.g. nozzle flows, Orr-Sommerfeld
equations, vortex simulation methods, etc.)
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| |||||
| Required (common) | Prerequisite | |
| MA1101 | Linear Algebra I | Level A |
| MA2101 | Linear Algebra II | MA1101 |
| MA2216/ST3231 | Probability | MA1102 |
| MA2221 | Techniques in Adv Calc | MA1102 |
| MA2210 | Math Methods (Fourier) | MA2221 |
| Required for 4 yr program | Prerequisite | |
| MA3248 | Math Methods II (PDE) | MA2221 or PC1134 |
| Electives 3rd year | Prerequisite | |
| MA3229 | Geometric Modeling | MA2221 |
| MA3236 | Nonlinear Programming | MA1102 & MA2215 |
| MA3238 | Stochastic Processes | MA1101 and {MA2216 or ST2131} |
| MA3245 | Financial Mathematics | MA2216 or ST2131 or ST2334 |
| Additional Electives 4 year program | Prerequisite | |
| MA2215 | Linear Programming | MA1101 |
| MA2212 | Dynamics | MA2221 |
| MA4251 | Stochastic Processes II | MA3238 or ST3236 |
| MA4253 | Mathematical Programming | MA3236 |
| MA4254 | Discrete Optimization | MA2215 |
| MA4257 | Financial Math II | MA3245 |
| Required (common) | Prerequisite | |
| CM1121 | Organic | AO pass |
| CM1131 | Physical Chemistry | AO pass |
| PC1134 | Math Methods | A level Math |
| CM2132 | Physical Chemistry | CM1101 & CM1131 |
| PC2134 | Math Methods II | PC1134 |
| CM3231 | Q Chem and Molecular Thermo | CM2132 |
| Electives for 4 yr program | Prerequisite | |
| CM2121 | Organic | CM1101 & CM1121 |
| CM3225 | Biomolecules | CM2121 |
| CM3232 | Chem of Solid St & Interfac | CM2132 |
| CM3296 | Molecular Theory & Modeling | CM2132 |
| CM4231 | Molecular Struc | CM3231 |
| CM4232 | Stat Thermo | CM3231 |
| CM4233 | Emulsions & Microemul | CM2132 |
| CM4235 | Macromolecules | CM2132 |
| Required (common) | Prerequisite | |
| PC1132 | Physics II (E&M) | AO pass in physics |
| PC1133 | Physics III | AO pass in physics |
| PC1134 | Math Methods | A level Math |
| PC2134 | Math Methods II | PC1134 |
| Required for 4 yr program | Prerequisite | |
| PC2130 | QM | PC1133 & PC1134 |
| PC2230 | Statistical Physics | PC1131 & PC1134 |
| Electives for 3 yr program (two) | Prerequisite | |
| PC2130 | QM | PC1133 & PC1134 |
| PC2131 | E&M | PC1132 & PC1134 |
| PC3130 | QM2 | PC2130 & PC2134 |
| PC3231 | E&M II | PC2131 & PC2134 |
| PC3233 | Atomic& Molec | PC2130 |
| Additional Electives 4 yr program | Prerequisite | |
| PC2132 | Classical Mechanics | PC1131 & PC1134 |
| PC2231 | Modern Optics | PC1132 |
| PC4211 | Atomic & Molec II | PC3233 |
| PC4215 | Stat mech | PC2230 |
| PC4223 | Surface Physics | PC3130 |
| PC4221 | Electrodynamics | PC3231 |
| PC4231 | Remote Sensing | PC3231 |