utalo.GIF (1086 bytes)
Gradschcal98.GIF (3986 bytes)
gradschcal99.GIF (2542 bytes)
   
pict4.jpg (25948 bytes)
 
gradschohome.GIF (1213 bytes)
utahome.gif (3819 bytes)
Catalog Home.GIF (946 bytes)
 Department of Computer Science and Engineering

Areas of Study and Degrees
Computer Science
M.S., M.C.S., Ph.D.
Computer Science and Engineering
M.S., M.C.S., M.Engr., Ph.D.
Mathematical Sciences
Ph.D.
Software Engineering
M.SW.Engr.

Master's Degree Plans
Thesis (M.S.) and Non-thesis (M.C.S., M.Engr., M.SW.Engr.)

Chair
Bill D. Carroll
300 Nedderman Hall, 817-272-3787

Graduate Advisor
Bob P. Weems
341 Nedderman Hall, 817-272-3785

Graduate Faculty
Professors
Carroll, Elmasri, Hsia, Kung, Peterson, Shirazi, Walker

Associate Professors
Cook, Holder, Kamangar, Weems, Welch, Youn

Assistant Professors
Bruggeman, Fegaras, Gmytrasiewicz, Shen


Objective

The purpose of the graduate programs in Computer Science and Computer Science and Engineering is to facilitate the student's continued professional and scholarly development. The Master of Science (M.S.) programs are designed to extend the student's knowledge and emphasize a particular area of concentration. The Master of Computer Science (M.C.S.), Master of Engineering (M.Engr.), and Master of Software Engineering (M.SW.Engr.) programs are designed to provide the student with the opportunity for professional development in the computer field. The Doctor of Philosophy (Ph.D.) programs are designed to prepare the student to conduct research and development in an area of concentration.

Typical areas of concentration include

1. Computer architecture: parallel processing, dataflow systems, scheduling and load balancing for parallel and distributed systems, tools for parallel programming, performance evaluation, fault-tolerant computing, interconnection networks, VLSI- based multiprocessor systems, microprocessor systems, real-time control systems, memory system design;
2. Intelligent systems: knowledge-based systems, knowledge representation, neural networks, knowledge acquisition, machine learning, planning, scientific visualization, pattern recognition, natural language processing, multi-agent environments, decision support;
3. Software engineering: requirements engineering, incremental delivery, conceptual modeling, scenario-based techniques, formal specifications, object-oriented software engineering, design methodologies, software testing, software maintenance, software re-engineering, software processes, real-time systems;
4. Database: temporal databases, object-oriented databases, database models and languages, distributed database systems, indexing and hashing techniques, conceptual modeling, data security, logic and databases, query optimization, relational design theory, user interfaces, data repositories.

Admission

Applicants for graduate study who have a baccalaureate degree in Computer Science or Computer Science and Engineering must meet the general requirements of the Graduate School as stated under the section entitled "Admission Requirements and Procedures". The Department of Computer Science and Engineering has established additional requirements that are described in the Guide to Graduate Programs published by the Department.

Applicants who have limited background in Computer Science or Computer Science and Engineering but who meet all other requirements may be admitted. Such students normally must take additional courses beyond the minimums listed below. For further information, applicants may contact the Graduate Advisor.

Continuation

To fulfill its responsibility to graduate highly qualified professionals, the Department has established certain requirements that must be met by students continuing in the graduate programs. In addition to the requirements of the Graduate School listed elsewhere in the catalog, the Computer Science and Engineering Department has established additional requirements detailed in its Guide to Graduate Programs.

Degree Requirements

Master of Science in Computer Science
The Master of Science in Computer Science degree program is designed to develop the scholarship and research skills of the student. Thirty-one credit hours which include one orientation seminar credit and six thesis credits are required.

Master of Science in Computer Science and Engineering
The Master of Science in Computer Science and Engineering, which is intended for students with a baccalaureate degree in engineering, requires thirty-one credit hours of which one is orientation seminar and six are thesis credits, and is designed to develop the scholarship and research skills of the student.

