Computer Science and Information Systems Course Descriptions

CIS 515 - Applied Cryptography (3 hours)

CIS 530 - Information Technology Infrastructure (3 hours)

CIS 545 - Integrative Programming and Technology (3 hours)

CIS 551 - Computer Game Design (3 hours)

CIS 552 - Computer Game Modification (3 hours)

CIS 553 - Concepting and Storytelling (3 hours)

CIS 555 - Computer Graphics (3 hours)

CIS 556 - Game Engine Program (3 hours)

CIS 557 - Digital Animation (3 hours)

CIS 558 - Sounds Design (3 hours)

CIS 559 - Computer Game Capstone Project (3 hours)

CIS 572 - Computing Services Management (3 hours)
Management of computer resources; planning for computing services; operational considerations; evaluation of service. Prerequisite: CS 310 or equivalent.

CIS 580 - Digital Society and Computer Law (3 hours)

CIS 588 - Introduction to Expert Systems (3 hours)
Knowledge-based systems design and implementation; expert systems shells and programming environments; validation and implementation of expert systems; case studies/laboratories. Cross-listed as IE 588. Prerequisites: two semesters of computer programming and one semester of statistics, or consent of instructor.

CIS 595 - Software and Web Applications Security (3 hours)

CIS 606 - Software Systems Design (3 hours)
Planning, writing, debugging, and documenting large software systems. Consult with instructor for details on programming language to be used. Prerequisite: a grade of C or better in CS 121 or equivalent.

CIS 607 - File Organization and Management (3 hours)
File organizations and access methods. Sort/merge operations; hashing schemes for storage and retrieval. Projects involve data validation; creation and updating of files; simulation and/or implementation of direct and indexed files. Prerequisite: CS 102 or equivalent.

CIS 681 - Professional Practicum in Computer Information Systems (0-3 hours)

CIS 697 - Advanced Topics in Computer Information Systems (0-3 hours)

CIS 698 - Directed Individual Studies in Computer Information Systems (1-3 hours)

CIS 699 - Thesis in Computer Information Systems (3 hours)

CS 502 - Advanced Programming (3 hours)
Introduces the fundamental concepts of programming from an object-oriented perspective with emphasis on advanced programming skills and good software development principles in a closed laboratory setting. Covers topics including object-oriented paradigm, design and programming, fundamental data structures and computing algorithms, and software development principles Prerequisites: consent of graduate program coordinator; at least two semesters of programming experience.

CS 503 - Programming Methodology (3 hours)
Predicate calculus, Dijkstra's methodology of algorithm development. Algorithm development. Algorithmic language characteristics; syntax, semantics. Postconditions and preconditions. Verification of postcondition states satisfied by algorithmic programs executed from preconditions. Problems. Prerequisites: a grade of C or better in both MTH 120 and CS 121 102.

CS 510 - Numerical Methods (3 hours)
Introduction to numerical and computational aspects of various mathematical topics: finite precision, solutions to nonlinear equations, and interpolation, approximation, linear systems of equations, and integration. Cross listed as MTH 510. Prerequisites: CS 106 101; MTH 207 and 223.

CS 511 - Numerical Methods II (3 hours)
Continuation of CS/MTH 510: further techniques of integration, ordinary differential equations, numerical linear algebra, nonlinear systems of equations, boundary value problems, and optimization. Cross listed as MTH 511. Prerequisites: MTH 224 or 345; CS/MTH 510.

CS 514 - Algorithms (3 hours)
Design and analysis of algorithms. Dynamic structures maintenance and hashing. Searching, sorting, and traversal. Time and space requirements; simplification; computational complexity; proof theory and testing; NP-hard and NP-complete problems. Prerequisites: 210 or equivalent; one semester of statistics.

CS 516 - Programming Languages (3 hours)
Design concepts of high-level languages. Description languages; grammars and syntax; expressions and data structures; selection and control structures; constructs for input and output; subprograms and parameter communications. Prerequisite: CS 210 or 310.

CS 518 - Programming Language Translation (3 hours)
Overview of programming language translation with emphasis on modern compiler construction. Lexical analysis, parsing, syntax and semantic analysis, code generation, garbage collection, and optimization. Prerequisite: grade of C or better in CS 210. Corequisite: CS 516.

CS 520 - Advanced Computer Architecture (3 hours)
Fundamental computer sub-systems: central processing unit; memory systems; control and input/output units. General purpose computing systems design. Examples from existing typical computers. Prerequisite: CS 220 or equivalent.

CS 531 - Web Development Technologies (3 hours)
Introduction to PERL/CGI, XHTML, XML, JavaScript and scripting languages. Web page design and layout. Client and server side development of web applications. Database connectivity, Java Database Connectivity (JDBC). Prerequisites: CS 102 or equivalent.

CS 532 - Advanced Java Computing (3 hours)
Developing Web-based systems using J2EE Java technologies. Topics include Java Security, Java GUI development using IDE, Java Servlets and JavaServer Pages, Java Enterprise JavaBeans, XML and Java Web Services, and Java Transaction Service and Java Message Service. Prerequisite: CS 531 or equivalent.

