First Semester Subjects
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.
CSW 456 Compiler Theory
Introduction and overview. Scanning-theory and practice: Regular expressions, finite automata and scanners, scanner generators, practical considerations, translating regular expressions to finite automata. Grammars and parsing: Context frees grammars, parsers and recognizers, grammar analysis algorithms. Semantic processing: Syntax-directed translation, semantic processing techniques. Symbol tables: Basic techniques, block-structured and extensions, Implicit declarations. Run-time storage organization: Static allocation, stack allocation, heap allocation, program layout in memory. Data structures: declaration-processing fundamentals, action routines. Procedures and functions: If statements, loops, case statement, exception handling, passing parameters to subprograms. Code generation and optimization: Register and temporary management, interpretive code generation, generating code from trees and tags, optimizing subprogram calls, loop optimization.
CSC 447 Image Processing
Scope and applications of image are processing. Perspective transformations (Modeling picture taking, perspective transformations in homogeneous coordinates and with two reference frames). The spatial frequency domain (The sampling theorem, template matching and the convolution theorem, spatial filtering). Enhancement and Restoration, image segmentation. Image representation: (Spatial differentiation and smoothing, template matching, region analysis, contour following). Descriptive methods in scene analysis. Hardware and software considerations. Applications.
CHW 465 Computer Networks
Introduction: The use of computer networks, network structure, network architecture, the ISO reference model, examples of networks. Network topology: Connectivity analysis, delay analysis, backbone design, local access network design. The physical layer: The theoretical basis for data communication, the telephone system, transmission and multiplexing, terminal handling errors. The data link layer: Elementary data link protocols, sliding window protocols, analysis of protocols. The network layer: Virtual circuits and datagrams, routing algorithms, satellite packet broadcasting. Local networks: Carrier sense networks, ring networks, shared memory systems. The transport and session layers: Transport protects design issues, interconnection of packet-switching networks. The presentation layer: network security and privacy, text compression, virtual terminal protocols, file transfer protocols. The application layer: Distributed data base systems, distributed computations.
CSC 440 Speech Processing
Characteristics of speech: Speech production, physiological mechanism, acoustic principles applied to the vocal tract. Classification of sounds: Vowels, consonants (plosives, fricatives, affricate, nasals, approximates glides or liquids). Speech dynamics: Types of accommodation, direction of accommodation. Speech generation and perception process. Analysis and processing of speech signals: Digitization of analog speech signals, short time processing techniques, pre-processing of speech signals. Linear prediction coding (LPC) analysis. Vector quantization. Distance measure.
CSC 441 Computer Vision
Theories about the operation of the human visual system. Image understanding. Practical applications in robotics. Edge detection. Shape from shading. Stereopsis. Optical flow. Fourier methods. Gradient space. Model-based computer vision: 2-D and 3-D representations, matching, constraint relaxation, model-based vision systems.
CSC 444 Expert Systems
Introduction: Knowledge based expert systems, conventional programming versus knowledge engineering. Human problem solving: Human information processing, the production system as a processing model, problem solving, varieties of knowledge, and the nature of expertise. Representation of knowledge: An informal look at a knowledge base, strategies for representing knowledge, semantic networks, object attribute value triplets, rules, frames. Representing facts and relationships using logic. Drawing inferences; Inferences control, the future of representation and inference. Languages and tools: Levels of software, the languages tool continuum, AI languages and environments, knowledge engineering tools. Expert shells. Building a mall knowledge system: The role of small systems, selection of an appropriate problem, development of a prototype system.
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 449 Natural Language Processing
Introduction: Arabization needs, advantages and disadvantages of Arabization, firmware Arabization, different types of Arabization, context analyzer, Arabic standard codes, Arabic user interface (Screen, printer, fonts,...etc.), comparison of Arabic text, Arabization of operating systems, Arabization of application packages, AI and Arabization, Arabic computational linguistics, Arabic OCRC (algorithms and implementation), Arabic dictionary, automatic translation.
Second Semester Subjects
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.
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.
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.
CHW 466 Computer Interfaces & Peripherals
Input devices: Introduction, human factor considerations, keyboards, digitizers, input tables, mouse, track-balls and joy-sticks, voice input systems. Output display devices: CRT, LCD, Gas-plasma displays, controllers, software support. Output hard copy devices: Plotters, impact printing (line and matrix). Non-impact printers (Electro-photographic, magneto and ionographic, thermal, ink-jet). Color printing, printer controllers. Mass storage devices: Semiconductor, flash, magnetic floppy, hard disk, magnetic tapes, standard cartridge, optical (CD-ROM, WORM), magneto-optical. Multimedia and virtual reality devices: Head mounted displays, data gloves.
CHW 468 Data Communications
Introduction: Types and sources of data, communication models, standards, Data transmission: techniques, transmission media and characteristics. Information theory: Information sources, information measure, entropy, source codes. Line codes: characteristics, return-to-zero and non-return-to-zero signaling, bipolar alternate mark inversion, code (radix, redundancy and efficiency), important codes in current use, frequency spectra characteristics of common line codes, receiver clock synchronization, optical fiber systems, scramblers. Modems: characteristics, modulation, equalization, control, V-standards. Error Control: Transmission impairments, forward error control, linear block codes, feedback error control.
SPT 490 Multimedia Systems
What is Multimedia, Multimedia Hardware systems (PC’s, AS400, SON, SG), Screen resolution and screen technology, video accelerator design system, raster graphics (3D-transformation), analog-to-digital conversion, video compression, mixing and displaying at 30 FPS with full color capacity. Physics of Sound, sound cards, sound cards limitations, mixing sound video and voice traffic control, animation.
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.