COMPUTER SCIENCE (CS)
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. CS 234 and CS 240, both with a minimum grade of C.
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.
501-3 INTENSIVE COMPUTER SCIENCE FUNDAMENTALS. An intensive examination of object oriented design, data structures, algorithm analysis, software engineering, and programming in preparation for graduate study in Computer Science.
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 314.
516-3 COMPUTER ARCHITECTURE. Instruction sets, instruction-level parallelism, memory systems, storage systems, I/O, multiprocessors and multicomputers, trends. Prerequisite: CS 314.
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 240; 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 340 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 340 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 314 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. Prerequisites: CS 314 and CS 447.
560-3 INFORMATION DISCOVERY IN ELECTRONIC HEALTHCARE RECORDS. This course surveys analytical techniques for discovering information in electronic healthcare record systems through data mining, text mining, and visual analytics techniques. Prerequisites: NURS 510, CMIS 564 or CS 434.
582-3 ADVANCED COMPUTER GRAPHICS. Advanced rendering techniques, global illumination and radiosity, volume rendering, shadows, reflection models, dynamics and inverse kinematics, collision detection, fractals and particle systems. Prerequisite: 482 with minimum grade of C 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; 314, 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 9 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.
596-3 MASTER'S PROJECT. Special software project, under supervision of the student's project committee. Written and oral project reports are required. Satisfy program exit requirement. Prerequisite: consent of student's project committee.
596a-1 CAPSTONE I. The student will initiate the information systems design project which includes a feasibility study to determine the project scope and objectives, alternative design options, and cost-effectiveness. Prerequisites: NURS 509, CS 434, CMIS 535, and CS 560.
596b-1 CAPSTONE II. The student will develop the requirements for the design project including detailed analysis of the existing system and logical systems design for the proposed system. Prerequisite(s): NURS 596a or CMIS 596a or CS 596a.
596c-1 CAPSTONE III. The student will implement the information systems design project focusing on detailed systems design, including program design, configuration, and test planning, and systems implementation. Prerequisite(s): NURS 596b or CMIS 596b or CS 596b.
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.