The Computational Science Handbook (AY2001/2002)

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

3. Workload and Assessment

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

1. Introduction

Computational Science is an emerging discipline that brings computers and science together to a new frontier, with numerical method, symbolic computation, and graphic visualization playing key role in scientific investigation. The new subject merges the methodologies of theory and experiment in the field of science.  Computational Science is interdisciplinary. It uses the technology of computer to study problems in biology, chemistry, mathematics, physics, and other applied or engineering fields.  These problems are tackled through computation, simulation, modeling, and graphical visualization. With appropriate models, algorithms, and inputs, answers obtained which are important for designing, decision making, planning, etc.  At the research forefront, computation may lead to new discoveries and can handle problems of unprecedented complexity.  There have also appeared several non-traditional areas such as computational finance, quantum computing, and neural computing.  A computational scientist needs to be conversant in both the fundamentals of computer science and in the scientific field whose problems he wishes to solve.
 
The computational approach complements the traditional scientific methodologies which are theoretical study and experimentation. While they are still valuable to the progress of science, the computational approach can be cheaper, faster, or safer to implement. With the tremendous growth of computing power over the last half a century, it is clear that computation is becoming more and more useful in all areas of science and engineering, thus necessitating the training of a group of scientists who can fully exploit the capabilities of computer hardware for basic and applied scientific work.
 
Since computation requires a good knowledge of computer and computational methods, mastering computer programming languages such as C and knowing enough mathematics are paramount important. Computational science also needs a solid foundation in science.
 
Graduates in Computational Science will have a solid scientific background as well as the ability to handle complex problems in science and technology using advanced computer techniques and hardware. As the research and development capabilities of industries in Singapore develop and diversify in the 1990s and beyond, the demand for computational scientists is expected to grow and multiply.
 
 
 

2. Course Structure

A student intending to major in Computational Science is required to have a good pass in Mathematics C (and preferably also in Chemistry and/or Physics) in the A-level examinations.

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).
 

2.1 BSc in Computational Science

It should be noted that some required modules from other departments have prerequisites that are not major requirements.  Students should check the appropriate departmental prerequisites for listed required modules.

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. 

2.2 Minor in Computational Science

