Return to Catalog Homepage To the Previous Page
Alphabetical Index: ABCDEFGHI JK LMNOP Q RSTUVW XYZ

Graduate Program in Computer Science
(M.S., Ph.D.)

http://www.utdallas.edu/dept/cs/

Faculty

Professors: Farokh Bastani, Imrich Chlamtac, András Faragó, Dung T. Huynh, Simeon C. Ntafos, William J. Pervin, Ivan H. Sudborough, Ioannis G. Tollis, Klaus Truemper, Si-Ping Zheng

Associate Professors: Galigekere R. Dattatreya, Ivor P. Page, Haim Schweitzer, Subbarayan Venkatesan, I-Ling Yen

Assistant Professors: Biao Chen, Lawrence Chung, Jorge A. Cobb, Rym Mili, Ravi Prakash, Balaji Raghavachari

Senior Lecturers: David Beuerman, Martha Dinwiddie, Michael Durbin, Don Evans, Bert Moquin, Stephen Stepoway, David Storer, Violet Syrotiuk, Nancy Van Ness

Objective

The objective of the Graduate Program in Computer Science is to offer intensive preparation in the design, programming, theory, and applications of computers. The Computer Science Program offers courses of study leading to the M.S. in Computer Science, the M.S. in Computer Science with Major in Software Engineering, and the Ph.D. degrees. Training is provided for both academically oriented students and students with professional goals in the many business, industrial or governmental occupations requiring advanced knowledge of computer theory and technology. Courses and research are offered in a variety of subfields of computer science, including operating systems, computer architecture, computer graphics, pattern recognition, automata theory, combinatorics, artificial intelligence, database design, computer networks, programming languages, software systems, analysis of algorithms, computational complexity, software engineering, software testing, software reliability, fault-tolerant computing, parallel processing, telecommunications networks, telecommunications software, performance of systems, VLSI, computational geometry, and design automation.

A comprehensive program of evening courses is offered which enables part-time students to earn the master’s degree or to select individual courses of interest.

Facilities

The Computer Science Program has a large number of PCs and Sun Work Stations for research use. Laboratories are available for parallel processing, distributed systems, software engineering, high-performance computing, graphics, programming languages and systems, telecommunications, CAD and graph visualization, image understanding and processing, and artificial intelligence. The Computer Science Program is connected to the World Wide Web and all major computers on campus are linked by an Ethernet network.

In addition to the Computer Science faculty, there are individuals who are involved in computer related work in many other areas of the university, including the several physical and social sciences and in various areas of business and management. Students majoring in computer science with interest in these important application areas have the opportunity to consult and work with talented faculty from a wide range of disciplines.

Master of Science in Computer Science

Admission Requirements

The University’s general admission requirements are discussed beginning on page 22.

The student entering the Computer Science M.S. program should have an undergraduate preparation equivalent to a baccalaureate in a quantitative science, including calculus and linear algebra. However, special arrangements (requiring more than the minimal number of hours) can be made for students with good undergraduate preparation in other fields. Minimum requirements are:

Bachelor’s degree which includes 2 semesters of calculus and linear algebra.

GPA of at least 3.0 (last 60 hours). GPA in quantitative courses of at least 3.3.

GRE of at least 1100 (verbal + quantitative).

Students who do not meet these minimum standards but who do have appropriate professional experience will be considered for admission based on these alternate qualifications.

Students lacking undergraduate preparation in Computer Science must complete the courses listed below or receive approval from their graduate adviser and the course instructor. At the discretion of the graduate adviser, a diagnostic exam may be required. The required courses are:

CS 5303 Computer Science I

CS 5330 Computer Science II

CS 5333 Discrete Structures

CS 5343 Algorithm Analysis and Data Structures

CS 5348 Operating Systems Concepts

CS 5349 Automata Theory

CS 5390 Computer Networks

Substitution of CS 5303, 5330 by professional experience will be considered.

A student wishing to develop an emphasis in Networks and Telecommunications would substitute STAT 5351, or an approved equivalent, for CS 5349.

CS 5349 and CS 5390 are not required courses for students who choose to major in Software Engineering.

Degree Requirements

The University’s general degree requirements are discussed beginning on page 26.

