First Semester Subjects

SCC 434 High Performance Computing                                     
The development of Supercomputers: A review of conventional machines, Hardware improvements, Software: improvements, clock cycle limitations, Hardware vs. software, Grand challenge problems, new architecture, parallel architecture, parallel algorithm, parallel language, parallel compiler, parallel operating systems, parallel programming. Introductory survey of supercomputers: Definition of a supercomputer, Number of processors, Peak speeds, Characteristics of supercomputers, Performance Evaluation, Flynn’s Taxonomy and High-level taxonomy. Introduction to UNIX, Internet, telecommunication and Computer ethics. Programming on Pipelined Vector machines. Programming on shared-memory machines (Multimax). Programming on distributed-memory machines (iPSC/860 and nCUBE2). Parallel Algorithm Development.


SCC 430 Modeling and Simulation                                                 
Basic simulation modeling. Nature of simulation. System models & simulation, discrete event simulation. Simulation of a single-server queuing system. Simulation of an inventory system. List processing in simulation. Simulation languages. Simulation of time sharing systems. Simulation output data and stochastic processes. Building valid and credible simulation models. Principles of valid simulation modeling. Verification of simulation computer programs. An approach for developing valid & credible simulation models. Statistical procedures for computing real-world observation & simulation output data. Some practical considerations: Selecting input probability distributions. Random number generators. Generating random variables. Output data analysis for a single system.


SCC 435 Mathematical Programming                                             
Networks: shortest paths (single source paths, all pairs paths), minimum spanning tree, maximum flow problems, minimum-cost flow problems, maximum cardinality matching, and traveling salesman problem. Graph coloring: independent set approach, approximation sequential algorithm, and backtracking sequential algorithm. Scheduling problems: network scheduling, single machine scheduling, parallel machine scheduling.


SCC 436 Finite-Element Methods                                         
Introduction: The basic concept of finite-element method. Variational formulation and approximation: Concepts and formulas, notation, boundary-and initial-value problems, gradient and divergence theorems, functional, Variational formulation problems, the Ritz method, the method of weighted residuals. Finite-element analysis of one-dimensional problems: One-dimensional second-order equations, one-dimensional fourth-order equations, and approximation errors in the finite-element method, time-dependent problems, and computer implementation. Finite-element analysis in two-dimensional problems: Second-order equations involving a scalar-valued function, second-order-multivariable functions, time-dependent problems, computer implementation.


Selected Topics

SCC 431 Symbolic Computation                                         
The course will provide an introduction to the representation of integers, fractions, polynomials, algebraic and review some symbolic algorithms using modular and P-adic methods, and then cover formal integration and algebraic and asymptotic solutions of ordinary differential equations.


SCC 432 Mathematical Statistics                                     
The theory of estimation: Principles of estimation methods of moments, least squares, maximum likelihood and maximum entropy. Minimum variance unbiased estimation. Sufficiency and completeness of statistics. Fisher information. Cramer-Rao bounds, Bhattacharya bounds, asymptotic consistency and distributions. Statistical decision theory: Minimax and Bayesian decision rules, applications to engineering and scientific problems. Theory of hypothesis testing: Simple versus composite hypothesis tests, Neyman-Pearson lemma, uniformly most powerful tests, unbiasedness of tests, invariance of tests, randomized tests, and sequential tests. Applications to situations in the normal family and other families of distributions.


SCC 439 Wavelet Theory                                                   
Prerequisites: Knowledge of convolution and Fourier transforms of sequences; some familiarity with Hilbert space theory. Theory and computational aspects of wavelets and the wavelet transform, defining the fast wavelet transform in one and two dimensions and developing the appropriate numerical algorithms. The Theory of wavelet bases on the real line, discussing multiresolution analysis, splines, time-frequency localization, and wavelet ackets.


SPT495 Scientific and Statistical Visualization                   
Visualization methods used to provide new insights and intuition concerning measurements of natural phenomena and scientific and mathematical models. Present case study examples from a variety of disciplines to illustrate what can be done. Human perception and cognition. An introduction to the graphics laboratory. Elements of graphing data. Representation of space-time and vector variables. Representation of 3-D and higher dimensional data. Dynamic graphical methods. Virtual reality.


SPT 496 Numerical Analysis                                                                   
Iterative methods for solving linear equations. Direct and iterative methods for solving linear systems. Approximations of functions. Derivatives and integrals-error analysis. Iterative methods for solving nonlinear equations. Linear difference equations. Applications to solutions of polynomial equations. Differentiation and integration formulas. Numerical solution of ordinary differential equations. Roundoff error bounds.


Second Semester Subjects

