Computer Science (CS)

CS 10001     COMPUTER LITERACY      3 Credit Hours

Introduction to history, language, procedures, applications, abuses and impact of computers. Hands-on experience with microcomputers. Not open to students with previous experience.

Prerequisite: None.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 other

Grade Mode: Standard Letter

CS 10051     INTRODUCTION TO COMPUTER SCIENCE (KMCR)      4 Credit Hours

An introductory, broad and hands-on coverage of aspects of computer science, including algorithms, problem solving, operating systems concepts, computer architecture, programming languages and modern applications. Three-credit lecture with one-credit lab.

Prerequisite: none.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 1 lab

Grade Mode: Standard Letter

Attributes: Kent Core Mathematics and Critical Reasoning

CS 10061     INTRODUCTION TO COMPUTER PROGRAMMING      3 Credit Hours

Emphasizes programming in a high-level language, includes structured programming, program design, expressions, data control, arrays, records, strings and functions.

Prerequisite: MATH 11009 or 11010; or minimum SAT 480/ACT 20 and Compass Algebra score of 55; or minimum SAT 620/ACT 26 and Compass Algebra score of 36.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 13001     COMPUTER SCIENCE I: PROGRAMMING AND PROBLEM SOLVING      4 Credit Hours

Computer science concepts, including algorithm development and problem-solving strategies focused on procedural abstraction. High-level programming concepts, including data types, expressions, program structures, functions, parameter passing, scope, extent, arrays, introduction to recursion and an introduction to object oriented-concepts.

Prerequisite: mInimum C grade in MATH 11010 or MATH 12001.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 3 lab

Grade Mode: Standard Letter

CS 13011     COMPUTER SCIENCE IA: PROCEDURAL PROGRAMMING      2 Credit Hours

Computer science concepts, including algorithm development and problem-solving strategies focused on programming abstractions. High-level programming concepts, including variables, branching, iteration and functions.

Prerequisite: minimum C grade in MATH 11010 or MATH 12001.

Schedule Type: Combined Lecture and Lab

Contact Hours: 1.5 lecture, 1.5 lab

Grade Mode: Standard Letter

CS 13012     COMPUTER SCIENCE IB: OBJECT ORIENTED PROGRAMMING      2 Credit Hours

Computer science concepts, including algorithm development and problem-solving strategies focused on programming abstractions. High-level programming concepts, including introduction to recursion and an introduction to object oriented-concepts.

Prerequisite: Minimum C grade in CS 13011.

Schedule Type: Combined Lecture and Lab

Contact Hours: 1.5 lecture, 1.5 lab

Grade Mode: Standard Letter

CS 13401     USER LEVEL COMPUTER SECURITY      3 Credit Hours

Introduction to computer and network safety; detection and removal of viruses, detection and defense against spyware and rootkits, firewall description and use, protection mechanisms against computer system hacking, spam, identity theft and phishing, protecting wireless networks, safe computing. Includes many in-lecture tutorials.

Prerequisite: none.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 19995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit)Special topics from all areas of computer science.

Prerequisite: Permission.

Schedule Type: Lecture

Contact Hours: 1-3 lecture

Grade Mode: Standard Letter

CS 23001     COMPUTER SCIENCE II: DATA STRUCTURES AND ABSTRACTION      4 Credit Hours

Computer science concepts and problem solving focusing on data structure and abstraction. Object-oriented concepts and programming including encapsulation, information hiding, object design, generics, polymorphism and an introduction to inheritance. Dynamic memory structures including dynamic arrays, pointers, linked-lists and the use of recursion for problem solving. Abstract data types including stacks, queues, lists, trees and graphs.

Prerequisite: CS 13001 or CS 13012 with a minimum grade of C (2.000).

Corequisite: CS 23022.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 3 lab

Grade Mode: Standard Letter

CS 23022     DISCRETE STRUCTURES FOR COMPUTER SCIENCE      3 Credit Hours

(Cross-listed with MATH 23022) Discrete structures for computer scientists with a focus on: mathematical reasoning, combinatorial analysis, discrete structures, algorithmic thinking, applications and modeling. Specific topics include logic, sets, functions, relations, algorithms, proof techniques, counting, graphs, trees, Boolean algebra, grammars and languages.

Prerequisite: Minimum C grade in MATH 11009 or MATH 11010.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 27101     INTRODUCTION TO WEB INTERFACE DESIGN      3 Credit Hours

Introduction to principles for the design and implementation of user-centered website interfaces, website interface evaluation, human computer interaction, effective data organization and manipulation and tools for website creation.

Prerequisite: none.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 29995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit)Special topics from all areas of computer science.

Prerequisite: Permission.

Schedule Type: Lecture

Contact Hours: 1-3 lecture

Grade Mode: Standard Letter

CS 33006     SOCIAL AND ETHICAL ISSUES IN COMPUTING (WIC)      3 Credit Hours

Social issues, including historical and social context, professional responsibilities, risks and liabilities and intellectual property.

Prerequisite: C (2.000) or better in CS 13001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

Attributes: Writing Intensive Course

CS 33007     INTRODUCTION TO DATABASE SYSTEM DESIGN      3 Credit Hours

An introduction to the basic theoretical aspects of database systems, file organization, search methodologies, language design and performance evaluation techniques, initial modeling concepts and their use in hierarchical, network, relational and object-oriented database designs.

Prerequisite: minimum grade of C (2.000) in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33011     SPEED PROGRAMMING TECHNIQUES      3 Credit Hours

Discussion and practice of pertinent aspects related to programming under time constraints.

Prerequisite: CS 23001.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 other

Grade Mode: Standard Letter

CS 33092     SPEED PROGRAMMING PRACTICUM (ELR)      2 Credit Hours

(Repeatable for credit)Practice of pertinent aspects from CS 3301.

Prerequisite: CS 33011.

Schedule Type: Practicum or Internship

Contact Hours: 2 other

Grade Mode: Standard Letter

Attributes: Experiential Learning Requirement

CS 33101     STRUCTURE OF PROGRAMMING LANGUAGES      3 Credit Hours

Introduction to syntax, semantics, behavior and implementation issues in imperative, functional, logic and object-oriented languages; type theory, concurrency, data dependency, nondeterminism and internet languages.

Prerequisite: C (2.000) or better in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33192     INTERNSHIP IN COMPUTER SCIENCE (ELR)      1-3 Credit Hours

(Repeatable for credit for a maximum of 12 credit hours) Supervised work experience in computer science. Since this work will be outside the department a report and final presentation will be required; a site visit might also be necessary. Satisfactory/unsatisfactory (S/U) graded.

Prerequisite: special approval.

Schedule Type: Practicum or Internship

Contact Hours: 3-9 other

Grade Mode: Satisfactory/Unsatisfactory-IP

Attributes: Experiential Learning Requirement

CS 33211     OPERATING SYSTEMS      3 Credit Hours

Introduction to operating systems, processes and threads, CPU scheduling, mutual exclusion and synchronization, deadlock, memory management, file systems, networking and distributed systems. Pre or