The student may choose a thesis plan or a non-thesis plan. The thesis plan requires a minimum of 27 hours of courses, plus completion of an approved thesis (six thesis hours). This thesis is directed by a supervising professor and must be approved by the head of the Computer Science Program. The non-thesis plan also requires a minimum of 33 hours of courses.

By a judicious planning of courses chosen from the computer science curriculum, supervised and approved by the graduate adviser, students may pursue the M.S. degree in Computer Science while emphasizing specific areas of the discipline. Students may also choose to receive the M.S. degree in Computer Science with a Major in Software Engineering.

Because of the rapidly changing nature of the computer science discipline, the specific courses required may change by the time of the student’s admission. A listing of the required courses will be specified by the student’s adviser. Specific degree requirements follow.

Core Requirements (15 hours)

Block A

CS 6363 Design & Analysis of Computer Algorithms

CS 6390 Advanced Computer Networks

Block B

CS 6378 Advanced Operating Systems

Two of the following three courses:

CS 6353 Compiler Construction

CS 6360 Database Design

CS 6371 Structure & Design of Programming Languages

• For an emphasis in Networks and Telecommunications, students substitute, with approval of the graduate adviser, Block B with the following courses:

CS 6352 Performance of Computer Systems and Networks

CS 6380 Distributed Computing

CS 6385 Telecommunication Networks

• Students majoring in Software Engineering substitute the following courses for both Block A and Block B:

CS 6354 Software Engineering

CS 6361 Requirements Engineering

CS 6362 Software Architecture and Design

CS 6367 Software Testing, Validation and Verification

CS 6388 Software Project Planning and Management

Students must satisfy the core requirements by either earning a 3.2 minimum grade point average OR by earning a 3.0 minimum grade point average in the five core courses plus an extra approved elective taken beyond the minimum degree requirements of 33 hours.

Electives (minimum of 18 hours)

Five 6000/7000/8000 level elective CS courses, or six hours of thesis or project courses plus three elective courses, with approval of a graduate adviser. Courses that are prerequisites to the student’s core requirements are especially recommended. A minimum grade point average of 3.0 is required.

Students wishing to have an emphasis in Networks and Telecommunications are advised to choose CS 6378 Advanced Operating Systems since it is useful for the core course CS 6380.

Students seeking the M.S. in Computer Science with Major in Software Engineering may take the following two Software Engineering Project courses (recommended for students without industrial experience in software development) or may take two software engineering electives from the courses listed below.

CS 8305 Software Engineering Project I

CS 8306 Software Engineering Project II

Or, two electives may be selected from the following list:

CS 6356 Software Maintenance, Evolution and Re-engineering

CS 6357 Software Quality Assurance and Metric

CS 6359 Object Oriented Analysis and Design

CS 6360 Database Design

CS 6370 Information Systems Engineering

CS 6387 Computer Aided Software Engineering (CASE)

CS 6389 Formal Methods and Programming Methodology

If the student elects to take the two Project courses, these must be taken consecutively, with an incomplete being given at the conclusion of the first course that will be changed to a grade at the conclusion of the required six hours. Student must make a grade of Pass in the six hours.

Approved electives must be taken to make a minimum of 33 hours.

Doctor of Philosophy

Each degree program is tailored to the student. The student must arrange a course program with the guidance and approval of a faculty member chosen as his/her graduate adviser. Adjustments can be made as the student’s interests develop and a specific dissertation topic is chosen.

Admission Requirements

The University’s general admission requirements are discussed beginning on page 22.

A student may be admitted under two possible options. The student must have:

A Master’s degree in computer science or its equivalent, and

A GPA of at least 3.5 and GRE of at least 1100 (verbal and quantitative); or

A B.S. in related area that includes two semesters of calculus and linear algebra with GPA of at least 3.5 in the last 60 hours, and

A GRE of at least 1300 (verbal and quantitative).

Degree Requirements

The University’s general degree requirements are discussed beginning on page 26.

Core requirements: same as the M.S. in Computer Science or the M.S. in Computer Science with Major in Software Engineering.

Pass a qualifying examination.

Pass, with a grade of B or better, courses chosen as follows:

  1. CS 6382 Theory of Computation

  2. Five 6000/7000 level courses

  3. Two 8000 level courses