CSC 448 Distributed Computing                                             
Introduction to parallel and distributed architectures. Models of computation: SISD, SIMD, MISD, and MIMD Computers. Shared-memory SIMD computers. Interconnection-network  SIMD Computers: Linear array, two-dimensional array, tree connection, perfect shuffle connection, cube connection. Analyzing algorithms. Some parallel computer algorithms: selection, merging, sorting and searching. Parallel programming languages. Parallel compilers. Parallel operating systems.


SCC 437 Computational Geometry                                      
Design and analysis of efficient geometric algorithms: Convexity, triangulation, sweeping, partitioning, and point location. Voroni and Delaunay diagrams. Intersection and visibility problems. Recent developments using random sampling methods. Data structures of general usefulness in geometric computing, and the conceptual primitives appropriate for manipulating them. Impact of numerical issues in geometric computation. Applications to motion planning, visibility preprocessing, model-based recognition, and GIS.


SCC 433 Theory of Computing                                                  
Church-thesis: Grammars, the M-recursive functions, and Turing computability of the M-recursive functions. The un-compatibility: The halting problem, Turing innumerability, Turing acceptability, and Turing decidability, unsolvable problems about Turing machines and M-recursive functions. Computational complexity: Time-bounded Turing machines. Rate of growth of functions. NP-Completeness. The complexity hierarchy. The prepositional calculus: Syntax, Truth-assignment, Validity and satisfiability. Equivalence and normal forms. Compactness.


SCC 438 Computational Environmental and Global Changes
An introduction to the global system interactions responsible for global environment change. Concepts are providing a global description of the earth system. Basic environmental processes influencing global change. Natural causes of past and present global changes. Human consequences of global system changes. Climate and hydrological systems. Global warming. Deforestation. Ozone depletion. Ecological system dynamics. Introduction to climate and global change monitoring. Satellite instrumentation and calibration. Model Predictions.

Selected Topics

INF 485 Geographical Information Systems                          

 Relevant GIS technologies, evaluate of GIS technology. GIS applications, representation of geographic data, relationships of graphic and non-graphic data. Data: data types, data collection, census data, postcode-based data, data from surveys, customer lists, data from remote sensing, the data collection transformation, data input, vector digitizing, verification, attribute data input, raster data input, data input transformation. Graphic data storage, data quality, plan-metric features, topographic features, cadastral features, Parcel identification, area boundary features. Components of GIS: hardware software, configurations and data communications. GIS design philosophy, GIS implementation methodologies, hypermedia and GIS, towards a socioeconomic GIS.


CSC 446 Pattern Recognition                                                           
Scope of pattern recognition: Numerical, syntactic and structural, Components of numerical pattern recognition system: Process description, feature analysis, classifier design, cluster analysis. Process description: Syntactic, numerical, contextual, fuzzy, rule based. Feature analysis: Preprocessing, feature extraction classification: Bays decision theory, two category classification, classifiers, discriminate functions, and decision surfaces, the Bays classifier. Clustering: Data description and clustering, clustering criteria, hierarchical clustering. Applications.


CSC 445 Neural Networks                                                         
Introduction and a historical review: Overview of neurocomputing, history of neuro-computing. Neural network concepts: Basic definition, connections, processing elements. Learning laws: Self-adaptation equations, coincidence learning, performance learning, competitive learning, filter learning, spatio-temporal learning. Associative networks: Data transformation structures, Linear association network, learn matrix network, recurrent associative networks. Mapping networks: Multilayer data transformation structures, the mapping implementation problem, Kolmogorov-theorem, the back-propagation neural network, self-organizing map, counter propagation network. Spatiotemporal, stochastic, and hierarchical networks: Saptio-temporal pattern recognizer neural network, the Boltzman machine network, and the neurocognition network.


CHW 460 Microprocessor-Based Systems                   
Introduction to microprocessors, microprocessor architecture: the MPU, memory, input/output, bus structure, comparison of typical microprocessors, complete microprocessor instruction sets, microprocessor system bus. The 80  86 microprocessors: Pin-outs, clock circuitry, address bus, data bus, and control bus connections, reset, interrupts, direct memory access, microprocessor testing and logic analyzer. Memory interface: Memory devices, timing consideration, address decoding, static and dynamic memory systems, interrupt processed I/O, microprocessor-based communication, direct memory access. Application examples.


CHW 461 Parallel Computer Architecture                                 
 Analysis and design of high-performance computer systems: Pipelines techniques, cache design. Introduction to level parallelism, parallel and vector architectures shared memory multiprocessors, message passing multi-computers, data flow architectures, scalability and performance, software parallelism.


PRO 400 Project                                                        
Students are allowed to choose among a number of projects suggested by the different staff members. The general aim of the project is to allow each student to integrate all the disciplines he has studied in a unified chunk of knowledge. On the behavioral side, students are allowed to work in a team so as to practice working in a collaborative environment. This emphasizes also a proper documentation and presentation procedure.