Graduate Catalog

2008-09 Academic Year

Computer Science and Engineering Courses

Computer Science and Engineering, CSCE

5011. Introduction to Computer Applications. 2 hours. (2;0;1) Use of the computer as a tool in other disciplines. Emphasis is on familiarization with the capabilities of packaged programs such as statistical libraries. Preparation of input for and interpretation of output from these programs. Introduction to programming may not count toward a major in computer science.

5012. Computer Methods. 3 hours. Use of software tools for the solution of problems in a variety of disciplines. Prerequisite(s): 3 hours of computer science. May not count toward a major in computer science.

5013. Problem-Solving in High-Level Languages. 4 hours. Algorithms, pseudocode, flow charts, structured techniques of problem-solving and program design using high-level programming languages. Prerequisite(s): 6 hours of mathematics and/or statistics. Leveling course for computer science majors.

5020. Current Research in Computer Science and Engineering. 1 hour. Weekly seminar series covering current research topics in computer science and engineering, including presentations of active research projects by faculty, graduate students and visitors. Required of all full-time graduate students in their first fall term/semester of graduate study. Pass/no pass only.

5150. Analysis of Computer Algorithms. 3 hours. Study of efficient algorithms for various computational problems. Topics include advanced techniques of algorithm design: divide-and-conquer, the greedy method, dynamic programming, search and traversal, back-tracking and branch-and-bound. Other topics include NP-Completeness theory, including approximation algorithms and lower bound theory, and probabilistic algorithms. Prerequisite(s): CSCE 4110.

5160. Parallel Processing and Algorithms. 3 hours. Taxonomy of parallel computers; shared-memory vs. message-passing architectures; theoretical models; parallel algorithm design strategies; parallel data structures; automatic parallelization of sequential programs; communication; synchronization and granularity. Prerequisite(s): CSCE 4110 or 5150.

5170. Graph Theory. 3 hours. Computer science oriented graph theory. Topics include connected and disconnected graphs, Hamiltonian circuits, trees and fundamental circuits, coloring, algorithms and computer programs, switching and coding theory, and electrical network analysis. Prerequisite(s): CSCE 3110 and 4110 or equivalent, or consent of instructor.

5200. Information Retrieval and Web Search. 3 hours. Covers traditional material and recent advances in information retrieval, study of indexing, processing and querying textual data, basic retrieval models, algorithms and information retrieval system implementations. Covers advanced topics in intelligent information retrieval, including natural language processing techniques and smart web agents. Prerequisite(s): CSCE 3110 or equivalent.

5210. Artificial Intelligence. 3 hours. Advanced study of issues relevant in the design of intelligent computer systems. Topics included in this course are search techniques, knowledge representation, issues in natural language processing and the design of expert systems. Prerequisite(s): CSCE 5211 or consent of department.

5211. Non-Numeric Programming. 3 hours. Programming techniques and data structures appropriate to non-numeric programming, including object-oriented programming. Use of languages similar to LISP and PROLOG. Prerequisite(s): CSCE 3110 or equivalent.

5212. Foundations of Logic Programming. 3 hours. Logic programs, including definite, normal and general types. Inference methods, including forward-chaining, backward-chaining and deduction graphs. Theorem proving and deductive databases. Unification, soundness and completeness of resolution-refutation process and PROLOG. Prerequisite(s): CSCE 4310.

5213. Modeling and Simulation. 3 hours. Modeling of business and scientific discrete-event processes. Directed graphs. Critical path analysis. Queuing theory. Markov processes. Stochastic models. Introductions to systems simulation and industrial dynamics. Programming languages for simulation. Prerequisite(s): 6 hours of programming and 3 hours of statistics. (Same as DSCI 5250.)

5215. Machine Learning. 3 hours. Theory and practice of machine learning. Decision trees, neural network learning, statistical learning methods, genetic algorithms, Bayesian learning methods, rule-based learning and reinforcement learning. Improved learning through bagging, boosting and ensemble learning. Practical applications of machine learning algorithms. Prerequisite(s): CSCE 3110.

5220. Computer Graphics. 3 hours. Basic principles for the design, use and understanding of graphics systems. Design and implementation of graphics software packages, applications and algorithms for creating and manipulating graphics displays. Prerequisite(s): CSCE 3110 and one term/semester of linear algebra.