Sufficient CS electives for a total of at least 90 hours beyond the baccalaureate degree.

Dissertation

A dissertation is required and must be approved by the graduate program. A student must arrange for a dissertation adviser willing to guide this dissertation. The student must have a dissertation supervising committee that consists of no less than four members of which at least three must be from the Computer Science faculty. The dissertation may be in computer science exclusively or it may involve considerable work in an area of application.

Computer Science Course Descriptions

CS 5107 Programming: Fortran (1 semester hour) Programming in FORTRAN. Based primarily on self-study materials. No credit allowed for Computer Science majors. Prerequisite: high level computer programming language. (1-0) S

CS 5109-5609 Special Topics/TAGER (1-6 semester hours) Prerequisite: high level computer programming language. ([1-6]-0) S

CS 5111 Programming: Pascal (1 semester hour) Theory and application programming in Pascal. Based primarily on self-study materials. No degree credit allowed for Computer Science majors. Prerequisite: high level computer programming language. (1-0) S

CS 5123 Programming: Ada (1 semester hour) Programming in Ada. Based primarily on self-study materials. No degree credit allowed for Computer Science majors. Prerequisite: high level computer programming language. (1-0) S

CS 5124 Programming: PROLOG (1 semester hour) Programming in PROLOG. Based primarily on self-study materials.No degree credit allowed for Computer Science majors. Prerequisite: high level computer programming language. (1-0) S

CS 5125 Programming: LISP (1 semester hour) Programming in LISP. Based primarily on self-study materials. No degree credit allowed for Computer Science majors. Prerequisite: high level computer programming language. (1-0) S

CS 5303 Computer Science I (3 semester hours) Computer science problem solving. The structure and nature of algorithms and their corresponding computer program implementation. Programming in a high level block-structured language (e.g., PASCAL, Ada, C++, or MODULA-2). Elementary data structures: arrays, records, linked lists, trees, stacks and queues. (3-0) S

CS 5330 Computer Science II (3 semester hours) Logical basis of computer organization: machine representation of numbers and characters, flow of control, instruction codes, arithmetic and logical operations, indexing and indirect addressing, input/output interrupts, subprograms, linkages, macros, assembly systems, and machine language implementation of data structures. Corequisite: CS 5303. (3-0) S

CS 5333 Discrete Structures (3 semester hours) Mathematical foundations of computer science. Logic, sets, relations, graphs and algebraic structures. Combinatorics and metrics for performance evaluation of algorithms. (3-0) S

CS 5335 Programming Projects in C and C++ (3 semester hours) Numerous programming projects in both C and C++. All fundamentals of C, with special emphasis on use of pointers. Use of C++ extensions to create and extend (by inheritance) abstract data types. The use/advantages of virtual functions (dynamic polymorphism). Prerequisites: CS 5303 and CS 5330 or equivalent experience. (3-0) S

CS 5336 Programming Projects in Java (3 semester hours) Overview of the object-oriented philosophy. Implementation of object-oriented designs using the Java programming environment. Emphasis on using the browser to access and extend the Java class library. Prerequisite: CS 5303 or equivalent experience. (3-0) Y

CS 5341 Survey of Computer Architecture (3 semester hours) Basic digital circuits. Machine arithmetic. Register transfer level computer architecture. Hardware stack organization. Interrupt handling hardware. Design of control unit and input/output interface. Corequisite: CS 5142 or equivalent. Prerequisite: CS 5330 or knowledge of an assembly language. (3-0) Y

CS 5142 Computer Architecture Laboratory (1 semester hour) Laboratory for projects and experiments in CS 5341. May be repeated for credit with permission of graduate adviser. Must be taken Credit/No Credit. (0-3) Y

CS 5343 Algorithm Analysis & Data Structures (3 semester hours) Formal specifications and representation of lists, arrays, trees, graphs, multilinked structures, strings and recursive pattern structures. Analysis of associated algorithms. Sorting and searching, file structures. Relational data models. Prerequisites: CS 5303, CS 5333. (3-0) S

CS 5348 Operating Systems Concepts (3 semester hours) An introduction to fundamental concepts in operating systems, their design, implementation, and usage. Topics include: process management, main memory management, virtual memory, I/O and device drivers, file systems, secondary storage management, introduction to critical sections and deadlocks. Prerequisites: CS 5330 and CS 5343 (may be taken concurrently) and a working knowledge of C and Unix. (3-0) S

