CS 513 - INTRO TO COMP ARCHITECT

Semester Hours: 3

Combinational and sequential logic design, register transfer concepts, logic design of memory, arithmetic units, control units, and I/O system of simple computers. Machine and Assembly Language Programming. Architectural Tradeoffs. Same as CS 309 plus CS 413. No credit for CS graduate students. Prerequisites: (CS 221 or CPE 212 or CS 517) and (MA 113 or MA 115).

CS 517 - DATA ORG ANALYSIS OF ALGORIT

Semester Hours: 3

Basic data structures: stacks, queues, lists, etc. Algorithm complexity analysis. Basic algorithm techniques: divide & conquer, dynamic programming, backtracking. Classification of problems: tractable, NP, intractable, unsolvable. Same as CS 221 plus CS 317. No credit for CS graduate students. Prerequisites: (CS 121 or CPE 211) and (MA 113 or MA 115).

CS 524 - PRINCIPLES PROGRAMMING LANG

Semester Hours: 3

Comparison of principles and paradigms of modern programming languages. How different programming languages implement lexical, syntax, and semantic analysis, including the design of compilers. Formal grammars, BNF notation, parse trees, abstract data types. No credit for student who have taken CS 424. Prerequisite: CS 317 or CS 517.

CS 526 - PROG TRANS & COMPILER CONSTR

Semester Hours: 3

Language representation; grammar classification; lexical analysis technique and tools; parsing technique and tools; compile-time and run-time symbol table design; code generation and optimization; error diagnostics. Compiler writing tools. Prerequisite: CS 317 or CS 517; (CS 424 or CS 524 and CS 403 recommended).

CS 530 - SURVEY ARTIFICIAL INTELLIGENCE

Semester Hours: 3

Survey of Artificial Intelligence (AI). AI crosses many disciplines, to make computational systems behave intelligently. This course provides a broad intro of AI sub-domains, including search, knowledge representation, reasoning, & machine learning. No credit for students who have taken CS 430. Prerequisite: CS 317 or CS 517; (CS 424 or CS 524 recommended).

CS 543 - INTRO TO MULTIMEDIA SYSTEMS

Semester Hours: 3

Multimedia authoring, color models for image and video, introduction to image and video compression, digital audio, multimedia networks, multimedia synchronization, multimedia retrieval. Students may not receive credit for both CS 443 and CS 543. Prerequisite: CS 317 or CS 517; (CS 490 recommended).

CS 545 - INTRO COMPUTER GRAPHICS

Semester Hours: 3

Introduces underlying theory and mechanics of interactive computer graphics. Basic modeling, rasterization, 2D/3D transformations, and viewing. 3D graphics rudiments. Some hardware and historical perspectives. Many programs. No credit for students who have taken CS 445 Prerequisites: (CS 221 or CS 517) and MA 244.

CS 546 - ADVANCED COMPUTER GRAPHICS

Semester Hours: 3

High resolution 3D graphics, including advanced topics in viewing, vertex processing, fragment processing, local and global illumination and shading, 3D modeling (including curve and surface representation), texture mapping, and some coverage of solid modeling and color theory. Game production pipeline. Hierarchical issues, visibility, and 3D processing algorithms may also be covered. A significant number of programming projects are involved, with some different program requirements and additional theoretical expectations for CS 546 students. (Same as CS 456; no credit for both). Prerequisite: CS 445 or CS 545.

CS 547 - GAME ENGINES & LEVEL DEV

Semester Hours: 3

(Same as CS 447) This course provides the opportunity for students to produce fully functional games from beginning to end with team members. Along the way, students work on homework/projects involving design document creation, prototyping and gameplay/implementation. Also, game software as artistic content has led to collaborations between engineers and artists. In this course, students focus on not only game engineering development but also art asset generation and management. Considers a 3D game design and development using game engines focusing on the fundamental components for developing cross-platform games. The course focus includes design, development, and distribution of computer games. Emphasis also is on user interface and menus, scripting for game programming, game physics, terrain generation, asset management, animation management, special effects, and cross platform game development. Students may not receive credit for both CS 447 and CS 547. Prerequisites: CS 330 and (CS 445 or CS 545).

CS 548 - HUMAN-COMPUTER INTERACTION

Semester Hours: 3

