Computer Science and Engineering

Computer Engineering, CSCE

5510. Wireless Communication Theory. 3 hours. Fundamentals of wireless communications and networking, with emphasis on first, second and third generation cellular systems and satellite communication. Topics include point-to-point signal transmission through a wireless channel, cellular capacity, multi-user transmissions and mobility management. Prerequisite(s): CSCE 3020.

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

5530. Computer Network Design. 3 hours. Analysis of 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 3520 and CSCI 3780.

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 or equivalent.

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, TROS, MicroC/OS-II and pOSEK/pOSEKSystem. Prerequisite(s): CSCE 2610, 3600, 3750.

5740. 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 3710 and CSCE 3730.

5750. VLSI Testing. 3 hours. Advanced experience with CAD tools for VLSI design, IC testing. Design project from CSCE 5740 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 5740.

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.

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

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

6790. 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. Prerequisite(s): CSCE 5510.

Computer Science, CSCI

5010. Introduction to Computer Applications. 3 hours. 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.

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

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

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

5200. 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): CSCI 3400 or equivalent.

5220. 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): CSCI 3100 or consent of instructor.

5230. 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 research project.

5250. 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): CSCI 3400 or equivalent.

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): CSCI 3400 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): CSCI 3400 or equivalent.

5300. 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): CSCI 3400 or equivalent.

5330. Topics in Computer Science. 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.

5350. Database Systems Design. 3 hours. Design and implementation issues for large database management systems, security and integrity issues, and physical implementation techniques. Prerequisite(s): CSCI 4350.

5370. Graph Theory for Computer Scientists. 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): CSCI 3400 and 4450 or equivalent, or consent of the instructor.

5400. 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): CSCI 4410.

5410. 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): CSCI 5210 or consent of department.

5415. Machine Learning. 3 hours. Theory and practice of machine learning. Decision trees, neural networking 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): CSCI 3400.

5420. 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): CSCI 3400 and one semester of linear algebra.

5430. 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 semesters), linear algebra (one semester) and CSCI 5030, or equivalent programming experience.

5450. Analysis of Computer Algorithms. 3 hours. The 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): CSCI 4450.

5470. 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 MSCI 5250.)

5520. 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): CSCI 4010.

5530. 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): CSCI 3400 or equivalent.

5540. 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): CSCI 3600. May be repeated for credit with consent of instructor.

5550. 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): CSCI 5200.

5700. 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): CSCI 3100 and 3600 or equivalent.

5750. 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): CSCI 4450 or 5450.

5780. 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): CSCI 4540 and 5700.

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

5890. Directed Study. 1-4 hours. Study of topics in computer science by individuals or small groups. A student taking CSCI 4890 or 5890 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 sciences 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 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.

5900-5910. Special Problems. 1-3 hours each. Independent study and research of a specific problem in a field of computer science 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 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 Problems in Lieu of Thesis. 2-4 hours each. Independent research of a specific problem in a field of computer science. The work will be 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 prior to submission to the office of the graduate dean. Prerequisite(s): approval of student's research plan by a computer science faculty member.

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.

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

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

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

6330. Advanced Topics in Computer Science. 2-3 hours. Advanced topics and current research issues in computer science. 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 Computer Graphics. 3 hours. Research and study of specific problems in the field of computer graphics. The course focuses on topics current to the field and 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): CSCI 5420 or consent of department.

6490. 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 3-D interpretation; robot programming languages, algorithms and computational architectures; expert systems in design, diagnosis and planning; simulation languages and methods; and geometric modeling and graphing animation. Prerequisite(s): consent of department.

6520. 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): CSCI 5520 or consent of department.

6720. 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): CSCI 5700 or consent of department.

6750. 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): CSCI 5450 or 5750.

6780. 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): CSCI 5780 or consent of department.

6781. 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): CSCI 5780 or consent of department. May be repeated as topics vary.

6900. Special Problems. 1-3 hours. Independent study and research of a specific problem in a field of computer science. 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.

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

Top | Department of Computer Science and Engineering | Graduate Course and Subject Guide | UNT Graduate Catalog Shortcuts | Additional Graduate Literature | Undergraduate Course and Subject Guide | UNT home