5230. Methods of Numerical Computations. 3 hours. Introduction to numerical methods and mathematical software for scientific computation. Floating-point number systems, machine precision, cancellation error, conditioning and stability. Linear systems, Gaussian elimination and matrix decomposition. Polynomial and spline interpolation. Numerical integration. Ordinary differential equations. Non-linear equations. Prerequisite(s): calculus (two terms/semesters), linear algebra (one term/semester) and CSCE 5013 or equivalent programming experience.

5250. Introduction to Game Programming. 3 hours. 2D game programming techniques, including real-time, event-driven and multimedia programming. Graphics, sound and input programming. Prerequisite(s): CSCE 3110 or equivalent, or consent of instructor.

5260. 3D Game Programming. 3 hours. 3D programming techniques, including real-time 3D graphics programming, shaders, terrain rendering, level of detail, collision detection, particle engines, 3D sound and character animation. Prerequisite(s): CSCE 5250, or CSCE 4210 or equivalent, or consent of department.

5270. Computer-Human Interfaces. 3 hours. Emphasizes human performance in using computer and information systems. Topics for software psychology include programming languages, operating systems control languages, database query facilities, computer-assisted dialogues, personal computing systems, editors, word processing and terminal usage by non-skilled users. Prerequisite(s): CSCE 3110 or equivalent.

5290. Natural Language Processing. 3 hours. Introduction to natural language processing; modern theories of syntax; context-free parsing; transformational syntax and parsing; augmented transition networks; and survey of natural language processing systems. Prerequisite(s): CSCE 3110 or equivalent.

5350. Database Systems I. 3 hours. Introduction to the design and use of database systems. Topics include data models, database query languages, logical database design and dependency theory. Prerequisite(s): CSCE 4350.

5360. Database Systems II. 3 hours. Overview of database management systems implementation and introduction to emerging database technologies. The topics covered include: data storage structures, query processing and optimization, transaction management, and database system architectures. Prerequisite(s): CSCE 5350.

5400. Automata Theory. 3 hours. Deterministic and non-deterministic finite automata, regular expressions and sets, context-free grammars and pushdown automata. Turing machines as acceptors, enumerators and computers. Church's thesis, universal Turing machines and the halting problem, the Chomsky hierarchy and intractable problems. Prerequisite(s): CSCE 3110 or equivalent.

5420. Software Development. 3 hours. Systems analysis, software requirements analysis and definition, specification techniques, software design methodologies, performance measurement, validation and verification, and quality assurance techniques. Prerequisite(s): CSCE 4410.

5430. Topics in Software Engineering. 3 hours. Case tools, module implementation, testing, system delivery in the work place, scheduling and budgeting, project management, configuration management, software development tasks and ethical issues. Prerequisite(s): CSCE 3110 or equivalent.

5440. Real-Time Software Development. 3 hours. Specification of real-time system requirements, timing, synchronization and fault-tolerance issues, construction and validation of real-time software. Mathematical formalisms, design and analysis using real-time UML are also emphasized. Prerequisite(s): CSCE 4620.

5450. Programming Languages. 3 hours. Notations for description of language syntax and semantics. Properties of algorithmic languages: scope of variables, binding time, subroutines and co-routines. Data abstraction, exception handling and concurrent programming. Dialects and standardization. Prerequisite(s): CSCE 3110 or equivalent.

5510. Wireless Communications. 3 hours. Fundamentals of wireless communications. Topics covered include radio propagation channel characteristics and models, modulation, coding and receiver signal processing techniques in fading channels, multiple access techniques for wireless systems, fundamentals of wireless networks, and major cellular and wireless LAN standards. Prerequisite(s): CSCE 3510.

5520. Wireless Networks and Protocols. 3 hours. Architecture and elements of a wireless network. Use and process of mobility management. Signaling schemes used in wireless networks, network signaling, protocols and standards (GSM, IS-95, WAP, MobileIP, GPRS, UMTS and CDMA2000). Analysis of the operation and performance of wireless protocols. Prerequisite(s): CSCE 3600.

5530. Computer Network Design. 3 hours. Fundamental concepts, requirements and design tradeoffs, particularly as related to scheduling, congestion control, routing and traffic management. Wireless access, mobility (including WLAN), VoIP and applications. Firewalls, NATs, VPN, high availability and optical rings. Prerequisite(s): CSCE 3530.

