COMPUTER SCIENCE (CS)
407-3 ADA PROGRAMMING. Emphasis on features which make language unique, e.g. packages, exception handling, generics, tasking. Previous knowledge of ADA not required. Prerequisite: CS 340 or consent of instructor.
423-3 COMPILER CONSTRUCTION. Translation of programming languages. Emphasis on techniques used in construction of compilers including lexical analysis, syntactical analysis, type checking, code generation. Prerequisite: CS 330.
434-3 DATABASE MANAGEMENT SYSTEMS. Database management system concepts, models, and languages. Entity/relationship, relational, and object oriented data models; relational database design and implementation including SQL; object databases. Prerequisites: CS 240; 275.
438-3 ARTIFICIAL INTELLIGENCE. Principles and programming techniques of artificial intelligence. Intelligent agents, heuristic programming, knowledge representation, expert systems, machine learning. Prerequisite: CS 340.
447-3 NETWORKS AND DATA COMMUNICATIONS. Concepts of networks and data communications. Networking protocols and architecture, data encoding and transmission, network management, and distributed applications. Prerequisites: CS 314 and CS 340.
454-3 THEORY OF COMPUTATION. Theoretical foundations of computer science, including theory of automata, pushdown automata, Turing machines, formal languages. Prerequisite: CS 340.
456-3 ADVANCED ALGORITHMS. Complex algorithms and data structures; basic complexity theory and approximation algorithms for NP- hard problems. Prerequisite: CS 340.
482-3 COMPUTER GRAPHICS. Study of 2D and 3D graphics, graphics hardware, scan conversion, antialiasing, hidden components, transformations, projections, ray tracing, curve and surface modeling, animation. Prerequisites: CS 240, CS 312, and Math 152, all with a minimum grade of C.
490-3 TOPICS IN COMPUTER SCIENCE. Selected topics in computer science. May be repeated once to a maximum of 6 hours provided no topic is repeated. Prerequisite: consent of instructor.
495-3 INDEPENDENT STUDY. Reading and research in specific areas of computer science. May be repeated once to a maximum of 6 hours. Prerequisites: consent of instructor and department chairperson.
500-1 GRADUATE SEMINAR IN COMPUTER SCIENCE. Research topics of faculty; exploration of research facilities and resources; examination of plagiarism and academic integrity. Prerequisite: graduate standing.
514-3 OPERATING SYSTEMS. Concurrent programming; support for distributed systems including transaction processing systems; support for high-volume, high-availability applications; scalable programming; trends. Prerequisite: CS 414.
516-3 COMPUTER ARCHITECTURE. Instruction sets, instruction-level parallelism, memory systems, storage systems, I/O, multiprocessors and multicomputers, trends. Prerequisite: CS 414.
525-3 PRINCIPLES OF SIMULATION. Survey of systems modeling and simulation techniques, data generation and testing, construction of simulation models, Petri nets and applications, model experimentation, and optimization. Prerequisites: CS 151; STAT 380, or consent of instructor.
530-3 SOFTWARE AND SYSTEMS MANAGEMENT. Management principles for software engineering and for project and systems development. Includes management of resources and understanding the needs of customers and management. Prerequisite: CS 250 or consent of instructor.
534-3 ADVANCED DATABASE MANAGEMENT SYSTEMS. Study of advanced database management system topics such as programmatic SQL, database administration issues, object databases, distributive databases, semi-structured data and XML, and data warehousing. Prerequisite: CS 434 or consent of instructor.
535-3 SOFTWARE ENGINEERING. Principles for software development: object-oriented methodologies; advanced topics such as formal methods; component-based, client-server, and computer-aided software engineering; web engineering. Prerequisite: CS 325 or consent of instructor.
537-3 INTRODUCTION TO EXPERT SYSTEMS. Design and implementation of expert systems: architecture, knowledge representation, inference methods, uncertainty handling, knowledge acquisition. Introduction to logic programming and Prolog. Prerequisite: CS 340 or consent of instructor.
547-3 NETWORK PROGRAMMING. Design and implementation of application software for computer networks; includes case studies of existing network applications with emphasis on TCP/IP. Prerequisite: CS 447.
548-3 NETWORK SECURITY. Fundamentals in network security to develop skills for preventing security hazards with focus on practical aspects in network security as well as concepts and theories. Prerequisites: CS 414 and CS 447.
550-3 OBJECT-ORIENTED DESIGN AND PROGRAMMING. Object-oriented programming and design with emphasis on distributed objects. Uses C++ and JAVA, covers middleware platforms such as CORBA. Prerequisite: consent of instructor.
565-3 NUMERICAL COMPUTATION. Emphasis on implementation of algorithms, study of interval arithmetic, accuracy, and speed in numerical computation, Prerequisites: CS 250; 312.
582-3 TOPICS IN COMPUTER GRAPHICS. Selected topics in areas such as human-computer interfaces, advanced image generation techniques, modeling methods, visualization techniques. May be repeated for a maximum of 6 hours for different topics. Prerequisite: 482 or consent of the instructor.
583-3 TOPICS IN PROGRAMMING LANGUAGES. Topics including functional programming, semantic theory of programming language, formal language theory, and functional language ML. May be repeated to 6 hours if topics differ. Prerequisite(s): CS 330; 414, or consent of instructor.
584-3 TOPICS IN ARTIFICIAL INTELLIGENCE. Selected topics in AI, such as machine learning, model-based reasoning, and intelligent agents. May be repeated up to 6 hours provided no topic is repeated. Prerequisite: CS 438 or consent of the instructor.
587-3 TOPICS IN COMPUTER NETWORKING. Selected topics in computer networking such as high performance and optical computer networks. May be repeated to a maximum of 6 hours provided not topic is repeated. Prerequisite(s): CS 447; ECE 477, or consent of the instructor.
590-3 TOPICS IN COMPUTER SCIENCE. Topics dealing with computer science concepts that are not emphasized in current courses. May be repeated to a maximum of 6 hours if topics differ. Prerequisite: consent of instructor.
595-1 to 3 INDEPENDENT STUDY. Students organize a program of study and obtain approval for supervision of the study from a member of the CS faculty. May be taken for a maximum of 3 hours.
598-1 TOPIC PAPER. Paper and presentation on approved topic. For thesis option satisfies requirement for proposal. For non-thesis option, satisfies requirement for topic paper in student’s concentration area. Prerequisite: consent of student’s research committee.
599 1 to 6 THESIS. Directed research to satisfy thesis requirement. May be repeated for a maximum of 6 hours. Prerequisite: consent of student’s research committee.