CS 5349 Automata Theory (3 semester hours) Deterministic and nondeterministic finite automata; regular expressions, regular sets, context-free grammars, pushdown automata, context free languages. Selected topics from Turing Machines and undecidability. Prerequisite: CS 5333. (3-0) S

CS 5375 Principles of UNIX (3 semester hours) Design and history of the UNIX operating system. Detailed study of process and file system data structures. Shell programming in UNIX. Use of process-forking functionality of UNIX to simplify complex problems. Interprocess communication and coordination. Device drivers and streams as interfaces to hardware features. TCP/IP and other UNIX inter-machine communication facilities. Prerequisite: CS 5335. (3-0) S

CS 5390 Computer Networks (3 semester hours) The design and analysis of computer networks. Topics include: the OSI reference model, transmission media, medium-access protocols, LANs, data link protocols, routing, congestion control, internetworking, and connection management. Prerequisite: CS 5333. (3-0) S

CS 5V71 Cooperative Education (1-3 semester hours) Placement in a faculty-supervised work environment in industry or government. Sites may be local or out of state. The cooperative education program provides exposure to a professional working environment, application of theory to working realities, and an opportunity to test skills and clarify goals. Experience gained may also serve as a work credential after graduation. (May be repeated to a maximum of 9 credit hours.) Departmental approval is required. ([1-3]-0) S

CS 5V81 Special Topics in Computer Science (1-9 semester hours) Selected topics in Computer Science. (May be repeated to a maximum of 9 credit hours.) ([1-9]-0) S

CS 6349 Digital Logic Design (3 semester hours) Advanced mathematical concepts useful in digital logic design. Algorithmic minimization of switching functions. Hazards in combinational networks. Synthesis of switching functions from IC building blocks. Disjoint decomposition and multiple level synthesis. Analysis and design of synchronous and asynchronous sequential machines. Design of components of high speed arithmetic-logic units. Prerequisite: CS 5341. (3-0) T

CS 6351 Computer Systems Design (3 semester hours) Design of instruction sets, memory addressing modes, interleaved memory, cache memory design. Instruction pipelines, techniques for removing dependency delays. Computer bus systems and interfaces for various input/output device types. Pipelined and parallel functional units and their associated code generation algorithms. RISC architectures, support of high level languages, data flow machines, functional languages, lazy evaluation and graph reduction machines. Prerequisite: CS 6349. (3-0) T

CS 6352 Performance of Computer Systems and Networks (3 semester hours) Overview of case studies. Quick review of principles of probability theory. Queuing models and physical origin of random variables used in queuing models. Various important cases of the M/M/m/N queuing system. Little’s law. The M/G/1 queuing system. Simulation of queuing systems. Product form solutions of open and closed queuing networks. Convolution algorithms and Mean Value Analysis for closed queuing networks. Stochastic Petri Nets. Discrete time queuing systems. Prerequisite: a first course on probability theory.
(3-0) S

CS 6353 Compiler Construction (3 semester hours) Lexical analyzers, context-free grammars. Top-down and bottom-up parsing; shift reduce and LR parsing. Operator-precedence, recursive-descent, predictive, and LL parsing. LR(k), LL(k) and precedence grammars will be covered. Prerequisites: CS 5343 and CS 5349. (3-0) Y

CS 6354 Software Engineering (3 semester hours) Introduction to software life cycle models and overview of their stages. System and software requirements engineering, software architecture and design, software testing, validation, and verification, software quality assurance and metrics, software generation, maintenance, and evolution, project planning, control, and management. Software processes, CASE tools, software reuse, reverse engineering, and re-engineering. Prerequisites: CS 5303, CS 5333; corequisite: CS 5343 (CS 5343 can be taken before or at the same time as CS 6354) (3-0) S

CS 6356 Software Maintenance, Evolution, and Re-Engineering (3 semester hours) Principles and techniques of software maintenance. Impact of software development process on software justifiability, maintainability, evolvability, and planning of release cycles. Use of very high-level languages and dependencies for forward engineering and reverse engineering. Achievements, pitfalls, and trends in software reuse, reverse engineering, and re-engineering. Prerequisite: CS 6354 (3-0) Y