Prerequisite: CS 23001 with a minimum grade of C (2.000).

Corequisite: CS 35101.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33223     UNIX TOOLS      3 Credit Hours

Course will cover UNIX operating system environment topics that will make the user more productive. Topics will include the user environment, shells, files, the file system, editors, scripting languages, document processing, processes, remote access and documentation.

Prerequisite: CS 13001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 33901     SOFTWARE ENGINEERING      3 Credit Hours

An introduction to software engineering concepts: life cycle models; modeling languages; requirements analysis; specification; design; testing; validation; project management and maintenance.

Prerequisite: C (2.000) or better in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 35101     COMPUTER ARCHITECTURE      3 Credit Hours

Functional overview of computer systems, interconnection of basic components, system performance measures, instruction set design, arithmetic logic unit, control unit, memory system, pipelining, interrupts and input-output.

Prerequisite: CS 13001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 35201     COMPUTER COMMUNICATION NETWORKS      3 Credit Hours

An introduction to net-centric systems, data communication protocols, network architectures, routing protocols, network management, congestion control, network security, compression techniques, mobile and wireless networks, and WWW as an example of a client-server system.

Prerequisite: minimum grade of C (2.000) in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 38101     INTRODUCTION TO GAME PROGRAMMING      3 Credit Hours

Game engine scripting, event driven and data driven programming, game engine data structures, basic game related graphics and AI concepts, a short game development project.

Prerequisite: minimum grade of C (2.000) or better in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 39995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit)Special topics from all areas of computer science.

Prerequisite: Permission.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 41038     INTERMEDIATE LOGIC      3 Credit Hours

(Cross-listed with MATH 41038 and MATH 51038 and PHIL 41038 and PHIL 51038) A detailed, systematic study of symbolic logic for philosophy majors, mathematics majors, computer science majors, and anyone else interested in advanced study in logic. The aim of the course is twofold: first, to develop a facility in understanding and using symbolic logic for various purposes, and second, to understand and appreciate symbolic logic as an area of study in itself. Topics include the distinction between syntactic, object-level proofs and semantic, meta-level proofs, the distinction between axiomatic systems and natural deduction systems of object-level proofs, various systems of modal logic, and some non-classical logics.

Prerequisite: None.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 41045     METALOGIC      3 Credit Hours

(Slashed with CS 51045; Cross-listed with MATH 41045 and MATH 51045 and PHIL 41045 and PHIL 51045) A detailed, systematic study of metalogic for philosophy majors, mathematics majors, computer science majors, and anyone else interested in advanced study in logic. Topics include the soundness and completeness of the propositional and predicate calculi, the decidablility of propositional calculus, the undecidability of predicate calculus, Gödel’s incompleteness proof for languages capable of expressing arithmetic, the co-extensionality of the set of general recursive functions, abacus computable functions, and Turing computable functions, and the philosophical motivations for the ChurchTuring Thesis that all computable functions are Turing computable.

Prerequisite: PHIL 41038.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 42201     INTRODUCTION TO NUMERICAL COMPUTING I      3 Credit Hours

An introduction to numerical methods and software for solving many common scientific computing problems. Linear systems, least-squares data fitting, nonlinear equations and systems and optimization problems.

Prerequisite: MATH 12003; and MATH 21001 or MATH 32051; and CS 10061 or CS 13001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 42202     INTRODUCTION TO NUMERICAL COMPUTING II      3 Credit Hours

(Cross-listed with CS 52202 and MATH 42202 and MATH 52202) A continuation of CS 42201. Topics include interpolation, numerical differentiation and integration, and numerical solution of ordinary differential equations.

Prerequisite: MATH 32044 or MATH 32052; and MATH 42201 or CS 42201.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43006     THEORY OF OBJECT-ORIENTED PROGRAMMING      3 Credit Hours

(Cross-listed with CS 53006) In depth course on the theory and principles of object-based and object-oriented programming using a language such as C++. The course covers advanced topics in inheritance and interface planning, generic (type independent) programming, factors of polymorphism, structure and organization of class libraries and object oriented design principles.

Prerequisite: CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43111     STRUCTURE OF COMPILERS      3 Credit Hours

(Cross-listed with CS 53111) Techniques used to write compilers including lexical analysis, syntax analysis, syntax-directed translation, type checking, run-time environments, and intermediate code generation.

Prerequisite: CS 35101 and 33101.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43202     SYSTEMS ADMINISTRATION      3 Credit Hours

(Cross-listed with CS 53202) The setting up and day-to-day administration of multiuser multitasking systems, such as the various versions of UNIX, together with the analysis of problems which can arise in these activities.

Prerequisite: CS 33211.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43203     SYSTEMS PROGRAMMING      3 Credit Hours

(Slashed with CS 53203) Implementation and maintenance of system programs, system utilities; command interpreters, editors, file maintenance programs, text processors. Interrupt handling. Device drivers.

Prerequisite: CS 23001 with a minimum grade of C.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43301     SOFTWARE DEVELOPMENT FOR ROBOTICS      4 Credit Hours

(Slashed with CS 53301) Robots are being used in multiple places that are not easily accessible for humans, to support the lack of available labor, to gain extra precision, and for cost effective manufacturing processes, monitoring, space exploration, precision surgery and artificial limb support for elderly and physically challenged persons. Computer science is an integral part of robotics as it includes areas such as computer algorithms, artificial intelligence, and image processing that are essential aspects of robotics. This first course on robotics will teach the students various motions of rigid robots, mathematics and algorithms related to these motions, motion planning, obstacle avoidance, intelligent path planning including use of various sensors.

Prerequisite: A minimum grade of C in CS 23001; and Math 12003.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 2 lab

Grade Mode: Standard Letter

CS 43305     ADVANCED DIGITAL DESIGN      3 Credit Hours

(Slashed with CS 53305) This course describes techniques in the design of digital systems. Topics covered include combinational and sequential logic, gate-level minimization, registers and counters, memory and programmable logic, hardware description languages, digital communication including serial and parallel and synchronous and asynchronous methods. Prerequisites: Minimum C or better in CS 23001

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 43401     SECURE PROGRAMMING      3 Credit Hours

Code vulnerabilities, static code analysis, error handling, secure I/O, race conditions and mediation, handling buffer and integer overflow, handling vulnerabilites in web and database programming, privacy and cryptography, random number generators.

Prerequisite: C (2.000) or better in CS 23001 and junior standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44001     COMPUTER SCIENCE III-PROGRAMMING PATTERNS      4 Credit Hours

(Slashed with CS 54001) CS III Programming Patterns extends students' knowledge of object oriented programming, and improves their C++ programming skills. Specifically, it covers procedural and object-based programming, inheritance, polymorphism, popular design patterns, and generic programming.

Prerequisite: CS 23001 with a minimum grade of C (2.000).

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 3 lab

Grade Mode: Standard Letter

CS 44003     MOBILE APPS IN IOS PROGRAMMING      3 Credit Hours

