Graduate Course Descriptions
Course Number | Description | # of Credits | Description |
618 | Simulation Models | 3 | Fundamental techniques involved in using a computer to simulate business, social, and industrial systems. Includes principles of random variate generation, statistical sampling, and design of experiments. Prereq: Stat 367. |
626 | Introduction to Artificial Intelligence | 3 | Introduction to artificial intelligence. Basic AI languages, concepts, and techniques. Prereq: CSci 372. |
653 | Linear Programming and Network Flows | 3 | Linear programming models and applications; primal and dual formulations; computational procedures; introduction to networks, maximum flow, and shortest path problems. Prereq: Math 265. |
654 | Operations Research | 3 | Deterministic and probabilistic models of operations research: networks and project management, dynamic programming, nonlinear programming, inventory, queuing, reliability, stochastic processes, and simulation. Prereq: CSci 453/653, Stat 367. |
658 | Microcomputer Graphics | 3 | Information on the techniques by which computers generate images of 2D and 3D objects. Principles to guide the use of computer graphics to enhance human-computer interaction. Prereq: CSci 372, and Math 146 or 165. |
659 | Foundations of Networks | 3 | LANs interconnect modern computer work groups. LAN architecture, applications, implementations, protocols, management, security, external connections, and future directions are examined. Prereq: CSci 214, 474. |
660 | Dynamic Programming | 3 | Basic principles and algorithms of dynamic programming as applied to sequential decision problems in CS and OR. Prereq: Math 166. |
667 | Algorithm Analysis | 3 | Design, correctness, and analysis of algorithms and data structures. Prereq: Math 166; and CSci 161, 222. |
668 | Database Systems Design | 3 | Overview of the maintenance and manipulation of databases. Includes a large project in C++. Prereq: CSci 366. |
669 | Network Security | 3 | This course introduces cryptography and its application to network and system security. Topics include symmetric encryption, public key cryptography, email security, IP security, web security, network management security, intrusion detection, firewalls, etc. Prereq: CSci 459 or equivalent, programming in C, C++, or Java. |
676 | Computer Forensics | 3 | This course is intended to acquaint the students with principles, tools, and practical skills necessary to perform investigations of incidents in which computers play a significant or interesting role. Prereq: CSci 474 or consent of the instructor. |
677 | Object-Oriented Systems | 3 | Introduction to the concepts and advantages of object-oriented computer systems. Introduces exercises with at least one such language. Prereq: CSci 372. |
679 | Introduction to Data Mining | 3 | Data mining versus query processing, data mining examples, introduction to the basic techniques in association rule mining, classification, clustering, data warehousing and online analytic processing. Application areas may include bioinformatics, homeland and network security, web searching, market basket research, and image and video analysis. Prereq: CSci 366. |
688 | Human-Computer Interaction | 3 | Survey of the methodologies and alternatives used in developing and evaluating human-computer interfaces. Prereq: CSci 372. Cross-listed with Psyc. |
689 | Social Implications of Computers | 3 | Presentation and discussion of several ethical and social issues that have arisen from the introduction of the computer, including copy-protected software and liability for computer software errors. Prereq: CSci 372. |
702 | Performance Evaluation | 3 | Examination of basic techniques used to evaluate multi-programming systems. Both queuing models and other analytical approaches are constructed with simulation and direct measurements of actual systems. Prereq: CSci 475. |
708 | Foundations of Programming | 3 | Introduction to formalisms, in which computer programs are considered as mathematical objects, including weakest precondition and predicate calculus. Prereq: CSci 236. |
713 | Software Development Processes | 3 | This course is designed as a breadth course on the software engineering process. Basic concepts are reviewed and reassured to create a basis for higher concepts and techniques. Prereq: graduate standing. |
714 | Software Project Planning and Estimation | 3 | This course is designed to introduce the student to the concepts and techniques of how to plan for a software project. This includes time and effort estimation, planning and teaming the project, and managing the development activities. Prereq: CSci 713. |
715 | Software Requirements Definition and Analysis | 3 | This course is designed to make the student able to identify and capture requirements for a software system and be able to document and assess the requirements. Prereq: CSci 713. |
716 | Software Design | 3 | This course covers both architectural design and module design. Students receive practice using a set of design patterns to produce software designs with several different types of architecture. Substantial presentation and practice with the UML modeling language is provided. Prereq: CSci 713. |
717 | Software Construction | 3 | This course covers the fundamentals of software construction including programming and evaluation of the source code. Students receive a good grounding in and extensive practice with the comprehensive libraries associated with a modern programming language. Prereq: CSci 713. |
718 | Software Testing and Debugging | 3 | This course covers the goals, practices, evaluation and limitations of software testing and software debugging. Students receive practice in developing and using test plans and various testing and debugging techniques. Prereq: CSci 713. |
722 | Compiler Construction | 3 | Design and structure of complex grammars, lexical analysis, parsers, semantic data structures, and code generating and optimization. Construction of a simple compiler. Prereq: CSci 372 or graduate standing. |
724 | Survey of Artificial Intelligence | 3 | Survey of major areas of AI, including theorem proving, heuristic search, problem solving, computer analysis of scenes, robotics, natural language understanding, and knowledge-based systems. Prereq: CSci 372 or graduate standing. |
728 | Computer Graphics | 3 | Principles and algorithms used in computer graphics packages. Emphasis on raster graphics, clipping, hidden-surface elimination, ray-tracing, and radiosity. Prereq: Graduate standing. |
730 | Office Information Systems | 3 | Exploration of the evolution of the office since the introduction of the computer. Examination of the introduction of computers, word processors, database management systems, networks, and AI into the office. Prereq: CSci 160 or graduate standing. |
732 | Introduction to Bioinformatics | 3 | An introduction to the principles of bioinformatics, including statistical techniques for the analysis of one or more gene sequences, and computational techniques for knowledge discovery from biological data. Prereq: Graduate standing. |
734 | Expert Systems | 3 | Examination of types of expert systems, their powers and limitations. Students write their own expert system. Prereq: CSci 724. |
735 | Neural Networks | 3 | Introduction to the parallel processing paradigms that have been developed recently, including neuronetworks and genetic algorithms. Students will work on projects using these tools. Prereq: CSci 724. Cross-listed with Psyc. |
737 | System Simulation | 3 | Systems, models, discrete event simulation models, queuing systems, fundamental statistics of simulation. Prereq: CSci 653, Math 166. |
741 | Algorithm Analysis | 3 | Algorithm design and analysis, asymptotic analysis, worst and average case, recurrences, generating functions, divide-and-conquer, the greedy method, search and traversal, backtracking, branch-and-bound. Prereq: CSci 161, Math 166. |
742 | Algorithms and Complexity | 3 | Linear and nonlinear recurrences, algebraic problems, fast Fourier transforms, lower bound theory, computational geometry, the classes P and NP, NP--completeness, Cook's theorem, NP-hard problems. Prereq: CSci 741. |
745 | Formal Methods for Software Development | 3 | This course is a high level course with the aim of formal representation to be able to formally assess characteristics of software. The formal representations are based on the theoretical foundations of computer sciences such as set theory, logic, and graph theory. Prereq: CSci 713. |
746 | Development of Distributed Systems | 3 | This course is an advanced course in software engineering aiming at strategies and solutions of distributed systems. It assumes the knowledge of software engineering and particularly the design and implementation of software systems, then builds on these concepts to discuss how distributed systems designed and implemented. Prereq: CSci 713. |
747 | Software Complexity Metrics | 3 | This course covers complexity metrics for the entire software lifecycle. Students gain experience in using requirements metrics, design metrics, program metrics, test metrics, and planning metrics. The effectiveness and limitations of metrics in all these areas is emphasized. Prereq: CSci 713 and CSci 718. |
751 | Nonlinear Optimization I | 3 | Convex sets, convex functions and extensions, one-dimensional optimization, theory and algorithms for constrained and unconstrained nonlinear programs, optimization without derivatives. Prereq: CSci 653. |
752 | Nonlinear Optimization II | 3 | Convergence, rates, primal and dual methods of constraining optimizations of large-scale programs, linear complementarity, quadratic programs, computational complexity, minimax problems. Prereq: CSci 751. |
760 | Dynamic Programming | 3 | Dynamic programming as an algorithm design method, formulating and solving problems using dynamic programming, deterministic and stochastic problems in OR and CS. Prereq: Math 166. |
761 | Integer Programming | 3 | Integer linear programs and modeling, theory and algorithms, duality and relaxation, cutting plane and branch-and-bound methods, combinational problems, total unimodularity, matching and matroids. Prereq: CSci 653. |
762 | Network Flows | 3 | Theory and algorithms for network flow optimization including network representation data structures, basic change methods, maximum flow, shortest path, minimum cost problems, and generalized networks. Prereq: CSci 653. |
765 | Introduction to Database Systems | 3 | Basic database concepts, models, management facilities, data structures, storage structures, data definition languages, data manipulation languages, normalization, operator implementation algorithms, transactions, correctness, reliability, distribution, performance analysis. Prereq: CSci 366 or graduate standing. |
766 | Database System Internals | 3 | Transaction management, processing, correctness, recoverability, serializability (conflict and view), concurrency control(2PL, BTO, SGT, multiversion), recovery, distributed systems (correctness, recovery, replication), query processing and optimization. Prereq: CSci 765. |
773 | Foundations of the Digital Enterprise | 3 | The course covers current and emerging electronic digital technologies, including web development, security, server management, and privacy. Prereq. CSci 372 or consent of instructor. |
773 | Topics of the Digital Enterprise | 3 | Topics in database, networks, cryptology, security, and software engineering as they apply to the digital enterprise. Prereq. CSci 315 and CSci 773. |
778 | Computer Networks | 3 | Examination of computer networks using the ISO-OSI model as a framework. Practical and theoretical issues are explored in modems, codes, error, impairments, modulation, protocols, and interfaces. Prereq: CSci 474 or graduate standing. |
779 | Advanced Data Mining | 3 | Topics include association rule mining, classification and clustering. Applications to such areas as bioinformatics, homeland and network security, web searching, market basket research, and image and video analysis will be included. Prereq: CSci 765 or departmental approval. |
783 | Topics in Software Systems | 3 | Includes an area of computer science not otherwise treated in computer science courses. Varies each time offered. May be repeated. Prereq: Graduate standing or departmental approval. |
785 | Topics in Computer Architecture | 3 | Includes an area of computer architecture not considered in other courses. Varies each time offered. May be repeated. Prereq: Graduate standing or departmental approval. |
787 | Topics in Operations Research | 3 | Includes an area of operational research not considered in other courses. Varies each time offered. May be repeated. Prereq: Graduate standing or departmental approval. |
789 | Topics in Theoretical Computer Science | 3 | Includes an area of theoretical computer science not considered in other courses. Varies each time offered. May be repeated. Prereq: Graduate standing or departmental approval. |
The following variable credit courses also are offered:
Course Number | Description | # of Credits |
790 | Graduate Seminar | 1-3 |
793 | Individual Study/Tutorial | 1-5 |
696/796 | Special Topics | 1-5 |
797 | Master's Paper | 1-3 |
798 | Master's Thesis | 1-10 |
799 | Doctoral Dissertation | 1-15 |