Introduces underlying theory and mechanics of interactive computer graphics. Basic modeling, rasterization, 2D/3D transformations, and viewing. 3D graphics rudiments. Some hardware and historical perspectives. Many programs. Introduction to human-computer interaction and principles of graphical user interface design. Includes examination of interactive environments including windowing systems development tools, multimedia, and visual programming interfaces. Prerequisite: CS 445 or CS 545.

CS 553 - CLIENT/SERVER ARCHITECTURES

Semester Hours: 3

Client/server distributed computing. Web based applications. Students will practice concepts in programs involving leading edge technologies such as AJAX, RESTful and WS-* web services, Enterprise Java Beans, .NET. No credit for students who have taken CS 453 Prerequisite: (CS 307 or CS 321) (CS 370 recommended).

CS 554 - INTRO TO CLOUD COMPUTING

Semester Hours: 3

Different cloud computing paradigms: IaaS, SaaS, PaaS. Open Source cloud software (for ex., OpenStack, CloudStack). RESTful interfaces, AWS interface. Cloud security. Students may not receive credit for both CS 454 and CS 554. Prerequisites: (CS 307 or CS 321) (CS 370 recommended) (CS 390 or CS 590 recommended).

CS 565 - NETWORK SECURITY

Semester Hours: 3

Fundamentals of network security and cryptography. Examines security at different network layers. Wireless security. Firewalls. Intrusion detection and penetration analysis. Students may not receive credit for both CS 465 and CS 565. Prerequisites: CS 221 or CPE 212.

CS 571 - MOBILE COMPUTING SFTWR ARC&DEV

Semester Hours: 3

Considers application design for the mobile space, focusing on the fundamental requirements for mobile applications that target mobile devices. The course focus includes development, testing, distribution of mobile applications in a cross-platform environment. Emphasis also is on multimedia and entertainment computing and games. This course will also cover various issues in mobile computing from the readings from research literature such as software engineering practices, analysis of social media and general mobile analytics. Prerequisites: CS 221 or CPE 212.

CS 580 - MOBILE DIGITAL FORENSICS

Semester Hours: 3

This course examines digital forensics of mobile devices such as smart phones and tablets in a law enforcement context. Mobile device characteristics that make forensics examinations difficult are discussed. Various forensics tools are critically examined with an eye toward improved tool development. Prerequisites: CS 413 or CS 513 or CPE 323.

CS 581 - MODELING & SIMULATION I

Semester Hours: 3

Discrete event simulation from a computer science perspective. Mathematics of probability distributions applied to simulation. Design, implementation, and application of discrete event simulation software. Application to computer and network system design. Prerequisites: CS 221 and either MA 385 or MA 585 OR ISE 390 or ISE 690.

CS 582 - MODELING & SIMULATION II

Semester Hours: 3

Advanced modeling methods, including Monte Carlo simulation, agent-based modeling, and mathematical modeling, from a Computer Science perspective. Emphasis on implementation, execution, and validation of working computer models using different modeling methods. Prerequisites: CS 481 or CS 581.

CS 585 - INTRO TO COMPUTER SECURITY

Semester Hours: 3

This course examines the issues related to security policies, models and mechanisms applicable to providing security for computer-based systems including operating systems, database management systems, and networks. No credit for students who have taken CS 485 Prerequisites: (CS 221 or CPE 212) and (CS 370 or CPE 348).

CS 588 - INTRO TO BIG DATA COMPUTING

Semester Hours: 3

Provides big data concepts and characteristics; big data architectural concepts; big data ecosystem. Includes MapReduce framework and programming and coverage of big data applications. No credit for students who have taken CS 488 Prerequisites: CS 317 or CS 517.

CS 590 - PROGRAMMING ENVIRON W/UNIX

Semester Hours: 3

Strategies for design and development of systems and programs in the UNIX environment. Emphasis: automated tool and system development using UNIX tools. Advanced shell concepts including control flow and interrupt handling. Process and inter-process communication. Prerequisites: CS 221; (CS 390 recommended).

CS 595 - INDEPENDENT STUDY

Semester Hours: 3

Individual directed study under the supervision of an instructor. Must have approval of the instructor.

CS 596 - SPECIAL TOPICS

Semester Hours: 3

Individual directed study under the supervision of an instructor. Must have approval of the instructor.

CS 597 - SPECIAL TOPICS

Semester Hours: 3

Course offered by an instructor in a specialized area of computer science. Must have approval of instructor.

CS 598 - SPECIAL TOPICS

Semester Hours: 3

Course offered by an instructor in a specialized area of computer science. Must have approval of instructor.