5540. Introduction to Sensor Networks. 3 hours. Fundamentals of wireless sensor networks. Topics include: design implications of energy (hardware and software), and otherwise resource-constrained nodes; network self-configuration; services such as routing under network dynamics, localization, time-synchronization and calibration; distributed data management, in-network aggregation and collaborative signal processing, programming tools and language support. Prerequisite(s): CSCE 3600.

5550. Introduction to Computer Security. 3 hours. Theory and practice of computer security, stressing security models and assurance. Security goals, threats and vulnerabilities. Cryptography, program security and operating system security issues. Basic network security. Planning, policies and risk analysis. Prerequisite(s): CSCE 2610 or consent of instructor.

5560. Secure Electronic Commerce. 3 hours. Electronic commerce technology, models and issues, with emphasis on security issues. Supporting technology such as cryptography, digital signatures, certificates and public key infrastructure (PKI). Security-conscious programming for web-based applications. Exposure to interaction between technical issues and business, legal and ethical issues. Includes a research project. Prerequisite(s): CSCE 3110.

5570. Digital Communications. 3 hours. Decision theory, signal space, optimal receivers, modulation schemes, error performance, bandwidth, channel capacity, block coding, convolutional coding, trellis coded modulation, intersymbol interference, fading channels and spread spectrum. Prerequisite(s): CSCE 3020.

5580. Computer Networks. 3 hours. Study of problems and limitations associated with interconnecting computers by communication networks. ISO reference model, architecture of circuits, message and packet switching networks, network topology, routing, flow control, capacity assignment, protocols, coding and multiplexing. Prerequisite(s): CSCE 4600 and 5610.

5610. Computer System Architecture. 3 hours. The macro structure and instruction set of computer systems. Survey of characteristic architectures of central processors and systems. Topics selected from mini-, micro-, large-scale and highly parallel computers. I/O control; associative memories; characteristics of storage devices; paging; multiprocessors; terminals. Design of the computer utility and other communications-oriented systems. Prerequisite(s): CSCE 2610 and 3600.

5620. Real-Time Operating Systems. 3 hours. Basic real-time operating systems concepts and services, including interrupt processing, process and thread models, real-time software architectures and development environments. Detailed study of the design and implementation of real-time applications using real-time operating systems. Focus on commercial real-time operating systems/development environments, including vxWorks, RTOS, MicroC/OS-II and pOSEK/pOSEKSystem. Prerequisite(s): CSCE 3600 and 3610.

5640. Operating System Design. 3 hours. Advanced topics such as operating system design, job control languages, problems of multiprogramming and multiprocessing, computer networks, interaction, overlays, paging and accounting for resource usage (customer billing and hardware monitoring). System architecture. Interactive computers: time sharing, real-time and process control. Prerequisite(s): CSCE 3600.

5650. Compiler Design. 3 hours. Formal language specification, lexical analysis, parsing, code generation, error recovery techniques and optimization. Detailed study of two or three compilers. Prerequisite(s): CSCE 5400.

5730. Digital CMOS VLSI Design. 3 hours. Introduction to VLSI design using CAD tools, CMOS logic, switch level modeling, circuit characterization, logic design in CMOS, systems design methods, test subsystem design, design examples, student design project. Design project to be fabricated and tested in a follow-up course. Prerequisite(s): ELET 3720 and CSCE 3730.

5750. VLSI Testing. 3 hours. Advanced experience with CAD tools for VLSI design, IC testing. Design project from CSCE 5730 to be fabricated and tested. Implementation and verification of test programs, IC testing and troubleshooting, legal, economic, and ethical design issues. Oral presentations and written reports are required. Prerequisite(s): CSCE 5730.

5760. Design for Fault Tolerance. 3 hours. Introduction to the hardware and software methodologies for specifying, modeling and designing fault-tolerant systems supported by case studies of real systems. The material presents a broad spectrum of hardware and software error detection and recovery techniques that can be used to build reliable networked systems. The lectures discuss how the hardware and software interplay, what techniques can be provided in COTS hardware, what can be embedded into operating system and network communication layers, and what can be provided via distributed software layer and in the application itself. Prerequisite(s): CSCE 5730.

5900-5910. Special Problems. 1-3 hours each. Independent study and research of a specific problem in a field of computer science and engineering or its application. A report is required defining the problem and developing a solution. The work may be supervised by any member of the graduate faculty. Prerequisite(s): 8 hours of computer science and engineering with grades of A or B; prior approval of written plan by the faculty supervisor and by the computer science and engineering department chair. May be repeated for credit.