CS 561 - Artificial Intelligence (3 hours)
Advanced topics in artificial intelligence; pattern recognition, search strategies, game playing, knowledge representation, logic programming, uncertainty, vision, natural language processing, robotics, programming in LISP and PROLOG. Prerequisite: CS 210 or equivalent.

CS 562 - Intelligent Systems and Applications (3 hours)
Gives the necessary background and practice for building intelligent systems using three of the most commercially successful applications of AI: the logical approach (expert systems, fuzzy logic, and fuzzy expert systems), the biological approach (neural networks, evolutionary programming, and genetic algorithms), and the statistical approach (Bayesian networks, belief networks, Markov chain, Hidden Markov models, and statistical and neural-based clustering). Students will have the opportunity to build integrated, hybrid intelligent systems to solve problems in a variety of applications including in the medical domain, financial domain and stock market, and autonomous robotics systems. Prerequisites: CS 210 or equivalent; one course in statistics.

CS 563 - Knowledge Discovery and Data Mining (3 hours)
Brings together the latest research in statistics, databases, machine learning, and artificial intelligence that are part of the rapidly growing field of knowledge discovery and data mining. Topics covered include fundamental issues, classification and clustering, machine learning algorithms, trend and deviation analysis, dependency modeling, integrated discovery systems, next generation database systems, data warehousing, and OLAP and application case studies. Prerequisites: CS 210 or equivalent; one course in statistics.

CS 571 - Database Management Systems (3 hours)

CS 572 - Advanced Topics in Databases (3 hours)

CS 590 - Fundamentals of Software Engineering (3 hours)
Software engineering: software product; prescriptive process models; system engineering; analysis modeling; design engineering; architectural design; user interface design; testing strategies and techniques; software systems' implementation; software systems' maintenance. Prerequisite: CS 390 or equivalent.

CS 591 - Software Project Management (3 hours)
Software project management: large software systems' projects; project planning; project management concepts; managerial skills; software project metrics and estimates; software process metrics; software product metrics; project scheduling; CASE tools for software project management; software documentation. Prerequisite: CS 390 or equivalent.

CS 592 - Requirements Engineering (3 hours)
Covers topics including basic concepts and principles of software requirements engineering, the requirements engineering process - requirements elicitation, requirements analysis, requirements specification, system modeling, requirements validation and requirements management, and techniques, methods and tools for requirements engineering and software systems requirements modeling (including structured, object-oriented, and formal approaches to requirements modeling and analysis). Prerequisite: CS 102 or equivalent.

CS 593 - Software Engineering of Web-Based Applications (3 hours)
Software engineering of Web-based applications: Web engineering; formulation and planning of Web-based applications; analysis modeling; design modeling for Web-based applications; testing Web-based applications; security of Web-based applications; implementation and maintenance of Web-based applications. Prerequisite: CS 390 or equivalent.

CS 610 - Advanced Topics in Computer Science (0-3 hours)
Special projects under staff supervision on advanced problems in numerical or non-numerical branches of computer science. May be taken more than once under different topics. Prerequisite: consent of instructor.

CS 611 - Directed Individual Studies (0-6 hours)
Individual study in an area of computer science relevant to the student's professional goals and not covered in a formal course offered by the department. May be repeated twice for a maximum of 6 hours credit. Prerequisites: consent of the department.

CS 611 - Directed Individual Studies (0-6 hours)
Individual study in an area of computer science relevant to the student's professional goals and not covered in a formal course offered by the department. May be repeated twice for a maximum of 6 hours credit. Prerequisites: consent of the department.

CS 612 - Automata, Computation and Complexity (3 hours)
Theory of formal languages and computability, Automata, Turing machines, grammars. Context free and context sensitive languages; parsing. Recursion theory; limits of effective computability, P and NP class of problems, NP-complete problems. Non Turing computable problems, reducibility, complexity. Prerequisites: CS 502 or equivalent.

CS 614 - Parallel Algorithms (3 hours)
Parallel algorithms for multi-processor computer architectures: concurrent programming, SIMD and MIMD systems, and time complexity. Prerequisite: CS 514.

CS 625 - Operating Systems Design (3 hours)
Advanced concepts in operating system design. Topics include process and thread management, virtual memory, interprocess communication, distributed systems, parallel and distributed file system designs, resource management, and security and protection. Prerequisites: CS 321 or equivalent.

CS 635 - Data Communications and Networks (3 hours)
Fundamentals of data communication, computer network architectures and protocols, wireless networks, network programming, and network security. Emphasis on OSI, TCP/IP, ATM, and IEEE 802 LAN layered architectures, and TCP/IP network programming. Prerequisite: CS 330 or equivalent.

CS 681 - Professional Practicum in Computer Science (0-3 hours)

CS 690 - Advanced Software Engineering (3 hours)
Special software engineering research and development projects under staff supervision. Emphasis on a specific topic and emerging technologies in the software engineering area. Prerequisites: CS 590 or CS 591.

CS 699 - Thesis in Computer Science (0-6 hours)
Computer science research and thesis preparation. Required of candidates choosing the thesis option. Total of 6 semester hrs. to be taken in one or two semesters. Prerequisite: consent of department chair.