CS 6357 Software Quality Assurance and Metrics (3 semester hours) Concepts of the pervasive system attributes: reliability, efficiency, maintainability, reusability, etc. Software complexity and measures. Software process measures, product measures and resource measure. Validation of software measures. Software measures and measurement theory. Measuring, monitoring and controlling reliability. Supporting tools. Prerequisite: CS 6354 (3-0) Y

CS 6359 Object-Oriented Analysis and Design (3 semester hours) Analysis and practice of modern tools and concepts that can help produce software that is tolerant of change. Consideration of the primary tools of encapsulation and inheritance. Construction of "software-ICs" which show the parallel with hardware construction. Prerequisites: CS 6354 and either CS 5335 or CS 5336. (3-0) S

CS 6360 Database Design (3 semester hours) Methods, principles and concepts that are relevant to the practice of database software design. Topics such as file-system organization, database structure, schemata, database implementation, information retrieval and protection. Prerequisite: CS 5343. (3-0) S

CS 6361 Requirements Engineering (3 semester hours) System and software requirements engineering. Identification, elicitation, modeling, analysis, specification, management, and evolution of functional and non-functional requirements. Strengths and weaknesses of different techniques, tools, and object-oriented methodologies. Interactions and trade-offs among hardware, software, and organization. System and sub-system integration with software and organization as components of complex, composite systems. Transition from requirements to design. Critical issues in requirements engineering. Prerequisite: CS 6354. (3-0) S

CS 6362 Software Architecture and Design (3 semester hours) Concepts and methodologies for the development, evolution, and reuse of software architecture and design, with an emphasis on object-orientation. Identification, analysis, and synthesis of system data, process, communication, and control components. Decomposition, assignment, and composition of functionality to design elements and connectors. Use of non-functional requirements for analyzing trade-offs and selecting among design alternatives. Transition from requirements to software architecture, design, and to implementation. State of the practice and art. Prerequisite: CS 6354. (3-0) S

CS 6363 Design and Analysis of Computer Algorithms (3 semester hours) The study of efficient algorithms for various computational problems. Algorithm design techniques. Sorting, manipulation of data structures, graphs, matrix multiplication, and pattern matching. Complexity of algorithms, lower bounds, NP completeness. Prerequisite: CS 5343 . (3-0) S

CS 6364 Artificial Intelligence (3 semester hours) Design of machines that exhibit intelligence. Particular topics include: representation of knowledge, vision, natural language processing, search, logic and deduction, expert systems, planning, language comprehension, machine learning. Prerequisite: CS 5343. (3-0) Y

CS 6365 Expert Systems (3 semester hours) Fundamentals of expert systems. Topics include knowledge acquisition and representation, metaknowledge, control of problem-solving systems, process explanation, plausible reasoning. Prerequisite: CS 5343. (3-0) Y

CS 6366 Computer Graphics (3 semester hours) Geometric models of two- and three-dimensional objects and curved surfaces. Transformations in two and three dimensions. Clipping algorithms. Homogeneous coordinates. Hidden line and surface elimination algorithms: depth buffer, priority, polygon and others. Raster graphics systems. Scan line conversion algorithms, color and grey scale resolution and aliasing problems. Shading, rendering and special effects. Curved surface modeling. Bezier and B-spline functions. Review of current developments. Prerequisites: CS 5330, CS 5343, and linear algebra. (3-0) Y

CS 6367 Software Testing, Validation, and Verification (3 semester hours) Methods for evaluating software for correctness, performance and reliability including code inspections, program proofs and testing methodologies. Formal and informal proofs of correctness. Code walkthroughs, code inspections and their role in software verification. Unit and system testing techniques, testing tools and limitations of testing. Statistical testing, reliability models and performance measurement techniques. Prerequisite: CS 6354. (3-0) Y

CS 6368 Telecommunication Network Management (3 semester hours) In-depth study of network management issues and standards in telecommunication networks. OSI management protocols including