(Slashed with CS 54003) Students are introduced to mobile applications programming in the iOS environment using model, view, controller paradigms. Other topics include swift, programming using on board devices like GPS, cameras, motion detectors, and screen touches.

Prerequisite: CS 23001 with a minimum C grade.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44105     WEB PROGRAMMING I      3 Credit Hours

(Slashed with CS 54105) This course is the first of a two-course sequence on Web Programming covering from basic to advanced topics on Web Programming based on open standards and best practices. Topics covered include the HyperText Markup Language (HTML), specifying look and feel using Cascading Style Sheets (CSS), client side programming in Javascript, server side programming in PHP, and the Hypertext Transfer Protocol (HTTP).

Prerequisite: CS 23001 with a minimum grade of C (2.000).

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44106     WEB PROGRAMMING II      3 Credit Hours

(Slashed with CS 54106) This course is the second of a two-course sequence on Web Programming covering advanced topics on Web Programming based on open standards and best practices. This is a project course exploring advanced aspects of Web programming. Topics covered include advanced server side programming in PHP; database driven websites; structured query language (SQL) and MySQL; E-commerce; web hosting using Apache, PHP and MySQL; basic and digest authentication; web security, encryption and digital certificates; Extensible Markup Language (XML) for the web, AJAX and web services; scalable vector graphics (SVG); mobile websites.

Prerequisite: CS 44105.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44201     ARTIFICIAL INTELLIGENCE      3 Credit Hours

(Cross-listed with CS 54201) Examines goals, problems, concepts and methods of artificial intelligence, heuristic versus algorithmic methods, natural language comprehension, theorem proving.

Prerequisite: CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 44901     SOFTWARE DEVELOPMENT PROJECT (ELR) (WIC)      4 Credit Hours

With the supervision of the instructor, students will work in teams to design and implement a realistic software project similar to projects they would encounter in the workplace.

Prerequisite: CS 23001 with a minimum grade of C (2.000); and junior standing.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 3 lab

Grade Mode: Standard Letter

Attributes: Experiential Learning Requirement, Writing Intensive Course

CS 45203     COMPUTER NETWORK SECURITY      3 Credit Hours

(Cross-listed with CS 55203) Overview of network security including attacks and vulnerabilities and defense measures, secure network design, network and transport layers security, intrusion detection techniques, defense against denial of service attacks, network hardware, software, and applications attacks and their defense, security policies, legal and ethical issues in cyber and computer crimes.

Prerequisite: CS 35201.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 45231     INTERNET ENGINEERING      3 Credit Hours

Design fundamentals and working principles of internet systems at the IP layer and above. DNS, inter-domain routing, internet client server programming, application level protocols (HTTP, XML,etc.) web server architecture, browser internet security and multimedia serving.

Prerequisite: CS 23001, 33211 and 35201.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 46101     DESIGN AND ANALYSIS OF ALGORITHMS      3 Credit Hours

(Cross-listed with CS 56101) Introduction to algorithmic concepts, design and complexity analysis of algorithms, searching, sorting, graphs, geometric algebraic and parallel algorithms.

Prerequisite: MATH 12003 and C (2.000) or better in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47101     COMPUTER GRAPHICS      3 Credit Hours

Display file generation, interactive graphics techniques, display devices, three-dimensional graphics, graphic system design, graphic languages and applications in man-machine communications.

Prerequisite: CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47201     HUMAN COMPUTER INTERACTION      3 Credit Hours

Approaches the human-computer interaction as an activity of the human whose productivity is increased by the use of the computer as a tool. Examines physiology and psychology considers the structure and operation of the computer and models the interaction between the two.

Prerequisite: CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47205     INFORMATION SECURITY      3 Credit Hours

(Slashed with CS 57205) An introduction to concepts and methodology useful for information security, as specified by the NSTISSI NO. 4011 standard from the NSA.

Prerequisite: CS 23001 with a minimum grade of C (2.000).

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47206     DATA SECURITY AND PRIVACY      3 Credit Hours

(Slashed with CS 57206) The goal of the course is to familiarize the students with basic concepts of security and privacy, their definitions, applications and current advances in research community and industry. This course addresses the security and privacy issues in legacy systems and also studies security and privacy policies and legislations. This course also reviews current research projects in the area of security and privacy.

Prerequisite: Minimum C grade or better in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47207     DIGITAL FORENSICS      3 Credit Hours

(Slashed with CS 57207) This course addresses the need for digital forensics, best practices for general incidence response, legal aspects of forensics, tools and techniques to perform a full computer forensic investigation.

Prerequisite: Minimum C grade or better in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 47221     INTRODUCTION TO CRYPTOLOGY      3 Credit Hours

Introduction to cryptography, classical cryptology, authentication, complexity issues, encryption standards, algebraic foundations, survey of existing cryptology protocols: AES/Rijndael, block chaining, asymmetric techniques.

Prerequisite: C (2.000) or better in CS 23001 and junior standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 48101     GAME ENGINE CONCEPTS      3 Credit Hours

Introduction to 3D game engine design, game memory management, multithreading in games, sprites and bitmap animation level design, path finding, audio-visual effects, AI and physical modeling in games, networked gaming.

Prerequisite: minimum grade of C (2.000) in CS 23001.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 48102     GAME DEVELOPMENT PRACTICUM (ELR) (WIC)      4 Credit Hours

With the supervision of the instructor, students will work in teams to design and implement a computer game or 3D interactive learning environment using a game engine in a professional setup.

Prerequisite: CS 33007 and 33901 and 35201 and 48101; and junior standing.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 2 lab

Grade Mode: Standard Letter

Attributes: Experiential Learning Requirement, Writing Intensive Course

CS 49901     CAPSTONE PROJECT (ELR) (WIC)      4 Credit Hours

The course is an integrative experience that brings together all components of the undergraduate computer science curriculum in an applied, hands-on real-world setting. The course is three-credits lecture and one-credit lab.

Prerequisite: CS 33007 and 33901 and 35201.

Schedule Type: Combined Lecture and Lab

Contact Hours: 4 other

Grade Mode: Standard Letter

Attributes: Experiential Learning Requirement, Writing Intensive Course

CS 49995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-4 Credit Hours

(Repeatable for credit) (Cross-listed with CS 59995) Special topics from all areas of computer science.

Prerequisite: special approval.

Schedule Type: Lecture

Contact Hours: 4 lecture

Grade Mode: Standard Letter

CS 49996     INDIVIDUAL STUDY      1-4 Credit Hours

(Repeatable for credit).

Prerequisite: special approval.

Schedule Type: Individual Investigation

Contact Hours: 1-4 other

Grade Mode: Standard Letter

CS 49998     RESEARCH (ELR)      1-15 Credit Hours

(Repeatable for credit).

Prerequisite: special approval.

Schedule Type: Research

Contact Hours: 1-15 other

Grade Mode: Satisfactory/Unsatisfactory-IP

Attributes: Experiential Learning Requirement

CS 51045     METALOGIC      3 Credit Hours