To qualify for a minor in Computational Science, a candidate must
(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.

2.3 Advanced Placement Credits

Candidates with an A grade in A-level Mathematics C and in Computing can be exempted from and granted credit for CZ1102. Candidates seeking advanced placement will be asked to attend an interview, and if necessary to sit for an assessment test.

2.4 Double Major Programmes

Candidates can pursue a double major programme if desired. In such a programme, a candidate is required to satisfy the BSc degree requirement of a second major in addition to the requirements of the Computational Science Major. When satisfactory progress is made the candidate can qualify for selection into the  Honours Programme in Computational Science  of the second major.

The Department Heads of Chemistry, Computational Science, Mathematics and Physics should be consulted for advice and details.

2.5 4 yr Computational Science Programme (Honours)

Students may select a 4 yr track leading to a possible Honours degree.  The criteria for obtaining an  honours degree (and the relevant class) are listed at the beginning of this handbook  The CZ Honours program is particularly more demanding than the regular CZ program because of the interdisciplinary nature of computational science.  Because of this,  we strongly encourage those students interested in Honours to do a double major in CZ and one of the application disciplines.  Candidates for the CZ Honours Programme are required to
 
(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. 

2.6 Advisory Service

Students with problems or queries are encouraged to make appointments to see the academic advisors:
 
 

3. Workload and Assessment

A typical 4MC module consists of 26 hours of lectures, 6 tutorials, and 12 hours of computer laboratory work (practicals), and some additional hours for doing homework.A typical 3MC module consists of 20 hours of lectures, 4 tutorials, 12 hours of laboratory work.

 
 

4. Modules Offered in 2001/2002

Please note that the curriculum has been revised.   Name or course number changes of  the modules are indicated.   The old name/number modules are listed for the benefit of earlier matriculating students.
Code Title MC Sem I Sem II Prerequisites Overlap/
Preclusions
*CZ1102 ProblemSolving and Computation 4 X   AO-Level Math
IT1002/CS1101 
*+CZ1105 /
GEM1504K
Overview of Scientific Computation 4 X      
*CZ1106 Programming Techniques in Scientific Computing 
4
 
X
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
4
 
X
   
CZ2288/9 Basic Undergraduate Research in Computational Science
 4
X
 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
3
 
X
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
 X
   
Level 4000            
CZ4100 Honours Project 12
 X
X    
*CZ4105 Numerical Methods for Partial Differential equations
4
X
  CZ3105(CZ2103) MA3228
*CZ4106 Scientific Modeling & Visualization
4
 
X
CZ4105  
CZ4242 Molecular Systems 4  
 X
CZ3242  
CZ4275 Condensed Matter Systems 4
 X
  CZ3272  
CZ4273 Image Processing 4  
 X
CZ3273  
Level 5000            
CZ5201 Advanced Computational Methods 4 X   Dept Approval  
CZ5202 High Performance Computing Techniques
4
    Dept Approval  
CZ5206 Advanced Simulation Methods
4
 
X
Dept Approval  
CZ5211 Topics in Computational Science 4
 X
Dept Approval  
CZ5235  Wavelets & Applications
4
    Dept Approval  
CZ5274  Fluid Dynamics
4
 
X
Dept Approval or CZ4105 (co-requisite for undergraduates)  

*Essential Modules      +CZStudents cannot take these as GER
 
 
 

5. Brief Description of Modules Offered

5.1 Level 1000 Modules

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.
 

5.2 Level 2000 Modules

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.
 

5.3 Level 3000 Modules

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.
 

5.4 Level 4000 Modules

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.
 

5.5 Level 5000 Modules

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.)
 
 
 

6. Sample CZ Module Schedules

Modules must be added to satisfy university requirement for graduation

6.1 Sample 3 year Computational Science Programs

Year Semester I Semester II
1 *CZ1102   Programming
*CZ1105   Scientific Comp 
!!MA 1102 Calculus 
SFM/GER
*MA1101  Linear Algebra
*CZ1106   Programming Tech
*MA2216  Probability 
SFM/GER
And/or other modules to make up to 4-6 modules per semester.
2 *CZ2102  Algorithms
*MA2101  Linear Algebra II 
*MA2221  Techniques in Adv Calc 
GER
*CZ2105  Numerical Meth I 
*CZ2106  Simulation 
*MA2210 Math Methods 
GER
Plus other modules to make up to 4-6 modules per semester.
3 *CZ3105  Num Methods II
*CZ3106  Symbolic Computing
#CZ3273  Signal Processing 
#MA3229 Geometric Modeling 
GER
*CZ3101  High Perf Computing
#CZ3234  Evol. Comp & Optm 
GER 
HRM
Plus other modules to make up to 4-6 modules per semester.
* required module, # elective module, !! prerequisite for other math modules
Year Semester I Semester II
1 *CZ1102 Programming
*CZ1105 Scientific Comp 
!!PC1131  Physics I 
*PC1134  Math Meth in PhysI
*CZ1106 ProgramTech
*PC1132 Physics II 
*PC1133 Physics III
SFM
And/or other modules to make up to 4-6 modules per semester.
2 *CZ2102 Algorithms
*PC2134 Math Meth in PhysII
GER 
GER
*CZ2105 Num Meth I
*CZ2106 Simulation
#PC2131 E&M 
GER
Plus other modules to make up to 4-6 modules per semester.
3 *CZ3105 Numerical Methods II
*CZ3106 Symbolic Computing
#CZ3273 Signal Processing 
#PC3231 E&M II 
GER
*CZ3101 High Perf Computing
#CZ4273 Image Processing
GER 
HRM
Plus other modules to make up to 4-6 modules per semester.
* required module, # elective module, !! prerequisite for other physics
Year Semester I Semester II
1 *CZ1102 Programming
*CZ1105 Scientific Comp 
!!CM1131 Principles of Chem
*PC1134 Math Meth in PhysI
*CZ1106 ProgramTech
*CM1121 Organic Chem
*CM1131 Phys Chem
SFM
And/or other modules to make up to 4-6 modules per semester.
2 *CZ2102 Algorithms
*CM2132 Physical Chem
*PC2134 Math Meth in PhysII 
GER
*CZ2105 Num Meth I
*CZ2106 Simulation
GER
GER
Plus other modules to make up to 4-6 modules per semester.
3 *CZ3105 Numerical Methods II
*CZ3106 Symbolic Computing
*CM3231 Quantum Chem 
#CZ3272 Monte Carlo & MD 
GER
*CZ3101 High Perf Computing
#CZ3242 Comp Tech for Q sys
GER
HRM
Plus other modules to make up to 4-6 modules per semester.
* required module, # elective module, !! prerequisite for other chem

6.2 Sample 4 year Computational Mathematics Program

Year Semester I Semester II
1 *CZ1102 Programming
*CZ1105 Scientific Comp 
!!MA1102 Calculus
GER/SFM
*CZ1106 ProgramTech
*MA1101 Linear Algebra
*MA2216 Probability
SFM/GER
And/or other modules to make up to 4-6 modules per semester.
2 *CZ2102 Algorithms
*MA2101 Lin Alg II
*MA2221 Techniques in Adv Calc 
GER
GER
*CZ2105 Num Meth I
*CZ2106 Simulation
*MA2210 Math Methods
#MA2215 Linear Prog
Plus other modules to make up to 4-6 modules per semester.
3 *CZ3105 Numerical Methods II
*CZ3106 Symbolic Computing
*MA3248 Math Methods II
#CZ3273 Signal Processing
GER
*CZ3101 High Perf Computing
#CZ3234 Evol Comp & Opt
#MA3236 Nonlinear Prog
GER
HRM
Plus other modules to make up to 4-6 modules per semester.
 
4 *CZ4101 Project
*CZ4105 PDE's
#CZ5274 Fluid Dyn. 
#MA4253 Math Prog
GER
*CZ4101 Project
#CZ4106 Sci Mod & Viz
#CZ5235 Wavelets & Apps
#MA4254 Discrete Opt.
GER
Plus other modules to make up to 4-6 modules per semester.
 
* required module, # elective module, !! prerequisite for other math

6.3 Sample 4 year Computational Physics Program

Year Semester I Semester II
1 *CZ1102 Programming
*CZ1105 Scientific Comp 
!!PC1131 Physics 1
*PC1134 Math Meth in PhysI
GER/SFM
*CZ1106 ProgramTech
*PC1132 Physics II
*PC1133 Physics III
SFM/GER
And/or other modules to make up to 4-6 modules per semester.
2 *CZ2102 Algorithms
*PC2130 Quantum Mechanics
*PC2134 Math Meth in PhysII 
GER
*CZ2105 Num Meth I
*CZ2106 Simulation
*PC2230 Stat Phys
#PC2131 E&M
GER
Plus other modules to make up to 4-6 modules per semester.
3 *CZ3105 Numerical Methods II *CZ3106 Symbolic Computing
*PC3231 E&M II 
#CZ3273 Signal Processing 
GER
*CZ3101 High Perf Computing
#CZ3234 Evol Comp and Opt
GER
HRM
Plus other modules to make up to 4-6 modules per semester.
 
4 *CZ4101 Project
*CZ4105 PDE's
#PC4215 Stat Mech
#PC4231 Remote Sensing
GER
*CZ4101 Project
#CZ4106 Sci Mod & Viz
#CZ5235 Wavelets & Apps
#CZ4273 Image Processing
GER
Plus other modules to make up to 4-6 modules per semester.
 
* required module, # elective module, !! prerequisite for other physics

6.4 Sample 4 year Computational Chemistry Program

Year Semester I Semester II
1 *CZ1102 Programming
*CZ1105 Scientific Comp 
!!CM1131 Principles of Chem
*PC1134 Math Meth in PhysI
GER/SFM
*CZ1106 ProgramTech
*CM1121 Organic Chem
*CM1131 Phys Chem
SFM/GER
And/or other modules to make up to 4-6 modules per semester.
2 *CZ2102 Algorithms
*CM2132 Physical Chem
*PC2134 Math Meth in PhysII 
GER
*CZ2105 Num Meth I
*CZ2106 Simulation
GER
GER
Plus other modules to make up to 4-6 modules per semester.
3 *CZ3105 Numerical Methods II *CZ3106 Symbolic Computing
*CM3231 Quantum Chem 
#CZ3272 Monte Carlo & MD 
GER
*CZ3101 High Perf Computing
#CZ3242 Comp Tech Q sys
#CM3242 Chem Solids & Int.
#CM3296 Mol Theory& Model
HRM
Plus other modules to make up to 4-6 modules per semester.
 
4 *CZ4101 Project
*CZ4105 PDE's
#CZ4275 Comp in Cond Mat 
#CM4231 Molecular Strut 
GER
*CZ4101 Project
#CZ4106 Sci Mod & Viz
#CZ4242 Molec Sys
#CM4235 Macromolecules
GER
Plus other modules to make up to 4-6 modules per semester.
 
* required module, # elective module, !! prerequisite for other chem

 
 

7.  Prerequisites for Application Science Courses

7.1 Mathematics

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

7.2 Chemistry

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

7.3 Physics

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