5920-5930. Research Problem in Lieu of Thesis. 2-4 hours each. Independent research of a specific problem in a field of computer science and engineering. The work is supervised by a member of the faculty of the Department of Computer Science and Engineering, and a final written report must be approved by the supervising faculty and the department chair. Prerequisite(s): Approval of student's research plan by a computer science and engineering faculty member.

5932. Internship. 1 hour. Supervised work in a job that meets specific educational and career objectives of the student. Requires submission of a final report summarizing industrial experience gained through the internship. Prerequisite(s): consent of department.

5933. Topics in Computer Science and Engineering. 3 hours. Advanced study of languages, files and processing techniques with applications selected from reservations systems, inventory systems and other administrative applications, process control, computer-assisted instruction, information storage and retrieval, artificial intelligence, heuristic programming and so forth, depending on class interest. Prerequisite(s): 6 hours advanced courses in computer programming. May be repeated for credit with consent of instructor.

5934. Directed Study. 1-4 hours. Study of topics in computer science and engineering by individuals or small groups. A student taking CSCE 4890 or 5934 may work with other students taking these courses on the same topic if the faculty supervisor agrees. The student is to prepare a plan for study of a topic and a plan for evaluation of study achievements. Prior approval by the computer science and engineering department chair and a graduate faculty member who agrees to supervise the work is required for the plan. Prerequisite(s): 6 hours of computer science and engineering with a grade of A or B. Open to students with graduate standing who are capable of developing problems independently. May be repeated for credit.

5950. Master's Thesis. 3 or 6 hours. To be scheduled only with consent of department. 6 hours credit required. No credit assigned until thesis has been completed and filed with the graduate dean. Continuous enrollment required once work on thesis has begun. May be repeated for credit.

6100. Theory of Computation. 3 hours. Computation by abstract devices, time complexity, inherent complexity of problems, complexity hierarchies, reductions, nondeterminism and NP-completeness, approximation and intractable problems. Prerequisite(s): consent of department.

6150. Complexity of Parallel Computation. 3 hours. Models of parallel computation-justification and buildability; inherent parallelism and communication costs; techniques for efficient parallelization. Lower and upper complexity bounds; the classes NC and SC: P-complete problems; the parallel computation thesis. Prerequisite(s): CSCE 5150 or 5160.

6210. Design and Implementation of Expert Systems. 3 hours. Problems in knowledge acquisition, knowledge representation issues, representation of meta-knowledge, use of statistical measures to limit search of the knowledge base and knowledge verification. Prerequisite(s): CSCE 5210.

6213. Advanced Modeling and Simulation. 3 hours. Current research issues in both simulation methodology and applications are discussed. Distributed simulation, simulation support tools, objects-oriented simulation, and artificial intelligence and simulation. Prerequisite(s): CSCE 5213 or consent of department.

6220. Advanced Computer Graphics. 3 hours. Research and study of specific problems in the field of computer graphics. Focuses on topics current to the field. Includes, but is not limited to, areas such as design and construction of computer graphics systems, both software and hardware; the theory and use of color and shading; algorithms for solid object modeling; and the use of graphics packages in computer-aided design. Prerequisite(s): CSCE 5220 or consent of department.

6230. Advanced Scientific Computing. 3 hours. Numerical computation, graphics and mathematical software. Prerequisite(s): consent of department.

6260. Advanced Pattern Recognition and Image Processing. 3 hours. Research and study of specific problems and advanced topics, including the principles and pragmatics of pattern recognition, digital image processing and analysis, and computer vision. Prerequisite(s): consent of department.

6280. Advanced Artificial Intelligence. 3 hours. Current research issues and advanced topics involving both the principles and pragmatics within the area of artificial intelligence. Topics include, but are not limited to, knowledge representation, intelligent tutoring systems and semantic representation in natural language processing. Prerequisite(s): CSCE 5210.

6290. Advanced Man/Machine Intelligence. 3 hours. Robotics-based computer hardware and software; intelligent systems in automation; computer interface and control; computer vision in recognition inspection and 3D interpretation; robot programming languages, algorithms and computational architectures; expert systems in design, diagnosis and planning; simulation languages and methods; and geometric modeling and graphic animation. Prerequisite(s): consent of department.