(Slashed with CS 41045; Cross-listed with MATH 41045 and MATH 51045 and PHIL 41045 and PHIL 51045) A detailed, systematic study of metalogic for philosophy majors, mathematics majors, computer science majors, and anyone else interested in advanced study in logic. Topics include the soundness and completeness of the propositional and predicate calculi, the decidablility of propositional calculus, the undecidability of predicate calculus, Gödel’s incompleteness proof for languages capable of expressing arithmetic, the co-extensionality of the set of general recursive functions, abacus computable functions, and Turing computable functions, and the philosophical motivations for the ChurchTuring Thesis that all computable functions are Turing computable

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 52201     INTRODUCTION TO NUMERICAL COMPUTING I      3 Credit Hours

(Cross-listed with CS 42201 and MATH 42201 and MATH 52201) An introduction to numerical methods and software for solving many common scientific computing problems. Linear systems, least-squares data fitting, nonlinear equations and systems, and optimization problems.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 52202     INTRODUCTION TO NUMERICAL COMPUTING II      3 Credit Hours

(Cross-listed with CS 42202 and MATH 42202 and MATH 52202) A continuation of CS 52201. Topics include interpolation numerical differentiation and integration and numerical solution of ordinary differential equations.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53006     THEORY OF OBJECT-ORIENTED PROGRAMMING      3 Credit Hours

(Cross-listed with CS 43006) In-depth course on the theory and principles of object-based and object-oriented programming using a language such as C ++. The course covers advanced topics in inheritance and interface planning, generic (type independent) programming, factors of polymorphism, structure and organization of class libraries, and object-oriented design principles.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53111     STRUCTURE OF COMPILERS      3 Credit Hours

(Cross-listed with CS 43111) Techniques used to write compilers including lexical analysis, syntax analysis, syntax directed translation, type checking, run-time environments and intermediate code generation.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53202     SYSTEMS ADMINISTRATION      3 Credit Hours

(Cross-listed with CS 43202) The setting up and day-to-day administration of multiuser multitasking systems, such as the various versions of UNIX together with the analysis of problems which can arise in these activities.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53203     SYSTEMS PROGRAMMING      3 Credit Hours

(Cross-listed with CS 43203) Design, implementation and maintenance of system programs, system utilities; command interpreters, editors, file maintenance programs, text processors. Interrupt handling. Device drivers.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53301     SOFTWARE DEVELOPMENT FOR ROBOTICS      4 Credit Hours

Robots are used in multiple places that are not easily accessible for humans, to support the lack of available labor, to gain extra precision, and for cost effective manufacturing processes, monitoring, space exploration, precision surgery and artificial limb support for elderly and physically challenged persons. Computer science is an integral part of robotics as it includes areas such as computer algorithms, artificial intelligence, and image processing that are essential aspects of robotics. This first course on robotics will teach the students various motions of rigid robots, mathematics and algorithms related to these motions, motion planning, obstacle avoidance, intelligent path planning including use of various sensors.

Prerequisite: Graduate Standing.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 2 lab

Grade Mode: Standard Letter

CS 53305     ADVANCED DIGITAL DESIGN      3 Credit Hours

(Slashed with CS 43305) This course describes techniques in the design of digital systems. Topics covered include combinational and sequential logic, gate-level minimization, registers and counters, memory and programmable logic, hardware description languages, digital communication including serial and parallel and synchronous and asynchronous methods. Prerequisites: Graduate Standing

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 53401     SECURE PROGRAMMING      3 Credit Hours

Code vulnerabilites, static code analysis, error handling, secure I/O, race conditions and mediation, handling buffer and integer overflow, handling vulnerabilities in web and database programming, privacy and cryptography, random number generators.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 54001     COMPUTER SCIENCE III - PROGRAMMING PATTERNS      4 Credit Hours

(Slashed with CS 44001) Extends students' knowledge of object oriented programming, and improves their C++ programming skills. Specifically, it covers procedural and object-based programming, inheritance, polymorphism, popular design patterns, and generic programming.

Prerequisite: Graduate standing.

Schedule Type: Combined Lecture and Lab

Contact Hours: 3 lecture, 3 lab

Grade Mode: Standard Letter

CS 54003     MOBILE APPS IN IOS PROGRAMMING      3 Credit Hours

Students are introduced to mobile applications programming in the iOS environment using model, view, controller paradigms. Other topics include swift, programming using on board devices like GPS, cameras, motion detectors, and screen touches.

Prerequisite: Graduate Gtanding.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 54105     WEB PROGRAMMING I      3 Credit Hours

(Slashed with CS 44105) This course is the first of a two-course sequence on Web Programming covering from basic to advanced topics on Web Programming based on open standards and best practices. Topics covered include the HyperText Markup Language (HTML), specifying look and feel using Cascading Style Sheets (CSS), client side programming in Javascript, server side programming in PHP, and the Hypertext Transfer Protocol (HTTP).

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 54106     WEB PROGRAMMING II      3 Credit Hours

(Slashed with CS 44106) This course is the second of a two-course sequence on Web Programming covering advanced topics on Web Programming based on open standards and practices. This is a project course exploring advanced aspects of Web programming. Topics covered include advanced server side programming in PHP; database driven websites; structured query language (SQL) and MySQL; E-commerce; web hosting using Apache, PHP MySQL; basic and digest authentication; web security, encryption and digital certificates; Markup Language (XML) for the web, AJAX and web services; scalable vector graphics (SVG); websites.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 54201     ARTIFICIAL INTELLIGENCE      3 Credit Hours

(Cross-listed with CS 44201) Examines goals, problems, concepts and methods of artificial intelligence heuristic versus algorithmic methods, natural language comprehension, theorem proving.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 55201     COMPUTER COMMUNICATION NETWORKS      3 Credit Hours

An introduction to net-centric systems, data communication protocols, network architectures, routing protocols, network management, congestion control, network security, compression techniques, mobile and wireless networks, and WWW as an example of a client server system.

Prerequisite: graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 55203     COMPUTER NETWORK SECURITY      3 Credit Hours

(Cross-listed with CS 45203) Overview of network security including attacks and vulnerabilities and defense measures, secure network design, network and transport layers security, intrusion detection techniques, defense against denial of service attacks, network hardware, software, and applications attacks and their defense, security policies, legal and ethical issues in cyber and computer crimes.

Prerequisite: graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 55231     INTERNET ENGINEERING      3 Credit Hours

(Cross-listed with CS 45231) Design fundamentals and working principles of internet systems at the IP layer and above. DNS, inter-domain routing, internet client server programming, application level protocols (HTTP, XML,etc.) Web server architecture, browser, internet security, and multimedia serving.

Prerequisite: CS 33001 and 55201; graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 56101     DESIGN AND ANALYSIS OF ALGORITHMS      3 Credit Hours

(Cross-listed with CS 46101) Introduction to algorithmic concepts, practical techniques for the design and analysis of algorithms; searching, sorting, integer and floating point arithmetic; vector and matrix manipulation.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57101     COMPUTER GRAPHICS      3 Credit Hours

