CS 503 - UNIX & C PROGRAMMING/A&M

Semester Hours: 3

CS 513 - INTRO TO COMP ARCHITECT

Semester Hours: 3

Review of combinational and sequential logic design, register transfer concept, logic design of memory, arithmetic unit, control unit, and I/O system of simple computer. Review of Machine and Assembler language programming. Architectural trade-offs.

CS 517 - DATA ORG ANALYSIS OF ALGORIT

Semester Hours: 3

Review of basic data structures such as stacks, queues, lists, B-Trees, and binary trees. Overview of file structures and access methods. Introduction to complexity analysis of algorithms. Basic algorithm design techniques such as divide & conquer, dynamic programming, and backtracking. Introduction to the classification of problems by class; i.e., tractable, NP, intractable, and unsolvable.

CS 524 - PROGRAMMING LANGUAGES

Semester Hours: 3

Principles of modern programming language features and design. Comparative study of language paradigms. Overview of language implementation, including lexical, syntax, and semantic analysis. Formal grammars, BNF notation. Brief history of programming languages.

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.

CS 530 - EXP SYS/HEURISTIC PROGRAMMING

Semester Hours: 3

Expert systems concepts and architectures. Languages and tools for knowledge engineering. Heuristic versus algorithmic methods, heuristics as used in expert systems, and heuristic programming techniques. Class and individual projects. Background in algorithms and programming languages assumed.

CS 537 - INTRO TO NEURAL NETWORKS

Semester Hours: 3

Introduction to artificial neural networks, covering the most prominent models. Neural networks solutions to classification, clustering, data compression, and constrained optimization applications. Experience with neural networks through projects.

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. Courses numbered at the 500-level may be taken for undergraduate credit with prior approval, except as otherwise noted. Courses at 600-level or above are reserved for graduate students. They may be taken by other students only by approval. Consult Seniors Taking Graduate Courses in the Graduate Admissions section of this catalog for specific policies and approval procedures. Taught as CS 443/543. Course completion and/or grade requirements for graduate credit will differ from those for undergraduate credit. Prerequisite: CS 617.

CS 545 - INTRO COMPUTER GRAPHICS

Semester Hours: 3

Introduces underlying theory and mechanics of interactive computer graphics. Basic modeling, raterization, 2D/3D transformations, and viewing. 3D graphics rudiments. Some hardware and historical perspectives. Many programs.

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. Hiearchical 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 theoreticalexpectations for CS 546 students. (Same as CS 456; no credit for both). Prerequisite: 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 sofware 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. Conisders 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, specil effects, and cross platform game development. Students may not receive credit for both CS 447 and CS 547.

CS 548 - HUMAN-COMPUTER INTERACTION

Semester Hours: 3

Introduces underlying theory and mechanics of interactive computer graphics. Basic modeling, raterization, 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 545.

CS 553 - CLIENT/SERVER ARCHITECTURES

Semester Hours: 3

Aspects of client/server distributed computing, a paradigm that includes technologies addressing web services (such as AJAX using Javascript/PHP, ASP.NET) as well as distributed object (such as .NET remoting, CORBA). Students will apply the concepts in practical distributed programs.

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.

CS 565 - NETWORK SECURITY

Semester Hours: 3

Fundamentals of network security and cryptography. Examines security at different network layers. Wireless security. Firewalls. Instrusion detection and penetration analysis. Students may no receive credit for both 465 and 565.

CS 570 - INTRO TO COMPUTER NETWORKS

Semester Hours: 3

Organization and operation of computer networks. Physical, Data Link, Network, Transport, and Application-layer protocols and algorithms; LAN and WAN systems; TCP/IP; Wired and wireless organizations; security approaches. Prerequisite: CS 513.

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.

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.

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.

CS 582 - MODELING & SIMULATION II

Semester Hours: 3

Advanced application of computer science methods to modeling and simulation software development. Design, development, and integration of software for real-time distributed simulations using standard network interoperability protocols. Team development of modeling and simulation software. Prerequisites: CS 581 or MOD 501.

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.

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.

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 senstive, and phrase-structure. Automata: finite-state, pushdown, linear-bounded automata, Turing Machines. Relationship between formal languages and automata.

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

AlI concepts and methods for problem solving, heuristic search, planning, hypothesis formation, modeling and knowledge representation, knowledge acquisition and learning. Applications of AI in various areas. Background inalgorithms and programming languages assumed. CS 530 recommended.

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 640 - AUTOMATIC PATTERN RECOGN

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.

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, clutering methods.

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.

CS 643 - MULTIMEDIA SYSTEMS

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 rep. of curves and surfaces. Solid geometry modeling. Geometric data management. Curve and surface design, incl. cubic-B-splines, esp. Bezier curves/surfaces. Interpolation methods. Graph-based and Boolean models. Apps. to robotics, graphics, CAD.

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.

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 666 - SOFTWARE STUDIO I

Semester Hours: 3

Students work in teams on medium-sized software projects to analyze and document software requirements, produce a project plan, design and build a prototype, and present the project for evaluation. The design-evaluation phases are repeated twice to generate a more mature design. Prerequisites: CS 650 and either CS 652, 656, or 658.

CS 668 - SOFTWARE STUDIO II

Semester Hours: 3

A continuation of CS 666. Students work in teams to continue the software engineering cycle with emphasis on software management, evolution, maintence, quality analysis, testing, integration, validation, and security autiting. Prerequisite: CS 666.

CS 670 - COMPUTER NETWORKS

Semester Hours: 3

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

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.

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.

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, transaction based. Prerequisite: CS 513.

CS 692 - COMPUTER SECURITY

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.

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 730 - ARTIFICIAL INTELLIGENCE II

Semester Hours: 3

Rigorous treatment of special topics in artificial intelligence. Topics may include knowledge representation, automated dedcution, search control, machine learning, or meta-level architectures. Prerequisite: CS 630.

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 - ADVANCED SELECTED TOPICS

Semester Hours: 3

Individual directed study under the supervision of aninstructor. 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.

CS ADD - COMPUTER ORG & ARCHITEC/ATHENS

Semester Hours: 3