(To view a course syllabus click on its title)

NOTE: This a partial list of courses. Other courses may apply according to specific student's needs.

Core Courses

ANALYSIS OF ALGORITHMS (COMP 6785) - Analysis of algorithms: graph algorithms, algorithms for classical problems in linear algebra. Integer and polynomial arithmetic, complexity, and NP-completeness.

FOUNDATIONS OF COMPUTING (CIIC 6005) - Concepts and formal definitions of algorithmically solvable problems. Classification of problems by their computability in terms of the time and space required to solve them.

COMPUTER SYSTEMS ARCHITECTURE (INEL 6009) - Fundamentals of the architecture and organization of computers. Concepts of high-level languages. Architectural support to the compilation process and to operating systems.

Other Program Courses

DOCTORAL SEMINAR (CIIC 8996) - Study and dissemination of current research topics in sciences and engineering of information and computing. Each student will select a research topic for which he/she will make a formal and public presentation.

ADVANCED TOPICS (CIIC 8995) - Study of advanced topics in sciences and engineering of information and computing.

DOCTORAL DISSERTATION (CIIC 9995) - Research work leading to a significant and original contribution in sciences and engineering of information and computing.

INDEPENDENT STUDY (CIIC 8997) - Independent studies in sciences and engineering of information and computing.


Computer Sciences and Engineering Courses

OPERATING SYSTEMS PROGRAMMING (ICOM 5007) - Concepts of operating systems, multiprogramming, multiprocessing, batch, partitioned, and real time. Organizational and processing of file systems. Study of queuing theory and information flow control.

ARTIFICIAL INTELLIGENCE (ICOM/COMP 5015) - An introduction to the field of artificial intelligence: Lisp language, search techniques, games, vision, representation of knowledge, inference and process of proving theorems, natural language understanding.

DATA BASE SYSTEMS (ICOM 5016) - Database System Architecture. Database Design. Conceptual and Representational Models. Object-oriented Database Modeling and The UML Language. The E-r Model. Relational Model. UML Mapping to Relational. The Sql Language. Functional Dependencies and Normalization. Database Application Design and Implementation. Transaction Processing.

SYSTEM AND NETWORK ADMINISTRATION AND SECURITY (ICOM 5017) - This course introduces and provides practical experience in system and network administration and security issues.

NETWORK SECURITY AND CRYPTOGRAPHY (ICOM 5018) - Theoretical and practical aspects of Computer System and Network Security. Threat models and vulnerabilities of Computers Systems and Networks to attacks: hackers, malicious code, Trojan Horses, Viruses, and Worms. Methods and techniques to defend against attacks and minimize their damage. Cryptographic techniques, physical and operational security policies, and management related issues.

COMPUTER NETWORKS (ICOM 5026) - Most relevant aspects of computer Communications including the OSI and Internet layering models and networking protocols at Subnetwork, Transport, and Application Layers. The course will also cover different Computer Network media and standards as well as the software, hardware, and terminology associated with Data Communications.

INTERMEDIATE ROUTING, SWITCHING, AND WIDE AREA NETWORKS (ICOM/INEL 5318) - Link state routing protocols and intermediate level concepts such as switching, wide area Networks of WAN standards, virtual local area networks or VLAN, network design, and redundancy will be studied and configured. Strategies for managing and saving address space such as variable length subset masks and network address translation will also be introduced and studied.

DATABASE SYSTEM DESIGN (ICOM 6005) - Issues on design and implementation of database systems. Database system architectures and conceptual models, including a comparative study of hierarchical systems, networks, relational and object-oriented systems. Storage, index, query processing and optimization, transaction processing, fault tolerance, and crash recovery techniques. Design and implementation of a prototype database management system.

DISTRIBUTED OPERATING (ICOM 6006) - Advanced topics in operating systems, with emphasis in distributed systems. Operating system architectures, including conventional, network, distributed, and cooperative-autonomous systems. Issues in design, concurrent programming, client/server models, synchronization, distributed process communication, time and resource scheduling, distributed/shared files and memory, and security.

OBJECT-ORIENTED SOFTWARE DESIGN (ICOM 6089) - Fundamental concepts of object-oriented programming and its use in the design and development of software. Study and implementation of object-oriented languages and architectures.

HUMAN-COMPUTER INTERACTION (ICOM 6095) - Software engineering and human factors for the design, implementation and evaluation of effective user interface for computing systems.

TOPICS IN COMPUTER ENGINEERING (ICOM 6115) - Development of advanced topics in computer engineering of academic and research interest.

EXPERT SYSTEMS (ICOM 6215) - The study of the history and foundation of Expert Systems; its use in the analysis and solution of problems.


