Applied Mathematics and Computational Science Program
The Applied Mathematics and Computational Sciences (AMCS) program trains students in constructing and solving mathematical and computational models of real-world problems. The program in AMCS includes five tracks, each of which leads to a frontier of applied and computational mathematics. The five track areas are:
- Partial Differential Equations (PDEs)
- Geometric Modeling and Scientific Visualization (GMSV)
- Information Science (IS)
- Modeling and Numerical Simulation (MNS)
- Computational Geoscience (CG)
Three degree programs are offered: the MS degree without thesis, the MS degree with thesis, and the PhD degree.
The Core course requirements for all students in the AMCS program are:
- Numerical Optimization (AMCS 211) or Linear and Nonlinear Optimization (AMCS 212)
- Numerical Linear Algebra (AMCS 251)
- Numerical Analysis of Differential Equations (AMCS 252)
- Applied Partial Differential Equations I (AMCS 231)
- Probability and Random Processes (AMCS 241)
The Immersion courses in each AMCS track are as follows:
Partial Differential Equations:
- Stochastic Differential Equations (AMCS 236)
- Applied Partial Differential Equations II (AMCS 331)
- Mathematical Modeling (AMCS 332)
- Hyperbolic Conservation Laws and Godunov-type Methods (AMCS 333)
- Mathematical Fluid Dynamics (AMCS 334)
Geometric Modeling and Scientific Visualization:
- Scientific Visualization (AMCS 247)
- Computer Graphics (AMCS 248)
- Geometric Modeling (AMCS 272)
- GPU and GPGPU Programming (AMCS 380)
Information Science:
- Machine Learning (AMCS 229)
- Information Networks (AMCS 337)
- Computational Methods in Data Mining (AMCS 340)
- Advanced Topics in Data Management (AMCS 341)
Modeling and Numerical Simulation:
- Stochastic Differential Equations (AMCS 236)
- Scientific Visualization (AMCS 247)
- Stochastic Methods in Engineering (AMCS 308)
- Computational Science and Engineering (AMCS 330)
- Mathematical Modeling (AMCS 332)
- Computational Methods in Data Mining (AMCS 340)
Computational Geoscience
CG track students must take 3 of the following ErSE courses:
- Geophysical Fluid Dynamics I (ErSE 201)
- Geophysical Continuum Mechanics (ErSE 203)
- Seismology I (ErSE 210)
- Global Geophysics (ErSE 211)
- Seismic Exploration (ErSE 214)
- Inverse Problems and Data Assimilation (ErSE 216)
- Data Analysis in Geosciences (ErSE 253)
- Seismic Imaging (ErSE 260)
- Multiphase Flows in Porous Media (ErSE 305)
CG track students must also earn 6 credits conducting directed research and/or taking courses from the list below:
- Stochastic Methods in Engineering (AMCS 308)
- High Performance Computing I (AMCS 311)
- Computational Science and Engineering (AMCS 330)
- Applied Partial Differential Equations II (AMCS 331)
- Hyperbolic Conservation Laws and Godunov-type Methods (AMCS 333)
Master of Science degree
Each MS degree student will be assigned an academic advisor who will assist the student in planning his/her program of study.
MS degree without thesis
The MS without thesis is typically a one year program. Typically, this will involve 4 courses each in the fall and spring semesters, and 6 credits of summer research or coursework. The degree requirements for the MS without thesis are:
- Complete the five core courses
- Complete three immersion courses in a chosen track
- Complete one cognate course from outside the AMCS program
- Complete 3 additional credits (coursework or directed research), for a total of 30 credits (minimum).
- Write a short technical report and give a scientific presentation.
The last requirement may be fulfilled by, for instance, a course research project presentation and report.
MS degree with thesis
The MS degree with thesis is typically a 3-4 semester program. The degree requirements for the MS with thesis are:
- Complete the five core courses
- Complete three immersion courses in a chosen track
- Complete one cognate course from outside the AMCS program
- Complete 9 more credits, of coursework and/or directed research, for a total of 36 credits minimum.
- Complete an additional12 credits of AMCS 297 (MSc Thesis), present the thesis at a public seminar followed by an examination, and obtain approval signatures of the thesis committee.
The MS thesis must involve research under the supervision of a KAUST faculty member. Typically, students in this program will complete their coursework during the first year, although additional courses may be taken during the second year. By the end of the student’s first year at KAUST, the student must find an advisor. By the end of the third semester, the student is required to form a committee including the advisor and two other faculty, one outside of the AMCS program. This committee must read and approve the thesis.
Doctor of Philosophy degree
Ph.D. students must first satisfy the coursework requirements for the M.S. program, take at least 6 additional credits of 300-level coursework, pass qualifying examinations, and conduct original research culminating in a doctoral dissertation. Ph.D. coursework in AMCS is designed to, ensure that graduates are equipped to lead multidisciplinary research in which they are required to communicate in the language of and understand the intellectual culture of each contributing discipline—from formulation, to mathematical technique, to computational implementation, to analysis and interpretation of results. Completing the Ph.D. program generally takes 3 additional years beyond the completion of the M.S. program requirements. The Ph.D. requirements are described in greater detail below.
A faculty advisor is either immediately designated (in the case of a student being recruited by a specific faculty member) or temporarily assigned (in the case of KAUST fellowship students); in the latter case, the student is expected to identify a research advisor by (at the latest) the end of the first year. There are two phases and associated milestones for PhD students: (i) a qualification phase with a candidacy milestone and (ii) a dissertation phase with a final defense milestone.
The Ph.D. program consists of the following requirements:
- Coursework and comprehensive exam.
- Acceptance to candidacy.
- Doctoral thesis and final examination.
Coursework requirements
Students pursuing a Ph.D. must first satisfy the coursework requirements for the M.S. program. For students admitted to the program after obtaining a Master’s degree elsewhere, some or all of these requirements may be waived, at the discretion of the student’s advisor and with the approval of the dean. All Ph.D. students must complete at least an additional 6 credits of 300-level coursework.
For most students admitted to the Ph.D. program, an advisor will already have been identified. If not, an interim advisor will be assigned. In any case, the student must identify a research advisor by the end of the first year.
Comprehensive Exam
The comprehensive exam covers material from the students Masters and PhD coursework. The student will be provided a list of examination topics in advance. The possible outcomes of the exam are: pass, fail, or fail with possibility of retake. In the case of a retake, the student must retake and pass the exam within 3 months of the date of the first exam. The exam is administered by an examination committee, which does not include the student’s advisor. The committee may waive the exam based on the student’s preparation and performance.
Admission to Candidacy
To be admitted to candidacy, the student must:
- Complete the coursework requirements and pass the comprehensive exam (unless waived).
- Identify an advisor and form a supervisory committee.
- Present a doctoral research proposal and obtain approval of the supervisory committee.
Supervisory committee
The supervisory committee is formed by the student under the guidance of the advisor. The committee is chaired by the advisor, and must include at least three other faculty, one of whom must be external to the program. The committee may additionally include one or more appropriate persons external to KAUST. The committee must meet at least once annually (as arranged by the student) with the student to discuss the student’s progress. The supervisor and two other committee members must be designated as readers.
Doctoral Candidacy Exam
The doctoral candidacy exam tests the student's preparedness to pursue thesis research. It is a public oral presentation of a research proposal, together with questioning by the advisory committee. The student must submit a written research proposal to the committee two weeks prior to the exam. The committee shall consist of a minimum of three KAUST faculty members, one of whom must be external to the degree program. The candidate must convince the committee that the chosen research area is suitable and demonstrate an appropriate breadth of knowledge in the chosen area. The committee should decide if there is a thesis topic in the area and whether the candidate is capable of completing such a thesis. There are four possible outcomes: pass, conditional pass, failure with retake permitted, and failure. Passing the qualification phase is achieved by acceptance of all committee members of the written proposal and a positive vote of all but, at most, one member of the oral exam. If more than one member casts a negative vote, one retake of the oral defense is permitted if the entire committee agrees. A conditional pass involves conditions (e.g., another course in a perceived area of weakness) imposed by the committee, with the conditional status removed when the conditions have been met. Each student is expected to complete the candidacy exam by the end of the second year.
Thesis and Final Examination
The student must schedule the final examination after completion of the doctoral research (including completion of 60 credits of AMCS 397) and writing of the thesis. This examination will be a defense of the doctoral thesis and a test of the candidate’s knowledge in the specialized field of research. The format of the examination will be a public seminar presented by the candidate, with an open question period, followed by a private examination by the final examination committee. The final examination committee shall consist of a minimum of four members, one of whom should be a KAUST faculty member external to the degree program and one of whom should be external to KAUST (holding a faculty position or equivalent position at another institution, with approval by both the faculty research advisor and division dean). The only requirement for commonality with the proposal examination committee is the research advisor, although it is expected that other members will carry forward to the dissertation committee. Passing the dissertation phase is achieved by acceptance of all committee members of the written dissertation, with a minimum of a positive vote of all but, at most, one member of the oral defense. If more than one member casts a negative vote, one retake of the oral defense is permitted if the entire committee agrees. A fifth non-voting KAUST faculty member, appointed by the division dean, shall serve as a faculty monitor to ensure that the established protocol is followed, and the required forms are completed.
APPLIED MATHEMATICS AND COMPUTATONAL SCIENCE (AMCS) COURSE DESCRIPTIONS
Note: Some AMCS courses listed below are cross-listed in the Computer Science (CS) program.
AMCS 201. Applied Mathematics I (3-0-3) Prerequisites: Advanced and multivariate calculus and elementary complex variables. Fulfills University Mathematics Requirement. No degree credit for AMCS majors. AMCS 201 and 202 may be taken separately or in either order. Part of a fast-paced two-course sequence in graduate applied mathematics for engineers and scientists, with an emphasis on analytical technique. A review of practical aspects of linear operators (superposition, Green’s functions, and eigenanalysis) in the context of ordinary differential equations, followed by extension to linear partial differential equations (PDEs) of parabolic, hyperbolic, and elliptic type through separation of variables and special functions. Integral transforms of Laplace and Fourier type. Self-similarity. Method of characteristics for first-order PDEs. Introduction to perturbation methods for nonlinear PDEs, asymptotic analysis, and singular perturbations.
AMCS 202. Applied Mathematics II (3-0-3) Prerequisites: Advanced and multivariate calculus and elementary complex variables. Fulfills University Mathematics Requirement. No degree credit for AMCS majors. AMCS 201 and 202 may be taken separately or in either order. Part of a fast-paced two-course sequence in graduate applied mathematics for engineers and scientists, with an emphasis on analytical technique. A review of linear spaces (basis, independence, null space and rank, condition number, inner product, norm, and Gram-Schmidt orthogonalization) in the context of direct and iterative methods for the solution of linear systems of equations arising in engineering applications. Projections and least squares. Eigenanalysis, diagonalization, and functions of matrices. Complex analysis, Cauchy-Riemann conditions, Cauchy integral theorem, residue theorem, Taylor and Laurent series, contour integration, and conformal mapping.
AMCS 206. Applied Numerical Methods (3-0-3) Prerequisites: Advanced and multivariate calculus. Fulfills University Mathematics Requirement. No degree credit for AMCS majors. A fast-paced one-semester survey of numerical methods for engineers and scientists, with an emphasis on technique and software. Computer representation of numbers and floating point errors. Numerical solution of systems of linear and nonlinear algebraic equations, interpolation, least squares, quadrature, optimization, nonlinear equations, approximation of solutions of ordinary and partial differential equations. Truncation error, numerical stability, stiffness, and operation and storage complexity of numerical algorithms.
AMCS 207. Programming Methodology and Abstractions (3-0-3) (Same as CS 207.) Computer programming and the use of abstractions. Software-engineering principles of data abstraction and modularity. Object-oriented programming, fundamental data structures (such as stacks, queues, sets) and data-directed design. Recursion and recursive data structures (linked lists, trees, graphs). Introduction to basic time and space complexity analysis. The course teaches the mechanics of the C, C++ or Java language. This course is considered remedial training for students in the AMCS program and will not count toward any degree requirement.
AMCS 210 Applied Probability and Biostatistics (3-0-3) (Same as CS 210.) Prerequisites: Advanced and multivariate calculus. Fulfills University Mathematics Requirement. Probability: random variables, independence, and conditional probability; discrete and continuous distributions, moments, distributions of several random variables. Topics in mathematical statistics: random sampling, point estimation, confidence intervals, hypothesis testing, nonparametric tests, regression and correlation analyses. Applications in engineering, industrial manufacturing, medicine, biology, and other fields.
AMCS 211. Numerical Optimization (3-0-3) Prerequisites: Advanced and multivariate calculus and elementary real analysis. Fulfills University Mathematics Requirement. Solution of nonlinear equations. Optimality conditions for smooth optimization problems. Theory and algorithms to solve unconstrained optimization; linear programming; quadratic programming; global optimization; general linearly and nonlinearly constrained optimization problems.
AMCS 212. Linear and Nonlinear Optimization (3-0-3) Prerequisites: Advanced and multivariate calculus. Fulfills University Mathematics Requirement. The role of duality, optimality conditions and algorithms in finding and recognizing solutions. Perspectives: problem formulation, analytical theory, computational methods and recent applications in engineering, finance and economics. Theories: finite dimensional derivatives, convexity, optimality, duality and sensitivity. Methods: simplex and interior-point, gradient, Newton and barrier.
AMCS 221. Artificial Intelligence (3-0-3) (Same as CS 221.) Prerequisites: working knowledge of basic discrete mathematics (e.g., sets and functions) and proof techniques, programming ability (and exposure to probability). An introduction to the principles and practices of artificial intelligence. Topics include: search, constraint satisfaction, knowledge representation, probabilistic models, machine learning, neural networks, vision, robotics and natural-language understanding.
AMCS 229. Machine Learning (3-0-3) (Same as CS 229.) Prerequisites: linear algebra and basic probability and statistics. Familiarity with artificial intelligence recommended. Topics: statistical pattern recognition, linear and non-linear regression, non-parametric methods, exponential family, GLIMs, support vector machines, kernel methods, model/ feature selection, learning theory, VC dimension, clustering, density estimation, EM, dimensionality reduction, ICA, PCA, reinforcement learning and adaptive control, Markov decision processes, approximate dynamic programming and policy search.
AMCS 231. Applied Partial Differential Equations I (3-0-3) Prerequisites: Advanced and multivariate calculus and elementary complex variables. Fulfills University Mathematics Requirement First part of a sequence of courses on partial differential equations (PDE) emphasizing theory and solution techniques for linear equations. Origin of PDE in science and engineering. Equations of diffusion, heat conduction, and wave propagation. The method of characteristics. Classification of PDE. Separation of variables, theory of the Fourier series and Fourier transform. The method of Green’s functions. Sturm-Liouville problem, special functions, eigenfunction expansions. Higher dimensional PDE and their solution by separation of variables, transform methods, and Green’s functions. Fractional PDE. Introduction to quasi-linear PDE and shock waves.
AMCS 236. Introduction to Stochastic Differential Equations (3-0-3) Prerequisites: knowledge of basic probability, numerical analysis, and programming. Brownian motion, stochastic integrals and diffusions as solutions of stochastic differential equations. Functionals of diffusions and their connection with partial differential equations. Weak and strong approximation, efficient numerical methods and error estimates. Jump diffusions.
AMCS 241. Probability and Random Processes (3-0-3) (Same as CS 241 and EE 241.) Prerequisites: Advanced and multivariate calculus. Introduction to probability and random processes. Fulfills University Mathematics Requirement. Topics include probability axioms, sigma algebras, random vectors, expectation, probability distributions and densities, Poisson and Wiener processes, stationary processes, autocorrelation, spectral density, effects of filtering, linear least-squares estimation and convergence of random sequences.
AMCS 247. Scientific Visualization (3-0-3) (Same as CS 247.) Prerequisites: Advanced and multivariate calculus, and linear algebra, computer graphics, and programming experience. Techniques for generating images of various types of experimentally measured, computer generated, or gathered data. Grid structures. Scalar field visualization. Vector field visualization. Particle visualization. Graph visualization. Animation. Applications in science, engineering, and medicine.
AMCS 248. Computer Graphics (3-0-3) (Same as CS 248.) Prerequisites: solid programming skills and linear algebra. Input and display devices, scan conversion of geometric primitives, 2D and 3D geometric transformations, clipping and windowing, scene modeling and animation, algorithms for visible surface determination, local and global shading models, color and real-time rendering methods.
AMCS 251. Numerical Linear Algebra (3-0-3) (Same as CS 251.) Prerequisites: Programming skills (MATLAB preferred) and linear algebra. Fulfills University Mathematics Requirement. Linear algebra from a numerical solution perspective. Singular Value Decomposition, matrix factorizations, linear least squares, Gram-Schmidt orthogonalization, conditioning and stability, eigenanalysis, Krylov subspace methods and preconditioning, and optimization and conjugate gradient methods.
AMCS 252. Numerical Analysis of Differential Equations (3-0-3) Prerequisites: Analysis of PDEs and numerical analysis. Fulfills University Mathematics Requirement. Theory and technique for the numerical analysis of ODEs and of PDEs of parabolic, hyperbolic, and elliptic type: accuracy, stability, convergence and qualitative properties. Runge-Kutta and linear multistep methods, zero-stability, absolute stability, stiffness, and order conditions. Finite difference methods, multigrid, dimensional and operator splitting, and the CFL condition.
AMCS 260 Design and Analysis of Algorithms (3-0-3) (Same as CS 260.) Prerequisite: computer programming skills, probability, basic data structures, basic discrete mathematics. Fulfills University Mathematics Requirement. Review of algorithm analysis (search in ordered array, binary insertion sort, merge sort, 2-3 trees, asymptotic notation). Divide and conquer algorithms (master theorem, integer multiplication, matrix multiplication, fast Fourier transform). Graphs (breadth-first search, connected components, topological ordering, depth-first search). Dynamic programming (chain matrix multiplication, shortest paths, edit distance, sequence alignment). Greedy algorithms (binary heaps, Dijkstra's algorithm, minimum spanning tree, Huffman codes). Randomized algorithms (selection, quick sort, global minimum cut, hushing). P and NP (Cook's theorem, examples of NP-complete problems). Approximate algorithms for NP-hard problems (set cover, vertex cover, maximum independent set). Partial recursive functions (theorem of Post, Diophantine equations). Computations and undecidable problems (undecidability of halting problem, theorem of Rice, semantic and syntactical properties of programs).
AMCS 261 Algorithmic Paradigms (3-0-3) (Same as CS 261.) Prerequisite: Familiarity with discrete algorithms at the level of AMCS 260. Fulfills University Mathematics Requirement. Topics: algorithms for optimization problems such as matching, maxflow, min-cut and load balancing. Using linear programming, emphasis is on LP duality for design and analysis of approximation algorithms. Approximation algorithms for NP-complete problems such as Steiner trees, traveling salesman and scheduling problems. Randomized algorithms.
AMCS 271. Applied Geometry (3-0-3) Differential Geometry: selected topics from the classical theory of curves and surfaces, geometric variational problems, robust computation of differential invariants, discrete differential geometry. Projective Geometry: computing with homogeneous coordinates, projective maps, quadrics and polarity. Algebraic Geometry: algebraic curves and surfaces, rational parametrizations, basic elimination theory. Kinematical Geometry: geometry of motions, kinematic mappings. The practical use of these topics is illustrated at hand of sample problems from Geometric Modeling, Computer Vision, Robotics and related areas of Geometric Computing.
AMCS 272 Geometric Modeling (3-0-3) (Same as CS 272.) Prerequisites: Advanced and multivariate calculus, and linear algebra, computer graphics, and programming experience. Fulfills University Mathematics Requirement. Terminology, coordinate systems, and implicit forms. Parametric and spline representations of curves and surfaces and their uses. Basic differential geometry of curves and surfaces. Subdivision surfaces. Solid modeling paradigms and operations. Robustness and accuracy in geometric computations. Applications.
AMCS 291 Scientific Software Engineering (3-0-3) (Same as CS 291.) Prerequisites: Programming experience and familiarity with basic discrete and numerical algorithms. Practical aspects of application development for high performance computing. Programming language choice; compilers; compiler usage. Build management using make and other tools. Library development and usage. Portability and the GNU autoconf system. Correctness and performance debugging, performance analysis. Group development practices and version control. Use of third-party libraries and software licensing.
AMCS 292. Parallel Programming Paradigms (3-0-3). (Same as CS 292) Prerequisites: Programming experience and familiarity with basic discrete and numerical algorithms. Distributed and shared memory programming models and frameworks. Thread programming and OpenMP. Message passing and MPI. Parallel Global Address Space (PGAS) languages. Emerging languages for many-core programming. Elements to be covered will include syntax and semantics, performance issues, thread safety and hybrid programming paradigms.
AMCS 297. MSc Thesis (variable credit)
AMCS 298. Graduate Seminar (variable credit) Master-level seminar focusing on special topics within the field.
AMCS 299. Directed Research (variable credit) Prerequisite: Sponsorship of advisor and approved prospectus. Master-level supervised research.
AMCS 308. Stochastic Methods in Engineering (3-0-3) Prerequisites: Basic probability, numerical analysis, and programming. Review of basic probability; Monte Carlo simulation; state space models and time series; parameter estimation, prediction and filtering; Markov chains and processes; stochastic control; Markov chain Monte Carlo. Examples from various engineering disciplines.
AMCS 311 High Performance Computing I (3-0-3) (Same as CS 311.) Prerequisites: Programming experience and familiarity with basic discrete and numerical algorithms. Part one of a two-course sequence in high performance computing technology, with an emphasis on using KAUST’s research computing systems, focusing primarily on hardware architectures. History of high performance computing. Hardware architectures. CMOS processor design. Cache architectures. Memory architectures. Hardware counters. Processing benchmarks. Power. Single-node performance of real applications.
AMCS 312 High Performance Computing II (3-0-3) (Same as CS 312.) Prerequisites: Programming experience and familiarity with basic discrete and numerical algorithms and AMCS 311. Part one of a two-course sequence in high performance computing technology, with an emphasis on using KAUST’s research computing systems, focusing primarily on hardware architectures. I/O systems and communication networks. Communication benchmarks. Theoretical and achievable performance for processor, memory system, network, and I/O. Future architecture directions and limitations. The course is intended to develop a deep understanding of the underlying high performance computing architectures on which the student will develop and deploy applications.
AMCS 330. Computational Science and Engineering (3-0-3) (Same as CS 330.) Programming experience and familiarity with basic discrete and numerical algorithms and experience with one or more computational applications. Case studies of representative and prototype applications in partial differential equations and meshbased methods, particle methods, ray-tracing methods, transactional methods.
AMCS 331. Applied Partial Differential Equations II (3-0-3) Prerequisites: Multivariate calculus, elementary complex variables, ordinary differential equations. Recommended: AMCS 231 or AMCS 201. Fulfills University Mathematics Requirement. Second part of a sequence of courses on partial differential equations (PDE) emphasizing theory and solution techniques for nonlinear equations. Quasi-linear and nonlinear PDE in applications. Conservation laws, first-order equations, the method of characteristics. Burgers’ equation and wave breaking. Weak solutions, shocks, jump conditions, and entropy conditions. Hyperbolic systems of gas dynamics, shallow-water flow, traffic flow, and bio-fluid flow. Variational principles, dispersive waves, solitons. Nonlinear diffusion and reaction-diffusion equations in combustion and biology. Traveling waves and their stability. Dimensional analysis and similarity solutions. Perturbation methods. Turing instability and pattern formation. Eigenvalue problems. Stability and bifurcation.
AMCS 332. Introduction to Mathematical Modeling (3-0-3) An introduction to mathematical modeling through a combination of practical problem-solving experience and applied mathematics techniques, including dimensional analysis, non-dimensionalisation, asymptotic expansions, perturbation analysis, boundary layers, computing and other topics.
AMCS 333. Hyperbolic Conservation Laws and Godunov-type Methods (3-0-3) Theory of linear and nonlinear hyperbolic PDEs, with applications including fluid dynamics, elasticity, acoustics, electromagnetics, shallow water waves, and traffic modelling. Theory of shock and rarefaction waves. Finite volume methods for numerical approximation of solutions; Godunov's method, TVD methods, and high order methods. Stability, convergence, and entropy conditions. Numerical solution of multidimensional problems.
AMCS 334. Mathematical Fluid Dynamics (3-0-3) Prerequisites: AMCS 231 or AMCS 201. Recommended: AMCS 331. Equations of fluid dynamics; inviscid flow and Euler equations; vorticity dynamics; viscous incompressible flow and Navier-Stokes equations; existence, uniqueness, and regularity of solutions of Navier-Stokes equations; Stokes flow; free-surface flows; linear and nonlinear instability and transition to turbulence; rotating flows; compressible flow and shock dynamics; detonation waves.
AMCS 337. Information Networks (3-0-3) (Same as CS 337.) Prerequisite: probability. Network structure of the Internet and the Web. Modeling, scale-free graphs, smallworld phenomenon. Algorithmic implications in searching and interdomain routing, the effect of structure on performance. Game theoretic issues, routing games and network creation games. Security issues, vulnerability and robustness.
AMCS 340. Computational Methods in Data Mining (3-0-3) Prerequisites: Probability and scientific computing. Focus is on very-large-scale data mining. Topics include computational methods in supervised and unsupervised learning, association mining and collaborative filtering. Individual or group applications-oriented programming project. 1 unit without project; 3 units requires final project.
AMCS 361 Combinatorial Machine Learning (3-0-3) Prerequisites: AMCS/CS 260. Lower and upper bounds on complexity and algorithms for construction (optimization) of decision trees, decision rules and tests. Decision tables with one-valued decisions and decision tables with many-valued decisions. Approximate decision trees, rules and tests. Global and local approaches to the study of problems over infinite sets of attributes. Applications to discrete optimization, fault diagnosis, pattern recognition, analysis of acyclic programs, data mining and knowledge discovery. Current results of research.
AMCS 380. GPU and GPGPU Programming (3-0-3) Prerequisite: CS 280. Recommended optional prerequisites: CS 248, CS 292. Architecture and programming of GPUs (Graphics Processing Units). Covers both the traditional use of GPUs for graphics and visualization, as well as their use for general purpose computations (GPGPU). GPU many-core hardware architecture, shading and compute programming languages and APIs, programming vertex, geometry, and fragment shaders, programming with CUDA, Brook, OpenCL, stream computing, approaches to massively parallel computations, memory subsystems and caches, rasterization, texture mapping, linear algebra computations, alternative and future architectures
AMCS 397. Doctoral Dissertation (variable credit)
AMCS 398. Graduate Seminar (variable credit) Graduate Seminar (variable credit) Doctoral-level seminar focusing on special topics within the field.
AMCS 399. Directed Research (variable credit) Prerequisite: Sponsorship of advisor and approved prospectus. Doctoral-level supervised research.


