Graduate Catalog

2010-11 Academic Year

Computer Science and Engineering

Computer Science and Engineering, CSCE

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.

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

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

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

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

CSCE 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 CSCE 5150.

CSCE 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 CSCE 4110 or equivalent, or consent of instructor.

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

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

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

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

CSCE 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.)

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

CSCE 5216. Pattern Recognition. 3 hours. Study of the fundamentals of pattern recognition techniques including Bayesian decision and estimation, non-parametric methods, multi-class classifiers and feature selection methods. Prerequisite(s): CSCE 3110 or equivalent.

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

CSCE 5225. Digital Image Processing. 3 hours. Study of the fundamentals of digital image processing techniques, including image formation, filtering and image enhancement, restoration, region and edge segmentation, and image coding. Prerequisite(s): CSCE 3110 or equivalent.

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

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

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

CSCE 5265. Advanced Topics in Game Development. 3 hours. Advanced topics in game development from various areas of computer science, including but not limited to graphics, networking, and software development. Readings and discussion of articles from the recent academic and technical literature on game development and related material from relevant computer science areas. Prerequisite(s): CSCE 5260 or CSCE 4220. May be repeated for credit as topics vary.

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

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

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

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

CSCE 5370. Distributed and Parallel Database Systems. 3 hours. Consists of two parts: distributed database systems and parallel database systems. Provides fundamental and advanced concepts and techniques of these systems which have become important issues not only in academia, but also in industries for the study and development of large scale database systems. Prepares students for research in the area of database systems. In addition to lectures which provide a broad base for understanding strategic concepts and technologies, each student performs a study on specific topics of his or her choice. Prerequisite(s): CSCE 4350 or equivalent.

CSCE 5380. Data Mining. 3 hours. Introduction to data mining which includes main data mining tasks, e.g. classification, clustering, association rules, and outlier detection, and some of the latest developments, e.g. mining spatial data and web data. Prerequisite(s): CSCE 4350 or equivalent.

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

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

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

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

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

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

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

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

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

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

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

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

CSCE 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 CSCE 5610.

CSCE 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 CSCE 3600.

CSCE 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 CSCE 3610.

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

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

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

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

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

CSCE 5810. BioComputing. 3 hours. Introduction to computational problems inspired by the life sciences and overview of available tools. Methods to compute sequence alignments, regulatory motifs, phylogenetic trees and restriction maps. Same as BIOL 5810. (Meets with CSCE 4810.)

CSCE 5820. Computational Epidemiology. 3 hours. Application of computational methods to problems in the field of public health. Design and implementation of disease outbreak models. Same as BIOL 5820 and GEOG 5960. (Meets with CSCE 4820.)

CSCE 5900-CSCE 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.

CSCE 5920-CSCE 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.

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

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

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

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

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

CSCE 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 CSCE 5160.

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

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

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

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

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

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

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

CSCE 6350. Advanced Topics in Database Systems. 3 hours. Topics in database theory and application. Data models, distributed databases, spatial databases, spatio-temporal databases, statistical databases, database machines, knowledge bases, database design theory and self-documenting databases. May be repeated for credit as topics vary.

CSCE 6370. Multimedia Database Systems. 3 hours. Deals with issues in multimedia (audio, images and video); multimedia compression; multimedia operating systems; multimedia communications; multimedia indexing, querying and retrieving; and web database systems, which have experienced growth recently, and play important roles in the areas of business, entertainment, medicine and education. The goal of this course is to give in-depth understandings to media themselves with emphases on other issues related to DBMS, operating systems and communications. Prerequisite(s): CSCE 4350 or equivalent.

CSCE 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 and engineering; human performance engineering; and software configuration management and control. Prerequisite(s): CSCE 5420 or consent of department.

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

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

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

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

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

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

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

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

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

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

CSCE 6810. Advanced Topics in Computational Life Science. 3 hours. Current research topics related to computational life sciences such as bioinformatics, computational epidemiology and population models. May be repeated for credit as topics vary. Same as BIOL 6810.

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

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

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

CSCE 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

(940) 565-2636
graduateschool@unt.edu

UNT Switchboard

(940)565-2000