CMIP, CMISE, SNMP, and MIB. ITU’s TMN (Telecommunication Management Network) standards, TMN functional architecture and information architecture. NMF (Network Management Forum) and service management, service modeling and network management API. Issues of telecommunication network management in distributed processing environment. Prerequisite: One of 4390, 6390, 6385. (3-0) Y

CS 6369 Complexity of Combinatorial Algorithms (3 semester hours) Topics include bounded reducibilities and completeness, approximation algorithms and heuristics for NP—hard problems, randomized algorithms, additional complexity classes. Prerequisite: CS 6363. (3-0) T

CS 6370 Information Systems Engineering (3 semester hours) Study of characteristics, analysis and synthesis of information systems in industrial, business, and governmental organizations. Building conventional information systems through requirements modeling and analysis, design, and implementation. Approaches and issues in engineering and re-engineering intelligent, cooperative, and distributed information systems. Prerequisite: CS 6360. (3-0) Y

CS 6371 Structure and Design of Programming Languages (3 semester hours) Evolution of concepts in programming languages. Data and control abstraction. Run-time effects of binding, scope and extent; structure of ALGOL-like and interpretive languages. Data types, problem areas and implementation models. Control structures, exception handling, concurrency. Functional programming. Examples from representative languages. Prerequisite: CS 5343, CS 5349. (3-0) S

CS 6374 Computational Logic (3 semester hours) Methods and algorithms for the solution of logic problems. Topics include problem formulation in first order logic and extensions, theorem proving algorithms, polynomially solvable cases, logic programming, applications. Prerequisites: CS 5343, and knowledge of "C." (3-0) Y

CS 6375 Neural Nets and Machine Learning (3 semester hours) Algorithms for training perceptions and multi-layer neural nets: back propagation, Boltzman machines, self- organizing nets. The ID3 and the Nearest Neighbor algorithms. Formal models for analyzing learnability: exact identification in the limit and probably approximately correct (PAC) identification. Computational limitations of learning machines. Prerequisite: CS 5343. (3-0) Y

CS 6376 Parallel Processing (3 semester hours) Topics include parallel machine models, parallel algorithms for sorting, searching and matrix operations. Parallel graph algorithms. Selected topics in parallel processing. Prerequisite: CS 6363. (3-0) T

CS 6378 Advanced Operating Systems (3 semester hours) Concurrent processing, inter-process communication, process synchronization, deadlocks, introduction to queuing theory and operational analysis, topics in distributed systems and algorithms, checkpointing, recovery, multiprocessor operating systems. Prerequisites: CS 5348 or equivalent; knowledge of C and UNIX. (3-0) S

CS 6380 Distributed Computing (3 semester hours) Topics include distributed algorithms, election algorithms, synchronizers, mutual exclusion, resource allocation, deadlocks, Byzantine agreement and clock synchronization, knowledge and common knowledge, reliability in distributed networks, proving distributed programs correct. Prerequisite: CS 5348. (3-0) S

CS 6381 Combinatorics and Graph Algorithms (3 semester hours) Fundamentals of combinatorics and graph theory. Combinatorial optimization, optimization algorithms for graphs (max flow, shortest routes, Euler tour, Hamiltonian tour). Prerequisites: CS 5343, CS 6363. (3-0) T

CS 6382 Theory of Computation (3 semester hours) Formal models of computation. Recursive function theory. Undecidability and incompleteness. Selected topics in theory of computation. Prerequisite: Consent of Instructor. (3-0) Y

CS 6384 Computer Vision (3 semester hours) Algorithms for extracting information from digital pictures. Particular topics include: analysis of motion in time varying image sequences, recovering depth from a pair of stereo images, image separation, recovering shape from textured images and shadows, object matching techniques, model based recognition, the Hough transform. Prerequisite: CS 5343. (3-0) Y

CS 6385 Telecommunication Networks (3 semester hours) The design and analysis of telecommunication networks. Topics include network design issues, network design tools, analysis of loss and delay, modeling networks, review of fundamental graph algorithms, techniques for centralized network design, optimization of routing, ring architectures, mesh architectures, network reliability, survivable networks, wireless networks. Prerequisites: CS 5333, CS 5343, a first course in Probability Theory. (3-0) Y