(Cross-listed with CS 47101) Display file generation, interactive graphics techniques, display devices, three-dimensional graphics, graphic system design, graphic languages and applications in man-machine communications.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57201     HUMAN COMPUTER INTERACTION      3 Credit Hours

(Cross-listed with CS 47201) Approaches the human-computer interaction as an activity of the human whose productivity is increased by the use of the computer as a tool. Examines physiology and psychology considers the structure and operation of the computer and models the interaction between the two.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57205     INFORMATION SECURITY      3 Credit Hours

(Cross-listed with CS 47205) An introduction to concepts and methodology useful for information security, as specified by the NSTISSI NO. 4011 standard from the NSA.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57206     DATA SECURITY AND PRIVACY      3 Credit Hours

(Slashed with CS 47206) The goal of the course is to familiarize the students with basic concepts of security and privacy, their definitions, applications and current advances in research community and industry. This course addresses the security and privacy issues in legacy systems and also studies security and privacy policies and legislations. This course also reviews current research projects in the area of security and privacy.

Prerequisite: Graduate Standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57207     DIGITAL FORENSICS      3 Credit Hours

(Slashed with CS 47207) This course addresses the need for digital forensics, best practices for general incidence response, legal aspects of forensics, tools and techniques to perform a full computer forensic investigation.

Prerequisite: Graduate Standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 57221     INTRODUCTION TO CRYPTOLOGY      3 Credit Hours

Introduction to cryptography, classical cryptology, authentication, complexity issues, encryption standards, algebraic foundations, survey of existing cryptology protocols: AES/Rijndael, block chaining, asymmetric techniques.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 59893     VARIABLE TITLE WORKSHOP IN COMPUTER SCIENCE      1-6 Credit Hours

(Repeatable for credit)Studies in special topics in computer science.

Prerequisite: Special approval and graduate standing.

Schedule Type: Workshop

Contact Hours: 1-6 other

Grade Mode: Satisfactory/Unsatisfactory

CS 59995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit) (Cross-listed with CS 49995) Various special courses will be announced in the schedule of classes under this title.

Prerequisite: Special approval and graduate standing.

Schedule Type: Lecture

Contact Hours: 1-3 lecture

Grade Mode: Standard Letter

CS 60093     VARIABLE TITLE WORKSHOP IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit)Studies of special topics in computer science. Not acceptable for credit toward a graduate degree in computer science without approval of the student's adviser.

Prerequisite: Special approval and graduate standing.

Schedule Type: Workshop

Contact Hours: 1-3 other

Grade Mode: Satisfactory/Unsatisfactory

CS 60094     COLLEGE TEACHING OF COMPUTER SCIENCE      1 Credit Hour

(Repeatable for credit) (Cross-listed with CS 70094) Techniques and problems of college teaching of computer science. Student presentation of computer science papers will be included.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 1 lecture

Grade Mode: Standard Letter-S/U

CS 61002     ALGORITHMS AND PROGRAMMING I      4 Credit Hours

An introduction to the algorithms and tools used in computer science; includes programming in a high level language. No credit for CS majors.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 4 lecture

Grade Mode: Standard Letter

CS 61003     ALGORITHMS AND PROGRAMMING II      4 Credit Hours

Further exploration into the tools used in computer science. No credit for CS majors.

Prerequisite: CS 61002; graduate standing.

Schedule Type: Lecture

Contact Hours: 4 lecture

Grade Mode: Standard Letter

CS 61092     PRACTICUM IN CS FOR INFORMATION ARCHITECTURE AND KNOWLEDGE MANAGEMENT      1-5 Credit Hours

(Repeatable for credit)This course is an alternative to IAKM 60199 for students interested in pursuing a CS thesis. Credit for IAKM 60199 or any other project course is not allowed.

Prerequisite: Graduate standing.

Schedule Type: Practicum or Internship

Contact Hours: 1-5 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 61199     THESIS I FOR INFORMATION ARCHITECTURE AND KNOWLEDGE MANAGEMENT      2-6 Credit Hours

Thesis students must register for a minimum of 6 hours. No credit for CS students.

Prerequisite: Graduate standing.

Schedule Type: Masters Thesis

Contact Hours: 2-6 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 61299     THESIS II FOR INFORMATION ARCHITECTURE AND KNOWLEDGE MANAGEMENT STUDENTS      2 Credit Hours

Thesis students must continue registration each semester until all degree requirements are met.

Prerequisite: CS 61199.

Schedule Type: Masters Thesis

Contact Hours: 2 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 62202     NUMERICAL COMPUTING II      3 Credit Hours

(Cross-listed with CS 72202 and MATH 62202 and MATH 72202) A continuation of CS 6/72201. Interpolation, numerical integration and differentiation, ordinary differential equations initial and boundary value problems, partial differential equations, fast Fourier transforms and applications.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 62263     NUMERICAL SOLUTION OF LARGE SPARSE LINEAR SYSTEMS      3 Credit Hours

(Cross-listed with CS 72263 and MATH 62263 and MATH 72263) Construction and analysis of iterative methods for large systems of linear algebraic equations. Jacobi, Gauss-Seidel, SOR. Polynomial acceleration methods, conjugate gradients. Multi-grid methods. Graduate standing.

Prerequisite: MATH 4/51021 and CS 4/52202.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 62264     NUMERICAL SOLUTION OF NONLINEAR SYSTEMS      3 Credit Hours

(Cross-listed with CS 72264 and MATH 62264 and MATH 72264) Construction and analysis of numerical methods for systems of non linear algebraic equations and optimization problems. Numerical implementation and software. Graduate standing.

Prerequisite: MATH 4/52041 and CS 4/52202.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63005     ADVANCED DATABASE SYSTEMS DESIGN      3 Credit Hours

(Cross-listed with CS 73005) Introduction to a variety of advanced database topics and on-going trends in modern database systems. The course includes advanced issues of object-oriented database, XML, advanced client server architecture and distributed database techniques.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63015     DATA MINING TECHNIQUES      3 Credit Hours

(Cross-listed with CS 73015) Concepts and techniques of data mining. Data mining is a process of discovering information from a set of large databases. This course takes a database perspective on data mining.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63016     BIG DATA ANALYTICS      3 Credit Hours

(Slashed with CS 73016) Introduces computing platforms with focus on how to use them in processing, managing and analyzing massive datasets. Utilizes several key data processing tasks, including simple statistics, data aggregation, join processing, frequent pattern mining, data clustering, information retrieval, pagerank and massive graph analytics as the case study for large scale data processing.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63017     BIG DATA MANAGEMENT      3 Credit Hours

This course will cover a series of important Big-Data-related problems and their solutions. Specifically, we will introduce the characteristics and challenges of the Big Data, state-of-the-art computing paradigm sand platforms (e.g., MapReduce), big data programming tools (e.g., Hadoop and MongoDB), big data extraction and integration, big data storage, scalable indexing for big data, big graph processing, big data stream techniques and algorithms, big probabilistic data management, big data privacy, big data visualizations, and big data applications (e.g., spatial, finance, multimedia, medical, health, and social data).