6350. Advanced Database Design. 3 hours. Database theory and application. Data models, distributed databases, spatial databases, statistical databases, database machines, knowledge bases, database design theory and self-documenting databases. Prerequisite(s): consent of department.

6420. Advanced Software Engineering. 3 hours. Research and study of specific problems in the field of software engineering. Software development methodology, verification and reliability; software quality assurance and productivity; software engineering economics; models and metrics for software management an engineering; human performance engineering; and software configuration management and control. Prerequisite(s): CSCE 5420 or consent of department.

6450. Advanced Programming Languages. 3 hours. Current research issues in programming languages. Translation of programming languages, formal semantics and program verification, foundations of structured programming, abstraction, declarative systems and special-purpose languages. Prerequisite(s): consent of department.

6480. Computability. 3 hours. Formal languages, grammars and automata, and their relationship to one another. Operations on languages. Unsolvable problems concerning languages. Prerequisite(s): CSCE 5400 and consent of department.

6581. Advanced Computer Networks. 3 hours. Selected topics in computer networks. Study of current high-speed networks technology; design implementation and analysis of communication protocols; TCP/IP, routing protocols, quality of service and network security. Prerequisite(s): CSCE 5580 or consent of department. May be repeated as topics vary.

6590. Advanced Topics in Wireless Communications and Networks. 3 hours. Research issues in the design of next generation wireless networks: cellular systems, medium access techniques, signaling, mobility management, control and management for mobile networks, wireless data networks, Internet mobility, quality-of-service for multimedia applications, caching for wireless web access, and ad hoc networks. May be repeated for credit. Prerequisite(s): CSCE 5510 or CSCE 5520.

6610. Advanced Computer Architecture. 3 hours. Computer design problems, control structures and microprogramming, microprocessors, large-scale architectures, multiprocessor systems and interconnection networks, fault-tolerance, language-based architectures, special purpose and application-based systems and performance of systems. Prerequisite(s): CSCE 5610 or consent of department.

6620. Advanced Real-Time Operating Systems. 3 hours. Seminar course intended to further the knowledge of operating systems design and development. Focuses on distributed and real-time systems, with scheduling, time, and security as the mainstays. This is an advanced graduate level course that covers in detail many advanced topics in operating system design and implementation. It starts with topics such as operating systems structuring, multi-threading and synchronization and then moves on to systems issues in parallel and distributed computing systems. Prerequisite(s): CSCE 5620.

6640. Advanced Operating Systems. 3 hours. Current research issues and advanced topics involving both the principles and pragmatics of operating systems specifications, design and implementation. Prerequisite(s): CSCE 5640 or consent of department.

6650. Advanced Compiler Techniques. 3 hours. Current research issues and advanced topics involving both the principles and pragmatics of compiler systems specification, design and implementation. Prerequisite(s): CSCE 5650.

6680. Advanced Distributed Computing. 3 hours. Selected topics in distributed systems and computer networks. Design of local area networks and multiple network systems; databases, programming languages and operating systems for distributed systems. Prerequisite(s): CSCE 5580 or consent of department.

6730. Advanced VLSI Systems. 3 hours. Design and implementation of VLSI systems. Properties of MOS devices, implementation of basic functions, design of memory and processor circuits, languages for circuit design, placement and routing algorithms, and area-time complexity. Prerequisite(s): CSCE 5610 or consent of department.

6900. Special Problems. 1-3 hours. Independent study and research of a specific problem in a field of computer science and engineering. A report defining the problem and developing a solution is required. Problem chosen by the student with the approval of the supervising professor. Prerequisite(s): PhD status. May be repeated for credit with consent of department.

6933. Advanced Topics in Computer Science and Engineering. 2-3 hours. Advanced topics and current research issues in computer science and engineering. Prerequisite(s): consent of department.

6940. Individual Research. 1-6 hours. To be scheduled by the doctoral candidate engaged in research. May be repeated for credit.

6950. Doctoral Dissertation. 3, 6 and 9 hours. To be scheduled only with consent of department. 12 hours credit required. No credit assigned until dissertation has been completed and filed with the graduate dean. Doctoral students must maintain continuous enrollment in this course subsequent to passing qualifying examination for admission to candidacy. May be repeated for credit.

Graduate Admissions

(888) UNT-GRAD
(868-4723) (toll-free)

UNT Switchboard

(940) 565-2000