Section 5.


  Handbook Section Numbers
index 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16 17


COMPUTER ENGINEERING MAJOR FIELD COURSE LIST


CmpE 8777. Thesis Credits: Master's.


CS 5103. Operating Systems.

Conceptual foundation of operating system designs and implementations. Relationships between operating system structures and machine architectures. UNIX implementation mechanisms as examples.


CS 5106. Programming Languages.

Design and implementation of high-level languages. Course has two parts: (1) language design principles, concepts, constructs; (2) language paradigms, applications. Note: course does not teach how to program in specific languages.


CS 5161. Introduction to Compilers.

Theories and mechanisms of programming language processing tools. General compiler organization: lexical scanner, syntax parser, symbol table, internal program representation, code generator. Relationship between design and implementation. Run-time memory management mechanism.


CS 5204. Advanced Computer Architecture.

(Same as EE 5364) Design of high-performance uniprocessors. Advanced pipeline design, dynamic instruction scheduling, branch penalty reduction schemes.


CS 5211. Data Communications and Computer Networks.

Fundamental concepts, principles, protocols, and applications. Layered network architectures, data link protocols, local area networks, routing, transport, congestion/flow control, emerging high-speed networks, network programming interfaces, management, security, and applications. Ethernet, ATM, TCP/IP, HTTP and WWW. Basic knowledge of computer architecture and operating systems is recommended.


CS 5283. Computer Aided Design I.

CAD for digital systems. Emphasizes VLSI. Hardware description languages, synthesis, simulation, test generation.


CS 5285. Computer Aided Design of VLSI.

CAD for digital systems. Emphasizes VLSI. Physical design: partitioning, placement and routing, electrical rule checks. Inherent complexity of algorithms. Analysis of best known algorithms.


CS 5421. Advanced Algorithms and Data Structures.

Fundamental paradigms of algorithm and data structure design. Divide-and-conquer, dynamic programming, greedy method, graph algorithms, amortization, priority queues and variants, search structures, disjoint-set structures. Theoretical underpinnings. Examples from various problem domains.


CS 5451. Introduction to Parallel Computing: Architectures, Algorithms and Programming.

Parallel architectures design, embeddings, routing, examples of parallel computers, fundamental communication operations, performance metrics, parallel algorithms for sorting, matrix problems, graph problems, dynamic load balancing, types of parallelisms, parallel programming paradigms, message passing programming in MPI, data parallel programming in HPF, shared-address space programming in threads.


CS 5707. Principles of Database Systems.

Fundamental concepts. Data Models. Data manipulation languages. Extending data types. Database design. Security and integrity policy. Techniques of using database systems for applications. Application of these concepts in the design and development of database applications.


CS 5708. Architecture and Implementation of Database Management Systems.

Techniques in commercial and research-oriented database systems. Catalogs. Physical storage techniques. Query processing and optimization. Transaction management. Mechanisms for concurrency control, disaster recovery, distribution, security, integrity, extended data types, triggers, and rules.


CS 5801. Software Engineering I.

Advanced introduction to software engineering. Reviews and expands on 4081. Software life cycle; development models; software requirements analysis; software design, coding, and maintenance.


CS 5802. Software Engineering II.

Introduction to software testing, software maturity models, cost specification models, bug estimation, software reliability models, software complexity, quality control, and experience report. Student groups specify, design, implement, and test partial software systems. Application of general software development methods and principles from 5801.


CS 8101 Advanced Operating Systems.

Successful research systems and existing theory of systems design. Goal is not merely to catalog systems or learn mathematics, but to develop a sense of elegance of design that leads to successful systems.


CS 8102 Operating Systems Theory.

Fundamental principles underlying design of distributed and multiprocessor operating systems. Foundations of distributed computing systems; shared multiprocessor systems.


CS 8161 Advanced Compiler Techniques.

Techniques for uniprocessors and parallel computers. Fundamental program analysis instruments such as data flow analysis and data dependence analysis. Variety of code generation and transformation techniques.


CS 8205. Parallel Computer Organization. (Same as EE 8367)
Parallel machine organization, system design. Difference between parallel, uniprocessor machines. Obtaining good performance. Architectural differences, their influence on programming models. Synchronization/communication. Topologies, message routing strategies.


CS 8211 Advanced Computer Networks and Their Applications.