Prerequisite: Graduate Standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63018     PROBABILISTIC DATA MANAGEMENT      3 Credit Hours

(Slashed with CS 73018) This course addresses the fundamental concepts and techniques for probabilistic data management in the area of databases. Probabilistic data are pervasive in many real-world applications, such as sensor networks, GPS system, location-based services, mobile computing, multimedia databases, data extraction and integration, trajectory data analysis, semantic web, privacy preserving, and so on. This class also covers major research topics such as probabilistic or uncertain data models, probabilistic queries, probabilistic query answering techniques, and data quality issues in databases.

Prerequisite: Graduate Standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63100     COMPUTATIONAL HEALTH INFORMATICS      3 Credit Hours

(Slashed with CS 73100) The course describes computational techniques and software tools for managing and transmitting health related information and automated analysis of medical and biosignal data. Prerequisites: Graduate Standing

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63201     ADVANCED OPERATING SYSTEMS      3 Credit Hours

(Cross-listed with CS 73201) Introduction to distributed systems, interprocess communication, distributed mutual exclusion, synchronization and deadlock, distributed process management and distributed file systems.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63301     PARALLEL AND DISTRIBUTED COMPUTING      3 Credit Hours

(Cross-listed with CS 73301) Overview of parallel and distributed computing; structuring parallel and distributed programs; parallel programming using SIMD, SPMD, MIMD and associative computing; parallel and distributed architecture using existing machines as case studies.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63304     CLUSTER COMPUTING      3 Credit Hours

(Cross-listed with CS 73304) This course will investigate clusters of computers as a computing platform, hardware and software tradeoffs for clusters and application performance and programming of clusters.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63305     MULTICORE COMPUTING      3 Credit Hours

(Slashed with CS 73305) Starting about 2005, hardware architects began putting more than one processing core on a single chip, leading to the recent rapid advancements in multicore processor architectures. This shift has changed almost everything ranging from memory hierarchy and consistency to programming those architectures. The goal of this course is to study multicore processor architectures from the perspective of hardware, software and algorithm design, the challenges, and the technologies that are relevant to those architectures.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63306     EMBEDDED COMPUTING      3 Credit Hours

(Slashed with CS 73306) Computational issues structuring programs for processors embedded in other devices, such as those found in automobiles and biological and chemical sample processing devices.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63901     SOFTWARE ENGINEERING METHODOLOGIES      3 Credit Hours

(Cross-listed with CS 73901) Software process models; modeling languages; software process improvement; requirement analysis and elicitation; advanced systems and architectural design; estimation; verification and validation; reuse; and metrics.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 63902     SOFTWARE EVOLUTION      3 Credit Hours

(Cross-listed with CS 73902) Methods and techniques supporting later lifecycle activities, including software testing and maintenance, reuse and reverse engineering.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 64201     ADVANCED ARTIFICIAL INTELLIGENCE      3 Credit Hours

(Slashed with CS 74201) Additional topics in AI such as logic programming, advanced problem-solving systems, understanding natural languages, vision, learning, plan-generating systems.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 64301     PATTERN RECOGNITION PRINCIPLES      3 Credit Hours

(Cross-listed with CS 74301) Introduction to mathematical pattern recognition, feature selection, distribution-free classification, statistical classification, nonsupervised learning, sequential learning and application.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 64401     IMAGE PROCESSING      3 Credit Hours

(Cross-listed with CS 74401) This course covers digital processing of digital imagery. Digitization of TV imagery, noise removal, image enhancement, edge and texture detection, object recognition and scene analysis.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 64402     MULTIMEDIA SYSTEMS ABD BIOMETRICS      3 Credit Hours

(Slashed with CS 74402) This course discusses computational techniques for the fusion of multimedia data recorded by sensors for human-identification using automated analysis of biometric signals.Prerequisites: Graduate Standing

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 65101     ADVANCED COMPUTER ARCHITECTURE      3 Credit Hours

(Cross-listed with CS 75101) System performance measures, processor implementation, pipelining, system interconnection, memory hierarchy interrupts, stack architecture, vector and multiprocessors.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 65202     ADVANCED COMMUNICATION NETWORKS      3 Credit Hours

(Cross-listed with CS 75202) This course covers central problems that confront network designers in high-speed networking such as real-time traffic, congestion control, quality of service (QoS), performance analysis, traffic management and internet routing.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 65203     WIRELESS AND MOBILE COMMUNICATION NETWORKS      3 Credit Hours

(Cross-listed with CS 75203) Examines how wireless systems work and how mobile systems are supported by the underlying network infrastructure. Course covers the architecture and the interactions among different functional units in wireless and mobile systems.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 65208     DISTRIBUTED MULTIMEDIA LANGUAGES AND SYSTEMS      3 Credit Hours

(Cross-listed with CS 75208) MPEG standards, multimedia formats, 3-D object and movement representation, multimedia storage, QoS maintenance, transmission and buffering, multimedia clocks and synchronization, content based indexing, matching and retrieval of 2-D and 3-D objects, XMLl based distributed multimedia languages, synchronous and reactive languages.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 65301     SYSTEM MODELING AND PERFORMANCE EVALUATION      3 Credit Hours

(Cross-listed with CS 75301) Provides a detailed study of queuing, network models and their application to operating systems, computer time sharing and multi access systems.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 66101     ADVANCED TOPICS IN ALGORITHMS      3 Credit Hours

(Cross-listed with CS 76101) Advanced algorithms, fast fourier transforms, algorithms on trees and graphs, rational and polynomial arithmetic, gcd, factoring, numerical and symbolic computational algorithms, Risch integration algorithm, pattern matching.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 66105     PARALLEL AND DISTRIBUTED ALGORITHMS      3 Credit Hours

(Cross-listed with CS 76105) Introduces and evaluates important models of parallel (synchronous and asynchronous) and distributed computation, using basic searching, sorting, graph, matrix, numerical computing and computational geometry algorithms.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 66110     COMPUTATIONAL GEOMETRY      3 Credit Hours

(Cross-listed with CS 76110) Geometric structures are the underlying model of several important applications, including robotics, graphics, CAD/CAM, VLSIi layout, wireless networks and information visualization. Computational geometry studies algorithms for geometric problems.

Prerequisite: CS 56101; graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 66120     EVOLUTIONARY COMPUTATION      3 Credit Hours

(Cross-listed with CS 76120) Introduction to evolutionary computation techniques for optimization, learning and design. Topics include natural and artificial evolution, chromosome representations, search operators, co-evolution, constraint handling techniques, niching and speciation, classifier systems and theoretical foundations.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 67101     ADVANCED COMPUTER GRAPHICS      3 Credit Hours

(Cross-listed with CS 77101) In-depth study of active research topics in computer graphics. Topics include volume rendering, image-based rendering and modeling, graphics architectures, virtual reality, modeling in computer graphics, non-photorealistic rendering, computer animation and computer games.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 67301     SCIENTIFIC VISUALIZATION      3 Credit Hours