USABILITY ENGINEERING (ICOM 6117) - Fundamental concepts of usability. Usability components and attributes: learning-ability, efficiency, memory-ability, error reduction, and satisfaction. Study of usability evaluation techniques and methods. Design and implementation of usability tests.

COMMUNICATION SYSTEM DESIGN: SIGNAL PROCESSING (II) (INEL 5326) - Block diagram design and simulation of communication systems. Design projects including: specification, evaluation and selection of alternatives, and implementation. Computer and laboratory work and written reports required.

INTRODUCTION TO REMOTE SENSING (I) (INEL 6007) - History, principles, and applications of remote sensing. Electromagnetic radiation; aerial photography; image interpretation; land observation satellite systems; image resolution; preprocessing and classification of images; geographic information systems.

ADVANCED DIGITAL SIGNAL PROCESSING ALGORITHMS (INEL 6050) - Theoretical foundations, fast algorithms for the Discrete Fourier Transform. Fast convolution algorithms, multidimensional techniques, fast filtering computations, architecture of filters and transforms, fast algorithms in VLSI. Application studies in transmission error controlling codes, sonar, radar, speech, image processing, and other engineering areas. Study of software implementations on vector and parallel architectures. Algorithms and symbolic computation.

VLSI SYSTEMS DESIGN (II) (INEL 6080) - MOS (metal-oxide-semiconductor) devices and MOS (metal-oxide-semiconductor) devices and integrated systems at a very large scale (VLSI). System timing analysis. Physical implementation of several computational systems.

COMPUTER VISION (INEL 6088) - Introduction to computer vision. Computer vision systems. Biological vision system and biological signal processing; early image processing; boundary detection; region growing; texture and shape analysis.


Scientific Computing Courses

PARALLEL COMPUTATION (II) (COMP 5055) - The use of supercomputers: parallel architecture, design of algorithms for scientific computation and their implementation with parallel multiprocessors, and performance analysis.

HIGH-PERFORMANCE COMPUTING (COMP 6786) - Concepts and methods for the design, implementation, and evaluation of high- performance algorithms for large-scale scientific and technological problems in a multiprocessing environment.

TOPICS IN COMPUTER SCIENCE (I) (COMP 6838) - Selected topics in Computer Science.

STOCHASTIC SIMULATION (I) (ESMA 5015) - Basic methods of simulation, modeling of complex systems, simulation languages, generation of random numbers, model validity, analysis of solutions, variance reduction techniques, and the design of experiments.

APPLIED REGRESSION (II) (ESMA 6205) - Simple linear regression, multiple linear regression, robust regression methods and analysis of residuals. Problems and remedial measures in the design of regression models. Selection of independent variables. Non-linear regression.

STATISTICAL METHODS (I) (ESMA 6305) - Populations and samples, probability distributions, sampling distributions, statistical inference, linear and multiple regression and correlation, analysis of variance and covariance. Use of statistical computer package.

PROBABILITY THEORY (I) (ESMA 6600) - Sample spaces and events, conditional probability and independence, discrete and continuous random variables, moment generating functions, and limit theorems.

THEORY OF STATISTICS I (II) (ESMA 6661) - Sampling distributions, point and interval estimation, optimal properties of estimators, tests of simple and composite hypotheses, likelihood ratio ests, tests of goodness of fit, and analysis of contingency tables.

STATISTICAL COMPUTING (II) (ESMA 6665) - Exploratory data analysis techniques; probability approximation; matrix computation applied to linear regression; computational methods for optimization, nonlinear regression, and multivariate analysis.

NUMERICAL LINEAR ALGEBRA (MATE 6025) - Matrix analysis techniques fundamental to problem solving and the development of optimization methods and numerical solution of differential equations. Topics include: eigenvalue and eigenvector problems, numerical methods, singular value decomposition, special problems, and applications.

NUMERICAL OPTIMIZATION (MATE 6026) - Modern optimization methods and their application to various problems in science and engineering. Topics include: optimization on convex sets, minimization methods of nonlinear problems, nonlinear equations, conjugate methods, and special structure problems.

NUMERICAL MATHEMATICAL ANALYSIS (I) (MATE 6672) - Mathematical methods of computation applicable to automatic digital computers, choice and use of tables, finite differences, roots of equations, numerical differentiation and integration, curve fitting, least squares, harmonic analysis.

SPECIAL TOPICS IN PARTIAL DIFFERENTIAL EQUATIONS (II) (MATE 6678) - Solution of boundary value problems, using integral transform methods, such as Laplace, Fourier, Mellin, etc.; introduction to integral and integro-differential equations.