Computer Science and Engineering U. Texas at Arlington 1996-98 Graduate Catalog Course Descriptions 5194. ORIENTATION SEMINAR (1-0). Presentation of computer science research by CSE faculty, students, and invited speakers. Preparation of program of work. Prerequisite: Unconditional admission status in CSE Department or consent of CSE Graduate Advisor. Graded P/F/R. In 1994-96 catalog, CSE 5197. 5196. MASTER'S SEMINAR (1-0). Presentation of semester project by Master of Computer Science structured option students. Prerequisite: CSE 6000-level lecture course (or concurrent enrollment) and consent of CSE Graduate Advisor. Graded P/F/R. 5300. INTRODUCTION TO COMPUTERS AND PROGRAMMING (2-3). An introduction to the computer, to the algorithmic process, and to programming in Pascal using standard control structures. The DOS and UNIX operating systems are used. 5301. INTERMEDIATE PROGRAMMING (2-3). Pascal programming beyond standard control structures with emphasis on modular design. Data structures and programming in C. Further development of UNIX skills. Prerequisite: CSE 5300. 5302. ADVANCED PROGRAMMING IN C AND ASSEMBLY (3-0). C programming beyond standard control structures, assembly language programming, use of assembly language in C subroutines, system software concepts. Prerequisite: CSE 5301. In 1994-96 catalog, CSE 5301. 5303. DISCRETE STRUCTURES (3-0). Propositional logic, mathematical proof techniques, sets, combinatorics, functions and relations, Boolean algebra, graphs, graph algorithms, finite state machines, and regular expressions. Prerequisite: CSE 5301 and calculus I. 5304. DATA STRUCTURES (3-0). Data structures and relationships among the forms of data structures and available processing algorithms are emphasized. Linked lists, stacks and queues, trees and graphs, and associated recursive and non-recursive traversal and sorting and searching algorithms are discussed. Topics include: Balanced Trees, B-Trees, and hashing. Engineering trade-off evaluation of data structures and algorithms to solve specific problems are also covered. Prerequisite: CSE 5302 and calculus II, or consent of instructor. In 1994-96 catalog, CSE 5310. 5305. THEORETICAL CONCEPTS IN COMPUTER SCIENCE AND ENGINEERING (3-0). Selected theoretical concepts including predicate logic, automata and formal languages, computability, proof of program correctness, complexity, and Petri nets. Prerequisite: CSE 5303, linear algebra, and probability/statistics, or consent of Graduate Advisor. 5306. DESIGN OF OPERATING SYSTEMS (3-0). Hardware and software issues, algorithms and techniques used in constructing operating systems for modern computers. Includes memory, I/O, file, and processor management and scheduling. Topics of concurrency, synchronization, deadlock, paging, and virtual memory are covered. Prerequisite: CSE 5304 or consent of instructor. 5307. PROGRAMMING LANGUAGE CONCEPTS (3-0). Study and evaluation of concepts in programming language for modern computer systems. Programming projects are selected from string-based, symbolic, algorithmic, and object-oriented languages. Prerequisite: CSE 5304 or consent of instructor. In 1994-96 catalog, CSE 5302. 5308. INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING IN C++. Principles of object-orientation as an organizational technique, formalization of object-oriented analysis and design techniques using a popular methodology, introduction to design patterns, C++ grammar including reference variables, function overloading, operator overloading, classes, inheritance, polymorphism. Not applicable to CSE graduate degree plans. Prerequisite: CSE 5304. Taught in 1994-96 as CSE 5392. 5311. DESIGN AND ANALYSIS OF ALGORITHMS (3-0). Techniques for analyzing upper bounds for algorithms and lower bounds for problems. Problem areas include: sorting, data structures, graphs, dynamic programming, combinatorial algorithms, organization of numerical computations, introduction to parallel models. Prerequisite: CSE 5304 and 5305, or consent of instructor. 5312. MATHEMATICAL LOGIC FOR COMPUTER SCIENCE (3-0). Methods for modeling and reasoning that play a fundamental role in computer science. Topics include: propositional logic, predicate calculus, formal proof methods, and set theory. Prerequisite: CSE 5305, or consent of instructor. 5313. MODELING AND ANALYSIS OF COMPUTER SYSTEMS (3-0). Mathematical formalisms needed for advanced studies in the area of computer systems. Reviews probability and transform theory. Covers pertinent abstractions and algorithms from coding theory, networks, Petri nets and stochastic processes. Prerequisite: probability (IE 3301) and CSE 5305, or consent of instructor. 5314. COMPUTATIONAL COMPLEXITY (3-0). Sequential and parallel complexity classes (e.g., NP-complete and P-complete) and representative problems in languages, logic and graphs. Reduction techniques. Approximate solutions. Complexity hierarchies. Prerequisite: CSE 5304 and 5305, or consent of instructor. 5315. NUMERICAL METHODS (3-0). Selected topics from the theory and practice of using automatic digital computers for approximating arithmetic operations, approximating functions, solving systems of linear and non-linear equations, and solving ordinary and partial differential equations. Prerequisite: CSE 5302 and linear algebra, or consent of instructor. 5316. MODELING AND SIMULATION (3-0). Study of techniques used for system modeling and simulation of stochastic systems. Topics include validation procedures, steady state solution techniques, variance reduction methods, real-time and distributed simulation, and knowledge based modeling. Prerequisite: CSE 5302 and 5313, or consent of instructor . 5317. DESIGN AND CONSTRUCTION OF COMPILERS (3-0). Review of programming language structures, translation, and storage allocation. Introduction to context-free grammars and their description. Design and construction of compilers including lexical analysis, parsing and code generation techniques. Error analysis and simple code optimizations will be introduced. Prerequisite: CSE 5305 and 5307, or consent of instructor. 5324. SOFTWARE ENGINEERING I: ANALYSIS, DESIGN, AND CREATION (3-0). Motivations,principles, and goals of software engineering; technical aspects of software projects, including: methods of requirements analysis and specification,software design,implementation, and testing;team project. Prerequisite: CSE 5304 and 5312 (or concurrent enrollment), or consent of instructor. 5325. SOFTWARE ENGINEERING II: PROJECT MANAGEMENT AND SOFTWARE MAINTENANCE (3-0). Issues and principles for software management; managerial and support aspects of software projects, including: processes, estimation techniques,planning and scheduling, risk analysis, metrics, and quality assurance.Other topics include: configuration management, verification and validation,and maintenance; team project. Prerequisite: CSE 5324, or consent of instructor. 5326. REAL-TIME SYSTEMS DESIGN (3-0). Specification, design, and analysisof real-time systems including real-time logics and decidability of real-timeconditions; real-time scheduling approaches, and schedulabilityanalysis, system requirement specifications and languages; procedural and object-oriented methods; specialized analysis techniques f or distributed and for control applications; team project. Prerequisite: CSE 5324, or consent of instructor. In 1994-96 catalog, CSE 6325. 5328. SOFTWARE DEVELOPMENT STUDIO I (1-2). Apply the knowledge and skills gained in other software engineering courses to synthesize a solution to a significant and realistic problem. Participate in team project activities, including: proposal writing, problem analysis, software requirements specification, software project planning, and preliminary software design. Prerequisite: CSE 5325 (or concurrent enrollment). Open to MSE degree candidates only. 5329. SOFTWARE DEVELOPMENT STUDIO II (1-2). Continuation of CSE 5328. Team project activities include: detailed software design, implementation, software quality assurance, software testing, integration, and demonstration. Prerequisite: CSE 5328. Open to MSE degree candidates only. 5330. DATABASE SYSTEMS I (3-0). Database system architecture; file structures for databases, including indexing, hashing, and B+-trees; the relational model and algebra; the SQL database language; network database systems; Entity-Relationship data modeling; advanced data modeling concepts; functional dependencies and basic normalization. Prerequisite: CSE 5303 and 5304, or consent of instructor. 5331. DATABASE SYSTEMS II (3-0). Relational database design theory; relational calculus; database system implementation techniques, including concurrency control, recovery, atomic commitment, and query optimization; security of databases; introduction to object-oriented, deductive, and distributed databases. Prerequisite: CSE 5305, 5306 and 5330, or consent of instructor. 5343. MICROCOMPUTER SYSTEMS II (2-3). Advanced course in design of microcomputer-based systems. Emphasis is on the application of state- of-the-art microprocessors, microcomputers, and other LSI and VLSI components to real-time, interactive, and/or embedded systems. Prerequisite: CSE 5442 or consent of instructor. In 1994-96 catalog, CSE 5342. 5344. COMPUTER NETWORKS (3-0). Study of computer communications architectures, protocols, and interfaces. The OSI reference model and competing design architectures will be discussed. Networking techniques such as circuit switching, packet switching and message switching will be compared. Discussions will include local, metropolitan and wide area networks as well as internets. Emphasis will be on the TCP/IP suite. Prerequisite: CSE 5306, or consent of instructor. In 1994-96 catalog, CSE 5307. 5345. VLSI SYSTEMS DESIGN (3-0). Analysis and design of MOS digital circuits as used in VLSI. Circuit simulation, logic simulation and timing analysis of MOS digital circuits. Use of HDL's such as VHDL as a simulation tool. Techniques for subsystem design using mask geometry manipulation systems, gate array based designs, design of testable circuits, and complexity of area time tradeoffs. Prerequisite: CSE 5441, or consent of instructor. 5350. COMPUTER ARCHITECTURE, MEMORY SYSTEMS, AND PIPELINE PROCESSING (3-0). A study of advanced uniprocessor and basic multiprocessor systems. Topics may include memory management systems, pipelined processors, array and vector processors, and introduction to architecture of multiprocessor systems. Prerequisite: CSE 5313 and 5441, or consent of instructor. 5351. PARALLEL PROCESSING (3-0). Covers the theory and practice of parallel processing. Theoretical topics include: abstract models and algorithms for shared memory computation (PRAM); algorithms for various topologies such as meshes and hypercubes; efficiency and speedup analysis. Problem areas include data structures, numerical methods, graphs, combinatorics. Practical topics include synchronization, routing, scheduling, parallelizing serial computations, programming languages. Includes programming exercises using one or more concurrent programming languages, on one or more parallel computers. Prerequisite: CSE 5306 and 5441, or consent of instructor. 5355. COMPUTER SYSTEM PERFORMANCE EVALUATION (3-0). Queueing network models and simulation for studying the performance of overall computer systems and each subsystem such as CPU, memory, I/O, and interconnection. Topics also include capacity planning, hardware selection and upgrade, and tuning. Prerequisite: CSE 5313 and 5350, or consent of instructor. In 1994-96 catalog, CSE 5314. 5360. ARTIFICIAL INTELLIGENCE I (3-0). Introduction to the methods, concepts and applications of artificial intelligence, including knowledge representation, search, theorem proving, planning, natural language processing, and study of the LISP language. Prerequisite: CSE 5304 and 5305, or consent of instructor. In 1994-96 catalog, CSE 5303. 5361. ARTIFICIAL INTELLIGENCE II (3-0). Continuation of artificial intelligence methods and techniques, including uncertainty reasoning, machine learning, perception, and advanced topics in knowledge representation, search and planning. Emphasis on object-oriented design and implementation of AI solutions. Prerequisite: CSE 5360, or consent of instructor. In 1994-96 catalog, CSE 5360. 5362. EXPERT SYSTEMS (3-0). Consideration of techniques used in the construction of expert systems; examination of existing systems. Prerequisite: CSE 5360, or consent of instructor. 5363. NATURAL LANGUAGE PROCESSING (3-0). Computer techniques for processing natural language; view of current state of natural language processing as a subfield of AI. Prerequisite: CSE 5360, or consent of instructor. In 1994-96 catalog, CSE 5361. 5365. COMPUTER GRAPHICS (3-0). Input/output devices and programming techniques suitable for the visual representation of data and images. Prerequisite: CSE 5301, analytic geometry and linear algebra, or consent of instructor. 5366. DIGITAL SIGNAL PROCESSING (3-0). Introduction to principles and applications of digital signal processing. Topics include: analysis of signals and systems, Fourier and Z transforms, digital filter design techniques (FIR and IIR), autoregressive (AR) and autoregressive moving average (ARMA) modeling. Applications to science and engineering include: financial predictions and processing of digital music. Laboratory work includes some programming and use of high quality library routines and packages such as Mathematica, Matlab. Prerequisite: CSE 5301 and consent of Graduate Advisor. 5368. NEURAL NETWORKS (3-0). Theoretical principles of neurocomputing. Learning algorithms, information capacity, and mapping properties of feedforward and recurrent networks. Different neural network models will be implemented and their practical applications discussed. Prerequisite: CSE 5301 and calculus II, or consent of instructor. 5191, 5291, 5391. INDIVIDUAL STUDY IN COMPUTER SCIENCE. Topics dealing with special problems in Computer Science on an individual instruction basis. May be repeated for credit. Prerequisite: consent of instructor. Graded P/F/R. 5392. TOPICS IN COMPUTER SCIENCE (3-0). May be repeated for credit when the topics vary. Prerequisite: graduate standing and consent of instructor. 5393. DIRECTED STUDY IN COMPUTER SCIENCE. Topics dealing with special problems in Computer Science on an individual instruction basis. May be repeated for credit. Prerequisite: departmental approval of proposal submitted one month prior to beginning of semester. 5395. MASTER'S PROJECT. Required for project option master's degree candidates. Prerequisite: consent of instructor. Graded P/F/R. 5398 or 5698. MASTER'S THESIS. 5698 required for master of science degree candidates. Prerequisite: consent of instructor. 5398 graded R/F only; 5698 graded P/F/R. 5441. DIGITAL LOGIC AND COMPUTER ORGANIZATION (3-3) Digital logic circuits and basic components of stored program computers. The design of combinational, synchronous, and asynchronous sequential circuits using SSI, MSI, and LSI circuits; design of simple ALU and control units. Software structure and instruction set design of basic computers. Prerequisite: CSE 5303 (or concurrent enrollment), or consent of instructor. In 1994-96 catalog, CSE 5440. 5442. MICROCOMPUTER SYSTEMS I (3-3). Design of microcomputer-based systems; microcomputer programming, component and system architectures, memory interfacing, parallel and serial I/O interfacing, A/D and D/A conversion, and typical applications. Prerequisite: CSE 5302 and 5441, or consent of instructor. In 1994-96 catalog, CSE 5441. 6306. ADVANCED TOPICS IN OPERATING SYSTEMS (3-0). May be repeated for credit when topics change. Prerequisite: CSE 5306, and consent of instructor. 6312. ADVANCED TOPICS IN FORMAL METHODS (3-0). May be repeated for credit when topics change. Prerequisite: CSE 5312 and consent of instructor. 6314. ADVANCED TOPICS IN THEORETICAL COMPUTER SCIENCE (3-0). May be repeated for credit when topics change. Prerequisite: CSE 5314 and consent of instructor. 6317. ADVANCED TOPICS IN LANGUAGES AND COMPILERS (3-0). May be repeated for credit when topics change. Prerequisite: CSE 5317 and consent of instructor. 6324. ADVANCED TOPICS IN SOFTWARE ENGINEERING (3-0). May be repeated for credit when topics change. Prerequisite: CSE 5325 (or concurrent enrollment) and consent of instructor. 6330. DISTRIBUTED DATABASES (3-0). Distributed database systems in the homogeneous, heterogeneous, and multi-database environments; distributed database architecture and design, including transaction models, distributed query optimization, recovery, reliability, and concurrency control; data fragmentation, replication, and allocation. Prerequisite: CSE 5331 and consent of instructor. 6331. ADVANCED TOPICS IN DATABASE SYSTEMS (3-0). May be repeated for credit when topics change. Prerequisite: CSE 5331 and consent of instructor. 6350. ADVANCED TOPICS IN COMPUTER ARCHITECTURE (3-0). May be repeated for credit when topics change. Prerequisite: CSE 5350 and consent of instructor. 6351. TOPICS IN PARALLEL AND DISTRIBUTED COMPUTING (3-0). May be repeated for credit when topics change. Prerequisite: CSE 5350, 5351, and consent of instructor. 6352. FAULT-TOLERANT COMPUTING (3-0). Topics in reliable and fault- tolerant computing. May be repeated for credit when topics change. Prerequisite: CSE 5350 and consent of instructor. 6362. ADVANCED TOPICS IN ARTIFICIAL INTELLIGENCE (3-0). May be repeated for credit when the topic changes. Prerequisite: CSE 5361 and consent of instructor. 6363. MACHINE LEARNING (3-0). A detailed investigation of current machine learning methods, including statistical, connectionist, and symbolic learning. Presents theoretical results for comparing methods and determining what is learnable. Current issues in machine learning research will also be examined. Prerequisite: CSE 5361 and consent of instructor. 6366. DIGITAL IMAGE PROCESSING (3-0). Digitization and coding of images, characterization and representation of digital images in spatial and frequency domain, picture restoration and enhancement, filtering of two-dimensional signals, image reconstruction. Prerequisite: CSE 5366 and consent of instructor. 6367. COMPUTER VISION (3-0). Advanced techniques for interpretation, analysis, and classification of digital images. Topics include methods for segmentation, feature extraction, recognition, stereo vision, 3-D modeling, and analysis of time-varying imagery. Also taught as EE 6358. Prerequisite: CSE 6366 or EE 5356 or EE 5357, and consent of instructor. 6192, 6292, 6392. SPECIAL TOPICS IN ADVANCED COMPUTER SCIENCE. May be repeated for credit when the topics vary. Prerequisite: graduate standing and consent of instructor. 6197-6997. RESEARCH IN COMPUTER SCIENCE. Individually supervised research projects. Graded P/F/R. Prerequisite: graduate standing in computer science and approval of Graduate Advisor. 6399, 6699, 6999. DISSERTATION. Preparation of dissertation in computer science or computer science and engineering. 6399 and 6699 graded R/F only; 6999 graded P/F/R. Prerequisite: consent of instructor.