Computer Sciences

Computer Science, CSCI = 0123

4010-4020. Software Development. 3 hours each.

4010. The software development process, requirements analysis, software design concepts and methodologies, structured programming and debugging. Prerequisite(s): CSCI 3400.

4020. Software testing methodologies, software reliability, maintenance, project management and configuration management. Prerequisite(s): CSCI 4010.

4250. Survey of Computer Languages. 3 hours. Formal definition of programming languages, including specification of syntax and semantics. Comparison of several existing high-level languages. Prerequisite(s): CSCI 3400.

4300. File Organization and Processing. 3 hours. File design and implementation; operating systems, survey of peripheral device characteristics, sorting, information storage and retrieval, list processing and direct access techniques, job control language, security and privacy. Prerequisite(s): CSCI 3400.

4330. Topics in Computer Science. 3 hours. Selected topics on computer science. Prerequisite(s): CSCI 3400 and consent of instructor. May be repeated for credit as topics vary.

4350. Introduction to Database Systems Design. 3 hours. Logical and physical database system organization; logical models; design issues; secondary storage considerations. Prerequisite(s): CSCI 3400.

4410. Introduction to Artificial Intelligence. 3 hours. Introduction to concepts and ideas in artificial intelligence. Topics include search techniques, knowledge representation, control strategies and advanced problem-solving architecture. Prerequisite(s): CSCI 3210 or knowledge of LISP or PROLOG.

4420. Introduction to Computer Graphics. 3 hours. Concepts and principles, survey of present display and input technology, systems and applications. Study of basic concepts, and mathematical and geometric principles. Design and use of graphics software packages. Design and implementation of an application using available hardware and software. Prerequisite(s): CSCI 3400.

4450. Algorithm Analysis and Complexity Theory. 3 hours. Algorithm design methodologies, sorting, graph algorithms, dynamic programming, backtracking, string searching and pattern matching. Prerequisite(s): CSCI 3400 and MATH 2770.

4510. Machine Structures. 3 hours. Computer systems organization; micro-, mini- and large-scale machines; multi-processor configurations; processor and peripheral hardware characteristics. Prerequisite(s): CSCI 3100.

4540. Introduction to Operating Systems. 3 hours. Concepts in operating system analysis and design. General topics of process, resource and file management are presented and analyzed in the context of different system architectures and performance constraints. Prerequisite(s): CSCI 3600.

4600. Social Implications of Computer Science. 1 hour. The effect of computer science on the home and the workplace, with emphasis on the role of computer professional in modern society. Prerequisite(s) junior standing.

4880. Special Computer Application Problem. 1-4 hours. Study defined by the student in applying computer science to another field. Work supervised and work plan approved by one faculty member from computer science and one from relevant application area; one to three students may work together if all faculty advisers concerned agree. Prerequisite(s): prior approval of plan by faculty supervisor. Open to advanced undergraduate students capable of developing problems independently. May be repeated for credit.

4890. Directed Study. 1-4 hours. Study by individuals, or small groups if faculty supervisor agrees. Prerequisite(s): 6 semester hours of computer science with a grade of A or B; plan for study and achievements; prior consent of department chair and supervision adviser. Open to advanced undergraduate students capable of developing problems independently. May be repeated for credit.

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.

5120. The Design of Computer-Assisted Instruction Systems. 3 hours. Design and development of computer-assisted instruction systems and languages. Topics include design and implementation of test generation systems, authoring tools and intelligent tutoring systems. Prerequisite(s): 3 hours of programming and consent of department.

5170. Teaching and Research in Computer Science. 1 hour. An examination of the philosophies and techniques of teaching and research in computer sciences. Required each semester of all computer science teaching and research assistants. Pass/no pass only. May be repeated for credit.

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.

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

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. Human Factors in Computer Science. 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 Structures. 3 hours. Advanced topics in data structures, including development and analysis of algorithms for internal sorting, external sorting and searching. Introduction to file structures for single- and multi-key retrieval and range searching. 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.

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

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.

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 sciences 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 Sciences, 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.

6410. 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): CSCI 5410.

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.

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

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

6470. Advanced Modeling and Simulation. 3 hours. Current research issues in both simulation methodology and applications will be discussed. Distributed simulation, simulation support tools, object-oriented simulation, and artificial intelligence and simulation. Prerequisite(s): CSCI 5470 or consent of department.

6480. 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): CSCI 5410.

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.

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

6650. 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): CSCI 5700 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.

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.

Undergraduate Catalog Computer Sciences Courses

UNT Undergraduate Catalog College of Arts and Sciences Table of Contents

UNT Graduate Catalog College of Arts and Sciences Table of Contents

UNT Undergraduate Catalog Table of Contents

UNT Graduate Catalog Table of Contents

UNT Undergraduate Catalog Course and Subject Guide

UNT Graduate Catalog Course and Subject Guide

UNT Program Options

UNT College of Arts and Sciences Home Page

UNT Prospective Students

UNT Home Page