Master of Computer Science
The Master of Computer Science (MCS) provides professional development in computer science. The MCS project option requires thirty-seven credit hours of which one is orientation seminar and six are master's project credits. The MCS structured option requires thirty-eight credit hours of which one is orientation seminar and one is terminal seminar credits.

Master of Engineering
The Master of Engineering in Computer Science and Engineering provides professional development in computer science and engineering to the student with a baccalaureate degree in engineering. The degree requires 37 credits which includes either a six-hour master's project or an approved substitute and orientation seminar.

Master of Software Engineering
The Master of Software Engineering provides professional development in software engineering principles and practices. Thirty-seven semester hours of coursework beyond the bachelor's is required which includes six hours of Software Team Project and one hour orientation seminar.

Ph.D. (Computer Science)
The Ph.D. in Computer Science continues the development of the student's research capability. Coursework selection in each student's program is designed to support the dissertation area selected by the student.

A minimum of two semesters of full-time study is required during the dissertation phase. There is no foreign language requirement.

Ph.D. (Computer Science and Engineering)
The Ph.D. in Computer Science and Engineering is available to students with a prior degree in engineering. It contains essentially the same requirements as the Ph.D. (Computer Science) degree except that it permits interdisciplinary research between Computer Science and one or more of the various engineering disciplines.

Ph.D. (Mathematical Sciences)
See program listing for Mathematical Sciences under "Interdepartmental and Intercampus Programs."

The grade of R (research in progress) is a permanent grade; it cannot be changed by completing course requirements in a later semester. To receive credit for an R-graded course, the student must continue to enroll in the course until a passing grade is received.
An incomplete grade (the grade of X) cannot be given in a course that is graded R, nor can the grade of R be given in a course that is graded X. To receive credit for a course in which the student earned an X, the student must complete the course requirements no later than mid-semester of the next semester (excluding summer). A grade of X cannot be changed by enrolling again in the course in which an X was earned. An incomplete grade that is not removed by the specified deadline will be automatically converted to an F. (See the Graduate School calendar for specific deadlines.)
Three-hour thesis courses and three- and six-hour dissertation courses are graded R/F/W only (except social work thesis courses). The grade of P (required for degree completion for students enrolled in thesis or dissertation programs) can be earned only in six- or nine-hour thesis courses and nine-hour dissertation courses. In the course listings below, R-graded courses are designated either "Graded P/F/R" or "Graded R." Occasionally, the valid grades for a course change. Students should consult the appropriate Graduate Advisor or instructor for valid grade information for particular courses. (See also the sections titled "R" Grade, Credit for Research, Internship, Thesis or Dissertation Courses and Incomplete Grade in this catalog.)

Computer Science and Engineering (CSE)

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.

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.

5306. OPERATING SYSTEMS II (3-0). Hardware and software issues in modern operating systems, distributed and networked operating systems, and real time operating systems. Topics may include multithreading, distributed systems, device drivers, object oriented operating systems, advanced file systems, parallel virtual machines, and load balancing. Examples from current popular modern systems and research operating systems will be analyzed. Prerequisite: CSE 3320 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 3302 or consent of instructor.

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 2320 and 3315, 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 2320 and 3315, 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 2312 and linear algebra, or consent of instructor.

5316. MODELING, ANALYSIS, AND SIMULATION OF COMPUTER SYSTEMS (3-0). Mathematical formalism and techniques used for computer system modeling and analysis. Reviews probability, transform theory, coding theory, and Petri nets. Topics may include knowledge based modeling, validation procedures, various simulation techniques for stochastic process and real-time distributed systems. Prerequisite: CSE 2320, 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 3315 and 3302, or consent of instructor.

5324. SOFTWARE ENGINEERING: ANALYSIS, DESIGN, AND TESTING (3-0). Motivations, principles, and goals of software engineering; technical aspects of software projects, including: review of structured analysis and structured design, emphasis on object-oriented methods of requirements analysis and specification, design, and implementation; software testing concepts; team project. Prerequisite: CSE 2320 and 3315 (or concurrent enrollment), or consent of instructor.