CS 600 - INTERNSHIP IN COMPUTER SCIENCE

Semester Hour: 1

Work experience in Computer Science or a related field in a business or government agency; conducted under the direction of the agency supervisor and approved by a member of the CS faculty. A substantial report must be produced and approved by the supervisor and the faculty member.

CS 603 - FORMAL LANG/AUTOMAT THRY

Semester Hours: 3

Formal definition of programming languages. Formal grammars: regular, context-free, context sensitive, and phrase-structure. Automata: finite-state, pushdown, linear-bounded automata, Turing Machines. Relationship between formal languages and automata. Prerequisite: CS 617.

CS 613 - COMPUTER ARCHITECTURES

Semester Hours: 3

Organization, operation, and analysis of advanced computer architectures. Topics include advanced pipelining approaches, multi-processor architectures, instruction set architectures, memory hierarchy design, hardware and software-based performance optimization, and system performance measurement. Prerequisite: CS 513.

CS 617 - DES & ANALY OF ALGORITHM

Semester Hours: 3

Strategies of algorithm synthesis and analysis. Classical algorithm categories such as: divide-and-conqurer, greedy method, dynamic programming, search and traversal. Computational complexity; theoretical results from lower- and upper-bound studies, NP-hard, and NP-complete problems. Prerequisite: CS 517.

CS 630 - ARTIFICIAL INTELLIGENCE I

Semester Hours: 3

Comparing and evaluating different approaches to the architecture and development of intelligent systems. Computationally efficient solutions for intelligent systems. Prerequisite: CS 530.

CS 635 - COMPUTAT MODEL COGNITION

Semester Hours: 3

Computational models of human information processing covering topics of current interest to both artificial intelligence and cognitive psychology. Use of computer simulations to test psychological theories. Application of psychological research to building AI systems. Prerequisite: CS 630.

CS 637 - DEEP LEARNING

Semester Hours: 3

Deep learning, a branch of machine learning focuses on modern neural networks. Deep learning extracts layered data representations to maximize task performance. Requires advanced algorithm and programming knowledge and a strong mathematical background in calculus, linear algebra, and probability & statistics. Several programming projects. Prerequisites: CS 617.

CS 640 - MACHINE LEARNING

Semester Hours: 3

Discriminant analysis, maximum likelihood decisions, deterministic and nondeterministic approaches for trainable classifiers, preprocessing and feature extraction, clustering, syntatic pattern recognition. Pattern recognition in image analysis. Prerequisite: CS 617; (MA 544 and MA 585 recommended).

CS 641 - DATA MINING

Semester Hours: 3

Data preprocessing, distance measures, classification with decision trees, Bayesian classifiers, neural networks, support vector machines, frequent item set analysis, association rule generation, clustering methods. Prerequisite: CS 617 (MA 544 and MA 585 recommended).

CS 642 - COMP PROC/DIGITAL IMAGES

Semester Hours: 3

Introduction to image processing systems; sensing, sampling and quantization; image transforms; image enhancement and restoration; image segmentation, and description; image correlation; image sequence analysis; practical applications of image processing. Prerequisites: CS 617 (MA 544 and MA 585 recommended).

CS 643 - DATA COMPRESSION

Semester Hours: 3

Lossless and lossy compression algorithms, Huffman coding, Arithmetic coding, Dictionary-based compression, quantization techniques, differential encoding, transform coding, wavelet-based coding; image compression, video compression, audio compression, applications of compression algorithms to audio, image, and video compression standards. Prerequisite: CS 617.

CS 646 - COMPUTER GEOMETRY MODELING

Semester Hours: 3

Numerical and computer representation of curves and surfaces. Solid geometry modeling. Geometric data management. Curve and surface design, including cubic-B-splines, especially Bezier curves/surfaces. Interpolation methods. Graph-based and Boolean models. Applications to robotics, graphics, CAD. Prerequisite: CS 545.

CS 650 - SOFT'W ENGINEERING PROC

Semester Hours: 3

The process of developing complex software products. Includes software life cycles, phases of development and disciplines such as CM, QA, V&V, and T&E. Issues of professionalism and the ethical use of computers. Background in algorithms and programming languages assumed. Prerequisite: CS 517.

CS 652 - OBJECT-ORIENTED DESIGN

Semester Hours: 3

A survey of formal and informal techniques and methodologies for software analysis, requirements, architecture and design. Emphasis is on effective development processes. Comparison of different approaches, considering their advantages and disadvantages. Prerequisite: CS 650.