(Cross-listed with CS 77301) Discusses the visualization of scientific, engineering and medical data sets. Introduces mechanisms to acquire sampled or computed data and points out methods to transform these data into the visual system.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 69098     RESEARCH      1-5 Credit Hours

(Repeatable for credit) Satisfactory/Unsatisfactory (S/U) graded. In Progress (IP) mark permissable. Research or individual investigation. Credits are applied toward degree requirements with approval if grade of "S" is given.

Prerequisite: Graduate standing.

Schedule Type: Research

Contact Hours: 1-5 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 69191     MASTER'S SEMINAR      1-2 Credit Hours

(Repeatable for credit) Course is Satisfactory/Unsatisfactory (S/U) graded. Seminar for masters students to present and discuss computer science related research and academics. Masters students are required to take at least 2 credit hours for completion of degree and make at least one presentation of project work or research. Only two credits count towards the masters degree.

Prerequisite: Computer Science (CS) major within the Master of Arts (MA) or Master of Science (MS) degree.

Schedule Type: Seminar

Contact Hours: 1-2 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 69199     THESIS I      2-6 Credit Hours

Thesis student must register for total of 6 hours, 2 to 6 hours in a single semester distributed over several semesters if desired.

Prerequisite: Graduate standing.

Schedule Type: Masters Thesis

Contact Hours: 2-6 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 69299     THESIS II      2 Credit Hours

Thesis students must continue registration each semester until all degree requirements are met.

Prerequisite: CS 69199 and graduate standing.

Schedule Type: Masters Thesis

Contact Hours: 2 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 69995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit) (Cross-listed with CS 79995) Special topics in computer science.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 1-3 lecture

Grade Mode: Standard Letter-S/U

CS 70094     COLLEGE TEACHING OF COMPUTER SCIENCE      1 Credit Hour

(Repeatable for credit) (Cross-listed with CS 60094) Techniques and problems of college teaching of computer science. Student presentation of computer science papers will be included.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 1 lecture

Grade Mode: Standard Letter-S/U

CS 72202     NUMERICAL COMPUTING II      3 Credit Hours

(Cross-listed with CS 62202 and MATH 62202 and MATH 72202) A continuation of CS 6/72201. Interpolation, numerical integration and differentiation, ordinary differential equations initial and boundary value problems, partial differential equations, fast Fourier transforms and applications.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 72263     NUMERICAL SOLUTION OF LARGE SPARSE LINEAR SYSTEMS      3 Credit Hours

(Cross-listed with CS 62263 and MATH 62263 and MATH 72263) Construction and analysis of iterative methods for large systems of linear algebraic equations. Jacobi, Gauss-Seidel, SOR. Polynomial acceleration methods, conjugate gradients. Multi-grid methods. Graduate standing.

Prerequisite: MATH 4/51021 and CS 4/52202.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 72264     NUMERICAL SOLUTION OF NONLINEAR SYSTEMS      3 Credit Hours

(Cross-listed with CS 62264 and MATH 62264 and MATH 72264) Construction and analysis of numerical methods for systems of non linear algebraic equations and optimization problems. Numerical implementation and software. Doctoral standing.

Prerequisite: MATH 4/52041 and CS 4/52202.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73005     ADVANCED DATABASE SYSTEMS DESIGN      3 Credit Hours

(Cross-listed with CS 63005) Introduction to a variety of advanced database topics and on-going trends in modern database systems. The course includes advanced issues of object-oriented database, XML, advanced client server architecture and distributed database techniques.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73015     DATA MINING TECHNIQUES      3 Credit Hours

(Cross-listed with CS 63015) Concepts and techniques of data mining. Data mining is a process of discovering information from a set of large databases. This course takes a database perspective on data mining.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73016     BIG DATA ANALYTICS      3 Credit Hours

Introduces computing platforms with the focus on how to utilize them in processing, managing and analyzing massive datasets. The course will utilize several key data processing tasks, including simple statistics, data aggrefation, join processing, frequent pattern mining, data clustering, information retrieval, pagerank, and massive graph analytics as the case study for large scale data processing.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73017     BIG DATA MANAGEMENT      3 Credit Hours

This course will cover a series of important Big-Data-related problems and their solutions. Specifically, we will introduce the characteristics and challenges of the Big Data, state-of-the-art computing paradigm sand platforms (e.g., MapReduce), big data programming tools (e.g., Hadoop and MongoDB), big data extraction and integration, big data storage, scalable indexing for big data, big graph processing, big data stream techniques and algorithms, big probabilistic data management, big data privacy, big data visualizations, and big data applications (e.g., spatial, finance, multimedia, medical, health, and social data).

Prerequisite: Doctoral Standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73018     PROBABILISTIC DATA MANAGEMENT      3 Credit Hours

(Slashed with CS 63018) This course addresseses the fundamental concepts and techniques for probabilistic data management in the area of databases. Probabilistic data are pervasive in many real-world applications, such as sensor networks, GPS system, location-based services, mobile computing, multimedia databases, data extraction and integration, trajectory data analysis, semantic web, and privacy preserving. This class also covers major research topics such as probabilistic or uncertain data models, probabilistic queries, probabilistic query answering techniques, and data quality issues in databases.

Prerequisite: Doctoral Standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73100     COMPUTATIONAL HEALTH INFORMATICS      3 Credit Hours

(Slashed with CS 63100) The course describes computational techniques and software tools for managing and transmitting health related information and automated analysis of medical and biosignal data. Prerequisites: Doctoral Standing

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73201     ADVANCED OPERATING SYSTEMS      3 Credit Hours

(Cross-listed with CS 63201) Introduction to distributed systems, interprocess communication, distributed mutual exclusion, synchronization and deadlock, distributed process management and distributed file systems.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73301     PARALLEL AND DISTRIBUTED COMPUTING      3 Credit Hours

(Cross-listed with CS 63301) Overview of parallel and distributed computing; structuring parallel and distributed programs; parallel programming using simd spmd mimd and,associative computing parallel and distributed architecture using existing machines as case studies.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73304     CLUSTER COMPUTING      3 Credit Hours

(Cross-listed with CS 63304) This course will investigate clusters of computers as a computing platform, hardware and software tradeoffs for clusters and application performance and programming of clusters.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73305     MULTICORE COMPUTING      3 Credit Hours

(Slashed with CS 63305) Starting about 2005, hardware architects began putting more than one processing core on a single chip, leading to the recent rapid advancements in multicore processor architectures. This shift has changed almost everything ranging from memory hierarchy and consistency to programming those architectures. The goal of this course is to study multicore processor architectures from the perspective of hardware, software, and algorithm design, the challenges, and the technologies that are relevant to those architectures.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73306     EMBEDDED COMPUTING      3 Credit Hours

(Slashed with CS 63306) Computational issues structuring programs for processors embedded in other devices such as those found in automobiles and biological chemical sample processing devices.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73901     SOFTWARE ENGINEERING METHODOLOGIES      3 Credit Hours