CS 6386 Telecommunication Software Design (3 semester hours) Programming with sockets and remote procedure calls, real time programming concepts and strategies. Operating system design for real time systems. Encryption, file compression, and implementation of fire walls. An in-depth study of TCP/IP implementation. Introduction to discrete event simulation of networks. Prerequisites: CS 5390. (3-0) Y

CS 6387 Computer-Aided Software Engineering (3 semester hours) Tools for development, maintenance, evolution and reuse of software. Development, selection, use, and management of such tools. Traditional and emerging methodologies, including structured systems methodologies and knowledge-based approaches to software development. Opening and closing CASEs: benefits, pitfalls, and critical issues. Prerequisite: CS 6354. (3-0) Y

CS 6388 Software Project Planning and Management (3 semester hours) Techniques and disciplines for successful management of software projects. Planning, scheduling, tracking, cost and size estimation, risk management, configuration management and version control. Identification, definition, management, and optimization of software engineering processes. Benefits and pitfalls of both conventional and emerging technologies. Prerequisite: CS 6354. (3-0) Y

CS 6389 Formal Methods and Programming Methodology (3 semester hours) Formal techniques for building highly reliable systems. Use of abstractions for concisely and precisely defining system behavior. Formal logic and proof techniques for verifying the correctness of programs. Hierarchies of abstractions, state transition models, Petri Nets, communicating processes. Operational and definitional specification languages. Applications to reliability-critical, safety-critical, and mission-critical systems, ranging from commercial computer communication systems to strategic command control systems. Prerequisite: CS 6354. (3-0) Y

CS 6390 Advanced Computer Networks (3 semester hours) Overview of the ISDN network and the SS7 protocol. High-speed networks including B-ISDN, Frame Relay and ATM. Congestion control algorithms, quality of service guarantees for throughput and delay. Prerequisite: CS 5390. (3-0) S

CS 6392 Mobile Computing Systems (3 semester hours) Topics include coping with mobility of computing systems, data management, reliability issues, packet transmission, mobile IP, end-to-end reliable communication, channel and other resource allocation, slot assignment, routing protocols, and issues in mobile wireless networks (without base stations). Prerequisite: CS 5348 or equivalent. (3-0) Y

CS 6394 Digital Telephony (3 semester hours) Introduction and overview emphasizing the advantages of digital voice networks. Voice digitization. Digital transmission, multiplexing, and switching. Rearrangeable switching networks. Digital modulation for radio systems. Network operation issues: synchronization, control; integration of voice and data, packet switching and traffic analysis. (3-0) Y

CS 6396 Real-Time Systems (3 semester hours) Introduction to real-time applications and concepts. Real-time operating systems and resource management. Specification and design methods for real-time systems. System performance analysis and optimization techniques, task assignment and scheduling, real-time communication, case studies of real-time operating systems. Prerequisite: CS 5348 or equivalent. (3-0) Y

CS 7380 Computational Geometry (3 semester hours) Survey of recent results in the application of computational techniques to geometric problems. Convex hulls, searching, proximity problems, Voronoi diagrams, intersections, rectilinear geometry, polygon decomposition, motion planning, applications. Prerequisite: CS 6363. (3-0) T

CS 8305 Software Engineering Project I (3 semester hours) Y

CS 8306 Software Engineering Project II (3 semester hours) (3 + 3 semester hours) These two courses, which must be taken consecutively, are intended to provide an extensive hands-on experience in dealing with various issues of software development. Each project will involve main areas of software engineering such as analysis of requirements, construction of software architecture and design, implementation, testing, software metrics, project management, software process, software maintenance and software re-engineering. Prerequisites: CS 6354 or consent of instructor. (6-0) Y

CS 8V02 Topics in Computer Science (1-6 semester hours) (May be repeated to a maximum of 9 hours.) ([1-6]-0) S

CS 8V07 Research (1-9 semester hours) Open to students with advanced standing subject to approval of the graduate adviser. ([1-9]-0) S

CS 8V98 Thesis (3-9 semester hours) (May be repeated for credit.) ([3-9]-0) S

CS 8V99 Dissertation (3-9 semester hours) (May be repeated for credit.) ([3-9]-0) S


Alphabetical Index: ABCDEFGHI JK LMNOP Q RSTUVW XYZ
Return to Catalog Homepage To the Next Page

Last modified 29 December 1998 Comments to Webmaster.