CS 655 - FORMAL METHODS IN SOFTWARE ENG

Semester Hours: 3

Formal mechanisms to specify, validate, and verify software systems. Propositional and predicate calculi. Program verification through Djikstra's weakest preconditions and Hoare's method. Formal specification via algebraic specifications and abstract model specifications. Prerequisites: CS 617 and CS 650.

CS 656 - SOFTWARE TESTING

Semester Hours: 3

Advanced software testing techniques, including white box, black box, integration testing, and system testing. Other topics may include test data adequacy, test data selection, and output oracle, including functional, structural, and fault-based testing methods. Prerequisite: CS 650.

CS 658 - SOFTWARE PROC & PROD IMPROVEMT

Semester Hours: 3

Software quality assurance as an umbrella activity. Use of process, project, quality and product metrics to gain insight into the software development activity. Use of metrics to drive incremental process improvement techniques. Examination of CASE tools and how they affect the software process. Prerequisite: CS 650.

CS 670 - COMPUTER NETWORKS

Semester Hours: 3

Detailed analysis of the organization and operation of computer networks, focusing on algorithms and organizations for the Transport Layer, Network Layer and Data Link Layer protocols of wired and wireless systems. Prerequisite: CS 513.

CS 685 - COMPUTER SECURITY

Semester Hours: 3

Advanced topics in security policies, models and mechanisms applicable to providing security for computer based systems, including operating systems, database management systems, and networks. Prerequisite: CS 617.

CS 686 - INFORMATION ASSURANCE

Semester Hours: 3

CS 687 - DATA BASE SYSTEMS

Semester Hours: 3

Basic concepts of database systems. Use of semantic models in database design. Data models with an major focus on the relational and object-oriented models. Relational query languages and normal forms. Database management system design issues. Security and integrity issues. Prerequisite: CS 617.

CS 690 - ADVANCED OPERATING SYSTEMS

Semester Hours: 3

Issues related to shared memory multiprocessors, multicore computers, clusters, grids and clouds. Concurrency and distributed process coordination. Introduction to network communication issues and systems such as client-server, peer-to-peer, and transaction based. Prerequisite: CS 513.

CS 692 - CYBERSECURITY CAPSTONE

Semester Hours: 3

CS 695 - INDEPENDENT STUDY

Semester Hours: 3

Individual directed study under the supervision of an instructor. Must have instructor approval.

CS 696 - SELECTED TOPICS IN CS

Semester Hours: 3

Course offered by an instructor in a specialized area of computer science. Must have instructor approval.

CS 699 - MASTER'S THESIS

Semester Hours: 3-6

Course offered by an instructor in a specialized area of computer science. Must have instructor approval. Required each semester a student is working and receiving direction on master's thesis. Prerequisite: instructor approval.

CS 703 - THEORY OF PROG LANGUAGES

Semester Hours: 3

Syntactic analysis and semantic interpretation of programming languages based on research and results in formal languages and associated complier techniques. Identification of research directions and potential research projects in programming languages. Prerequisite: CS 603.

CS 717 - ADV ALGORITHM DES/ANALYSIS

Semester Hours: 3

Parallel algorithms, combinatorial algorithms, approximation algorithms for NP-complete problems, computational complexity. Distribution of algorithms across complex architectures. Prerequisite: CS 617.

CS 742 - IMAGE PROC ALGO/ARCHITEC

Semester Hours: 3

Algorithms and data structures for image enhancement, segmentation, object recognition and image sequence analysis; real-time versus non real-time image processing; computer architectures for fast image processing; cellular logic array processors, distributed, systolic and binary array processors. Prerequisite: CS 613 and CS 642.

CS 790 - OPERATING SYSTEMS SEMINAR

Semester Hours: 3

Advanced research topics in operating system theory and practice. Students will read and discuss classic and current papers in the literature. Each student will present reports in class and prepare a substantial research paper. Prerequisite: CS 690.

CS 795 - INDEPENDENT STUDY

Semester Hours: 3

Individual directed study under the supervision of an instructor. Must have instructor approval.

CS 796 - ADVANCED SELECTED TOPICS

Semester Hours: 3

Course offered by an instructor in a specialized area of computer science. Must have instructor approval.

CS 799 - DOCTORAL DISSERTATION

Semester Hours: 3-9

Required each semester student is enrolled and receiving direction on doctoral dissertation. Maximum of 18 hours credit toward degree.