(Cross-listed with CS 63901) Software process models; modeling languages; software process improvement ;requirement analysis and elicitation; advanced systems and architectural design; estimation; verification and validation reuse; and metrics.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 73902     SOFTWARE EVOLUTION      3 Credit Hours

(Cross-listed with CS 63902) Methods and techniques supporting later lifecycle activities, including software testing and maintenance reuse and reverse engineering.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 74201     ADVANCED ARTIFICIAL INTELLIGENCE      3 Credit Hours

(Slashed with CS 64201) Additional topics in AI such as logic programming, advanced problem-solving systems, understanding natural languages, vision, learning, plan generating systems.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 74301     PATTERN RECOGNITION PRINCIPLES      3 Credit Hours

(Cross-listed with CS 64301) Introduction to mathematical pattern recognition, feature selection, distribution-free classification, statistical classification, nonsupervised learning, sequential learning and application.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 74401     IMAGE PROCESSING      3 Credit Hours

(Cross-listed with CS 64401) This course covers digital processing of digital imagery. Digitization of TV imagery, noise removal, image enhancement ,edge and texture detection, object recognition and scene analysis.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 74402     MULTIMEDIA SYSTEMS ABD BIOMETRICS      3 Credit Hours

(Slashed with CS 64402) This course discusses computational techniques for fusion of multimedia data collected by sensors for human-identification using automated analysis of biometric signals.

Prerequisite: Doctoral Standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 75101     ADVANCED COMPUTER ARCHITECTURE      3 Credit Hours

(Cross-listed with CS 65101) System performance measures, processor implementation, pipelining, system interconnection, memory hierarchy interrupts, stack architecture, vector and multiprocessors.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 75202     ADVANCED COMMUNICATION NETWORKS      3 Credit Hours

(Cross-listed with CS 65202) This course covers central problems that confront network designers in high-speed networking such as real-time traffic, congestion control, quality of service (QoS), performance analysis, traffic management and internet routing.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 75203     WIRELESS AND MOBILE COMMUNICATION NETWORKS      3 Credit Hours

(Cross-listed with CS 65203) Examines how wireless systems work and how mobile systems are supported by the underlying network infrastructure. Course covers the architecture and the interactions among different functional units in wireless and mobile systems.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 75208     DISTRIBUTED MULTIMEDIA LANGUAGES AND SYSTEMS      3 Credit Hours

(Cross-listed with CS 65208) MPEG standards, multimedia formats, 3-D object and movement representation, multimedia storage, QoS maintenance, transmission and buffering, multimedia clocks and synchronization, content based indexing, matching and retrieval of 2-D and 3-D objects, XMLl based distributed multimedia languages, synchronous and reactive languages.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 75301     SYSTEM MODELING AND PERFORMANCE EVALUATION      3 Credit Hours

(Cross-listed with CS 65301) Provides a detailed study of queuing, network models and their application to operating systems, computer time sharing and multi-access systems.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 76101     ADVANCED TOPICS IN ALGORITHMS      3 Credit Hours

(Cross-listed with CS 66101) Advanced algorithms, fast Fourier transforms, algorithms on trees and graphs, rational and polynomial arithmetic, GCD, factoring, numerical and symbolic computational algorithms, Rischintegration algorithm, pattern matching.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 76105     PARALLEL AND DISTRIBUTED ALGORITHMS      3 Credit Hours

(Cross-listed with CS 66105) Introduces and evaluates important models of parallel (synchronous and asynchronous) and distributed computation, using basic searching, sorting, graph, matrix, numerical computing and computational geometry algorithms.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 76110     COMPUTATIONAL GEOMETRY      3 Credit Hours

(Cross-listed with CS 66110) Geometric structures are the underlying model of several important applications, including robotics, graphics, CAD/CAM, VLSI layout, wireless networks and information visualization. Computational geometry studies algorithms for geometric problems.

Prerequisite: CS 56101; doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 76120     EVOLUTIONARY COMPUTATION      3 Credit Hours

(Cross-listed with CS 66120) Introduction to evolutionary computation techniques for optimization, learning and design. Topics include natural and artificial evolution, chromosome representations, search operators, co-evolution, constraint handling techniques, niching and speciation, classifier systems and theoretical foundations.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 77101     ADVANCED COMPUTER GRAPHICS      3 Credit Hours

(Cross-listed with CS 67101) In-depth study of active research topics in computer graphics. Topics include volume rendering, image-based rendering and modeling, graphics architectures, virtual reality, modeling in computer graphics, non-photorealistic rendering, computer animation and computer games.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 77301     SCIENTIFIC VISUALIZATION      3 Credit Hours

(Cross-listed with CS 67301) Discusses the visualization of scientific, engineering and medical data sets. Introduces mechanisms to acquire sampled or computed data and points out methods to transform these data into the visual system.

Prerequisite: Doctoral standing.

Schedule Type: Lecture

Contact Hours: 3 lecture

Grade Mode: Standard Letter

CS 79995     SPECIAL TOPICS IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit) (Cross-listed with CS 69995) Special topics in computer science.

Prerequisite: Graduate standing.

Schedule Type: Lecture

Contact Hours: 1-3 lecture

Grade Mode: Standard Letter-S/U

CS 89098     RESEARCH      1-15 Credit Hours

(Repeatable for credit) Satisfactory/Unsatisfactory (S/U) graded. In Progress (IP) mark permissable. Research or individual investigation for doctoral students who have not yet passed their candidacy examinations.

Prerequisite: Doctoral standing.

Schedule Type: Research

Contact Hours: 1-15 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 89191     DOCTORAL SEMINAR      1-2 Credit Hours

(Repeatable for credit) Satisfactory/Unsatisfactory (S/U) graded. In Progress (IP) mark permissable. Seminar for doctoral students to present and discuss computer science related research and academics. Doctoral students are required to take at least 3 credit hours for completion of degree and make at least two presentations of project work or research. Only two credits count towards the doctoral degree.

Prerequisite: Computer Science (CS) major within the Doctor of Philosophy (PHD) degree.

Schedule Type: Seminar

Contact Hours: 1-2 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 89199     DISSERTATION I      15 Credit Hours

(Repeatable for credit)Doctoral dissertation, for which registration in at least two semesters is required, first of which will be semester in which dissertation work is begun and continuing until the completion of 30 hours.

Prerequisite: Special approval and doctoral standing.

Schedule Type: Dissertation

Contact Hours: 15 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 89299     DISSERTATION II      15 Credit Hours

(Repeatable for credit)Continuing registration required for doctoral students who have completed the initial 30 hours of dissertation and continuing until all degree requirements are met.

Prerequisite: CS 89199 and doctoral standing.

Schedule Type: Dissertation

Contact Hours: 15 other

Grade Mode: Satisfactory/Unsatisfactory-IP

CS 89991     RESEARCH SEMINAR IN COMPUTER SCIENCE      1-3 Credit Hours

(Repeatable for credit)Research seminar on current research in computer science.

Prerequisite: Special approval; doctoral standing.

Schedule Type: Seminar

Contact Hours: 1-3 other

Grade Mode: Standard Letter-S/U