5325. SOFTWARE ENGINEERING: MANAGEMENT, MAINTENANCE, AND QUALITY ASSURANCE (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 SOFTWARE DESIGN (3-0). Specification, design, and analysis of real-time systems including real-time logics and decidability of real-time conditions; real-time scheduling approaches, and schedulability analysis, system requirement specifications and languages; procedural and object-oriented methods; specialized analysis techniques for distributed and for control applications; team project. Prerequisite: CSE 5324, or consent of instructor.

5328. SOFTWARE ENGINEERING TEAM PROJECT 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 Master of Software Engineering candidates only. $5 lab fee. $25 course specific fee.

5329. SOFTWARE ENGINEERING TEAM PROJECT 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 Master of Software Engineering candidates only. $5 lab fee. $25 course specific fee.

5330. DATABASE SYSTEMS I (3-0). Database system architecture; file structures for databases, including indexing, hashing, and B+-trees; the relational model, algebra, and calculus; the SQL database language; Entity-Relationship data modeling; advanced data modeling concepts; functional dependencies and basic normalization; Relational database design theory. Prerequisite: CSE 2320 or consent of instructor.

5331. DATABASE SYSTEMS II (3-0). Object-Oriented and Object-Relational databases, database system implementation techniques, including concurrency control, recovery, atomic commitment, and query processing and optimization; database security; introduction to advanced concepts, such as active, deductive, spatial, temporal, multimedia, and distributed databases. Prerequisite: CSE 5311 and CSE 5330, or consent of instructor.

5343. REAL-TIME DATA ACQUISITION AND CONTROL SYSTEMS (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. $5 lab fee. $25 course specific fee.

5344. COMPUTER NETWORKS (3-0). Study of computer network architectures, protocols, and interfaces. The OSI reference model and the Internet architecture will be discussed. Networking techniques such as multiple access, packet/cell switching, and internetworking will be studied. Discussion will also include end-to-end protocols, congestion control, high-speed networking, and network management. Emphasis will be on Internet and ATM. Prerequisite: CSE 3320, or consent of instructor.

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 trade-offs. Prerequisite: CSE 2341, or consent of instructor.

5346. NETWORKS II (3-0). This course provides an in depth study and comparison of the two primary networking paradigms, Internet/broadcast and switched, using two technologies, IPv6 and ATM, as representative examples. The course is implementation-oriented, focusing on issues such as routing, broadcast, multicast, mobility, network configuration, and quality of service. Prerequisite: CSE 5344.

5350. COMPUTER ARCHITECTURE II (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 3322, 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 3320, 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 3322, or consent of instructor.

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 2320 and 3315, or consent of instructor.

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.

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.

5365. COMPUTER GRAPHICS (3-0). Input/output devices and programming techniques suitable for the visual representation of data and images. Prerequisite: CSE 1320, 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 1320 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 1320 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.

5394. MASTER'S PROJECT I. Required for first semester of a six-hour master's project. Prerequisite: consent of instructor. Graded P/F/R.

5395. MASTER'S PROJECT II. Required for completion of project option master's degree candidates. Prerequisite: CSE 5394 and 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.

5442. EMBEDDED COMPUTER SYSTEMS (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 3322, or consent of instructor. $5 lab fee. $25 course specific fee.

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 5311 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.

6323. FORMAL METHODS IN SOFTWARE ENGINEERING (3-0). Methods for modeling and reasoning that play a fundamental role in computer science. Topics include: advanced mathematical logic, formal proof methods, set theory, and formal specification languages and their applications to software engineering. Prerequisite: CSE 5324, or 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 AND OBJECT BASES (3-0). Distributed database systems in the homogeneous, heterogeneous, and multi-database environments; distributed database architecture and design; data fragmentation, replication, and allocation; new technologies for object distribution and database connectivity, such as CORBA, ODBC, and web databases. Prerequisite: CSE 5331 and CSE 5306, or 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.

6344. ADVANCED TOPICS IN COMMUNICATION NETWORKS (3-0). May be repeated for credit when topics change. Prerequisite: CSE 5346, or 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 domains, 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.