Current research issues in traffic and resource management, quality-of-service provisioning for integrated services networks (such as next-generation Internet and ATM networks) and multimedia networking.


CS 8283 Research Problems in Computer-Aided Design for Electronic Design.

Open research problems in contemporary CAD for electronic design and approaches to their solution.


CS 8421 Advanced Algorithms and Data Structures II.

Advanced mthods for algorithm design. Network flow and matching, advanced dynamic programming, linear programming, cryptography, approximation algorithms, on-line algorithms, and randomized algorithms. Cutting-edge material provides enough background for students to pursue dissertation-level research.


CS 8701 Overview of Database Research.

Research papers from journals and conferences on current topics in databases, such as database research methodologies, relational implementation techniques, active databases, storage systems, benchmarking, distributed and parallel databases, new data models, prototype systems, data mining, and future directions.


CS 8703 Distributed and Parallel Databases.

Distributed database management systems (DBMS) architecture, including client-server, distributed DB design, distributed query optimization and processing; distributed transaction management (concurrency control and recovery); federated/multibases (definition and issues); database machines (concepts, successes, and failures); parallel databases.


CS 8705 Scientific Databases and Applications.

Application domains of geographical information systems, common data types, queries and analyses, data models, languages to query, query optimization, access methods, clustering methods and file structures, system architectures and design (e.g., parallelism, entensibility), and new trends (e.g., spatial graphs).


EE 5301. VLSI Design Automation I.

Basic graph/numerical algorithms. Algorithms for logic/high-level synthesis. Simulation algorithms at logic/circuit level. Physical-design algorithms.


EE 5302. VLSI Design Automation II.

Basic algorithms, computational complexity. High-level synthesis. Test generation. Power estimation. Timing optimization. Current topics.


EE 5323. VLSI Design I.

Combinational static CMOS circuits. Transmission gate networks. Clocking strategies, sequential circuits. CMOS process flows, design rules, structured layout techniques. Dynamic circuits, including Domino CMOS and DCVS. Performance analysis, design optimization, device sizing.


EE 5324. VLSI Design II.

CMOS arithmetic logic units, high-speed carry chains, fast CMOS multipliers. High-speed performance parallel shifters. CMOS memory cells, array structures, read/write circuits. Design for testability, including scan design and built-in self test. VLSI case studies.


EE 5327. VLSI Design Laboratory.

Complete design of an integrated circuit. Designs evaluated by computer simulation.


EE 5364. Advanced Computer Architecture.

(Same as CS 5204) Instruction set architecture, processor microarchitecture, and memory and I/O systems. Interactions between computer software and hardware; methodologies of computer design.


EE 5371. Computer Systems Performance Measurement and Evaluation.

Tools and techniques for analyzing computer hardware, software, and system performance. Benchmark programs, measurement tools, performance metrics. Deterministic and probabilistic simulation techniques, random number generation and testing. Bottleneck analysis.


EE 5381. Telecommunications Networks.

Fundamental concepts of modern telecommunications networks, mathematical tools required for their performance analysis. Layered network architecture, point-to-point protocols/links, delay models, multiaccess communication/routing.


EE 5391. Computing with Neural Networks.

Neural networks as a computational model; connections to AI, statistics and model-based computation; associative memory and matrix computation; Hopfield networks; supervised networks for classification and prediction; unsupervised networks for data reduction; associative recognition and retrieval, optimization, time series prediction and knowledge extraction.


EE 5549. Digital Signal Processing Structures for VLSI.

Pipelining; parallel processing; fast convolution; FIR, rank-order, IIR, lattice, adaptive digital filters; scaling and roundoff noise; DCT; Viterbi coders; lossless coders, video compression.


EE 8367. Parallel Computer Organization.

(Same as CS 8205) Design and implementation of multiprocessor systems. Issues of compiler and system software related to multiprocessor systems.


EE 8591. Predictive Learning of Data.

Basic elements and application areas of artificial intelligence (AI) related to design and implementation of expert systems (ES). Knowledge representation, reasoning under uncertainty, ES and their environment, planning, natural language processing (NLP), intelligent computer-aided instruction (ICAI), and AI tools (software and hardware).


EE 8950. Advanced Topics in Electrical and Computer Engineering.

Topics vary according to needs and staff availability.



 
bottom academics top