Computer Science (CS)

CS 1003 Computer Proficiency

Description: For students with minimal personal computer skills. Use of Internet and productivity software such as word processing, spreadsheets, databases, and presentation software. The ability to log on to a personal computer, access the OSU network, and access OSU Web sites is assumed. Previously offered as CS 1002.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 1013 Computer Science Principles

Description: Computing as a creative human activity, abstraction to reduce detail and focus on concepts relevant to understanding and solving problems, describing data and information to facilitate the creation of knowledge, discuss algorithms as tools for developing and expressing solutions to computational problems, use programming is a creative process that produces computational artifacts; and discuss digital devices, systems, and the networks that interconnect them.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 1103 Computer Programming

Prerequisites: MATH 1513 or equivalent.

Description: Introduction to computer programming using a high-level computer language, including subprograms and arrays. Principles of problem solving, debugging, documentation, and good programming practice. Elementary methods of searching and sorting. Not intended for computer science majors. Previously offered as CS 2103.

Credit hours: 3

Contact hours: Lecture: 2 Lab: 2

Levels: Undergraduate

Schedule types: Lab, Lecture, Combined lecture and lab

Department/School: Computer Science

CS 1113 Computer Science I (A)

Prerequisites: MATH 1513 or higher, with a grade of "C" or better.

Description: Introduction to computer science using a block-structured high-level computer language, including subprograms, arrays, recursion, records, and abstract data types. Principles of problem solving, debugging, documentation, and good programming practice. Elementary methods of sorting and searching. Use of operating system commands and utilities. Previously offered as CS 2113.

Credit hours: 3

Contact hours: Lecture: 2 Lab: 2

Levels: Undergraduate

Schedule types: Lab, Lecture, Combined lecture and lab

Department/School: Computer Science

General Education and other Course Attributes: Analytical & Quant Thought

CS 2133 Computer Science II

Prerequisites: CS 1113 with a grade of "C" or better.

Description: Recursive algorithms. Intermediate methods of searching and sorting. Mathematical analysis of space and time complexity, worst case, and average case performance. Course previously offered as CS 3333.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 2351 Unix Programming

Prerequisites: CS 1113 or EET 2303 with a grade of "C" or better.

Description: The UNIX programming system. The programming environment. The UNIX file system and the shell. Use of pipes and filters. Course previously offered as CS 3451.

Credit hours: 1

Contact hours: Lab:

Levels: Undergraduate

Schedule types: Lab

Department/School: Computer Science

CS 2433 C/C++ Programming

Prerequisites: CS 1113 with a grade of "C" or better.

Description: C/C++ programming language types, operators, expressions, control flow, functions, structures, pointers, arrays, UNIX interface. Basic object oriented programming using C++ and the related language syntax and functionality. Previously offered as CS 2432.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 2570 Special Problems in Computer Science

Prerequisites: Consent of instructor and freshman or sophomore standing.

Description: Current topics and applications of computer science. Existing and new topics to computer science. Allows lower-division students to study topics not provided in existing classes. Can be individual study or a class with a new subject. Offered for variable credit, 1-3 credit hours, maximum of 6 credit hours.

Credit hours: 1-3

Contact hours: Other: 1

Levels: Undergraduate

Schedule types: Independent Study

Department/School: Computer Science

CS 3030 Industrial Practice in Computer Science

Prerequisites: CS 3443 and MATH 2144, each with a grade of "C" or better, junior standing, consent of departmental adviser.

Description: Applied computing in industry. Topics vary with cooperating employers. Written reports will be specified by adviser. Basic object oriented programming using C++ and the related language syntax and functionality. Offered for variable credit, 1-6 credit hours, maximum of 9 credit hours.

Credit hours: 1-6

Contact hours: Other: 1

Levels: Undergraduate

Schedule types: Independent Study

Department/School: Computer Science

CS 3363 Organization of Programming Languages

Prerequisites: CS 2133 and CS 3443, each with a grade of "C" or better.

Description: Programming language constructs. Run time behavior of programs. Language definition structure. Control structures and data flow programming paradigms. Previously offered as CS 4363.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 3443 Computer Systems

Prerequisites: CS 2133 with a grade of "C" or better.

Description: Functional and register level description of computer systems, computer structures, addressing techniques, macros, linkage, input-output operations. Introduction to file processing operations and auxiliary storage devices. Programming assignments are implemented in assembly language.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 3513 Numerical Methods for Digital Computers

Prerequisites: MATH 2153 with a grade of "C" or better; MATH 3013 with a grade of "C" or better, or concurrent enrollment; or MATH 3263 with a grade of "C" or better and knowledge of programming.

Description: Errors, floating point numbers and operations, interpolation and approximation, solution of nonlinear equations and linear systems, condition and stability, acceleration methods, numerical differentiation and integration. Course previously offered as CS 3223.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 3570 Special Problems in Computer Science

Prerequisites: Junior standing and consent of instructor.

Description: Existing and new topics to computer science. Allows lower-division students to study topics not provided in existing classes. Can be individual study or a class with a new subject. Offered for variable credit, 1-6 credit hours, maximum of 6 credit hours.

Credit hours: 1-6

Contact hours: Other: 1

Levels: Undergraduate

Schedule types: Independent Study

Department/School: Computer Science

CS 3613 Theoretical Foundations of Computing

Prerequisites: CS 2133 and CS 3653, each with a grade of "C" or better

Description: Introduction to the classical theory of computer science. Sequential machines and their applications to devices, processes, and programming. Models of computation: finite-state automata, push-down automata, Turing machines. The role of non-determinism. Limits of digital computation. Computability and unsolvability. The Church-Turing Thesis.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 3653 Discrete Mathematics for Computer Science

Prerequisites: MATH 2144 with a grade of "C" or better.

Description: Theory and applications of discrete mathematical models fundamental to analysis of problems in computer science. Set theory, formal logic and proof techniques, relations and functions, combinatorics and probability, undirected and directed graphs, Boolean algebra, switching logic.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4143 Computer Graphics

Prerequisites: MATH 2163 with a grade of "C" or better and prior programming experience.

Description: Interactive graphics programming; graphics hardware; geometrical transformation; data structures for graphic representations; viewing in three dimensions; representation of 3D shapes; hidden edge and hidden surface removal algorithms; shading models.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4153 Mobile Applications Development

Prerequisites: CS 2133 or 2433, each with a grade of "C" or better.

Description: The history of mobile apps and their implication on computing in general. Survey of the various platforms and approaches used for mobile apps. Examine the differences between "conventional" programs and mobile apps. Learn tools and techniques to develop mobile apps, and demonstrate proficiency through development assignments.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4173 Video Game Development

Prerequisites: CS 2133, and CS 2433 and MATH 2144, all with a grade of "C" or better.

Description: History of video games. A survey of various game platforms. Computer graphics, audio tools and techniques, and artificial intelligence for game development. Game engines. Game development tools and techniques. An overview of the video game industry from a development perspective.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4183 Video Game Design

Prerequisites: CS 2133 and CS 3653, each with a grade of "C" or better.

Description: Theory and pragmatics of game design including game mechanics, storytelling, and types of game play. The relationship between human/computer interaction and the user experience. A survey of game genres. An overview of the video game industry from a design perspective.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4243 Algorithms and Processes in Computer Security

Prerequisites: CS 3443 with a grade of "C" or better.

Description: Overview of the components of computer and network security. Discussion of external processes required in secure systems, information assurance, backup, business resumption. Detailed analysis of security encryption, protocols, hashing, certification, and authentication. No credit for students with credit in CS 5243.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4273 Software Engineering

Prerequisites: CS 2133, CS 2653 and (CS 3443 or ECEN 3213).

Description: Fundamental characteristics of the software life cycle. Tools, techniques, and management controls for development and maintenance of large software systems. Software metrics and models. Human factors and experimental design. Same course as ECEN 4273.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4283 Computer Networks

Prerequisites: CS 2133 with a grade of "C" or better; and CS 3443 or ECEN 3213 with a grade of "C" or better; UNIX knowledge.

Description: Computer networks, distributed systems and their systematic design. Introduction to the use, structure, and architecture of computer networks. Networking experiments to describe network topology. ISO reference model. Same course as ECEN 4283.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4323 Design and Implementation of Operating Systems I

Prerequisites: CS 2133; and CS 3443 or ECEN 3213; and CS 3653 and CS 4343, all with a grade of "C" or better.

Description: Process activation and process context block. Batch, multi-programmed, and timeshared operating system. Process management, memory management, and synchronization primitives. Deadlock prevention, avoidance, and detection.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4343 Data Structures and Algorithm Analysis I

Prerequisites: CS 2133 and CS 3653, each with a grade of "C" or better.

Description: Storage, structures, data and information structures, list processing, trees and tree processing, graphs and graph processing, searching, and sorting. Previously offered as CS 4344.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4433 Introduction to Database Systems

Prerequisites: CS 2133 with a grade of "C" or better.

Description: An overview of database management systems, entity-relationship model, relational model, structural query language, relational algebra, relational database design with normalization theorems, XML; basic file organization and storage management; elementary e-commerce web application development; database systems and the Internet. Previously offered as CS 3423.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4513 Numerical Mathematics: Analysis

Prerequisites: MATH 2233 and MATH 3013, each with a grade of "C" or better, knowledge of programming or consent of instructor.

Description: Machine computing, algorithms, and analysis of errors applied to interpolation and approximation of functions solving equations and systems of equations; discrete variable methods for integrals and differential equations. Same course as MATH 4513.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4570 Special Topics in Computing

Prerequisites: Honors Program participation, junior standing.

Description: Advanced topics and applications of computer science. Typical topics include operating systems, multiprocessor systems, programming systems or various mathematical and statistical packages. Designed to allow students to study topics not provided in existing courses. Offered for variable credit, 1-3 credit hours, maximum of 5 credit hours.

Credit hours: 1-3

Contact hours: Other: 1

Levels: Graduate, Undergraduate

Schedule types: Independent Study

Department/School: Computer Science

CS 4793 Artificial Intelligence I

Prerequisites: CS 2133 and CS 3653, each with a grade of "C" or better.

Description: Broad coverage of core artificial intelligence (AI) topics, including search-oriented problem solving, knowledge representation, logical inference, AI languages, history and philosophy of AI.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate, Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4883 Social Issues in Computing

Prerequisites: Senior standing and ENGL 3323 or BCOM 3113 or BCOM 3223 with a grade of "C" or better.

Description: The history and evolution of computing systems, providing the background for the analysis of the social impact of computers. The social implications of computer use and or misuse with emphasis on the effects on the individual, society, and other human institutions. Social responsibilities of people involved in using or applying computers.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

CS 4993 Senior Honors Project

Prerequisites: Departmental invitation, senior standing, Honors Program participation.

Description: A guided reading and research program ending with an honors project under the direction of a faculty member, with a second faculty reader and an oral examination. Required for graduation with departmental honors in computing and information science.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Undergraduate

Schedule types: Lecture

Department/School: Computer Science

General Education and other Course Attributes: Honors Credit

CS 5000 Master's Thesis

Prerequisites: Consent of major professor.

Description: Roles and responsibilities of the agricultural education teacher; types of program offerings; steps of the teaching-learning process; place of agricultural education in relation to other educational programs in school systems. Offered for variable credit, 1-6 credit hours, maximum of 6 credit hours.

Credit hours: 1-6

Contact hours: Other: 1

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 5030 Professional Practice

Prerequisites: Graduate standing in computer science, consent of the department head.

Description: Experience in the application of computer science principles to problems encountered in industry and government. Participation in problem solving in the role of junior computer scientist, junior software engineer, or computer science intern. All problem solutions documented. Required written report to the major professor. Offered for variable credit, 1-9 credit hours, maximum of 9 credit hours.

Credit hours: 1-9

Contact hours: Other: 1

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 5033 Parallel Algorithms and Programming

Prerequisites: CS 4343 with a grade of "C" or better, or consent of instructor.

Description: Models of parallel computation, design and analysis of parallel algorithms: fundamental parallel algorithms for selected sorting, arithmetic, and matrix, and graph problems, and applications in science and engineering, message-passing programming, and shared-memory programming.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5070 Seminar and Special Problems

Prerequisites: Consent of instructor.

Description: Designed to allow students to study advanced topics not provided in existing courses. Offered for variable credit, 1-6 credit hours, maximum of 6 credit hours.

Credit hours: 1-6

Contact hours: Other: 1

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 5113 Computer Organization and Architecture

Prerequisites: CS 3443 with a grade of "C" or better.

Description: Computer architecture, computer control, microprogrammed control, addressing structures, memory hierarchies, hardware description languages, specific architectures, hardware simulation, and emulation.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5123 Cloud Computing and Distributed Systems

Prerequisites: CS 3443 and CS 4343, each with a grade of "C" or better.

Description: Cloud computing architecture and models. Usage of Virtual Machines. Distributed systems architecture and models. Using the cloud for big data analytics. Distributed and peer-to-peer computing frameworks. Security

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5173 Video Game Production

Prerequisites: CS 4173 and CS 4183, each with a grade of "C" or better.

Description: The various aspects of video game production and the video game industry will be covered, including technical production and testing, roles and responsibilities of team members, project management, and legal concerns related to video game production. Professionals from the video game industry will be invited to make presentations.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5243 CS Security Algorithms

Prerequisites: CS 3443 with a grade of "C" or better.

Description: Overview of the components of computer and network security. Discussion of external processes required in secure systems, information assurance, backup, business resumption. Detailed analysis of security encryption, protocols, hashing, certification, and authentication. No credit for students with credit in CS 4243.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5253 Digital Comp Design

Prerequisites: ECEN 3223 with a grade of "C" or better.

Description: Analysis and design of digital computers. Arithmetic algorithms and the design of the arithmetic/logic unit (ALU). Serial and parallel data processing; control and timing systems; microprogramming; memory organization alternatives; input/output interfaces. Same course as ECEN 5253.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5263 Quantum Computing

Prerequisites: Graduate standing.

Description: The main theory of quantum information science and its applications to communications, computing and cryptography. Topics include introduction to quantum mechanics, quantum gates, circuits, entropy, cryptographic schemes, and implementations. Current technology in support of quantum processing will be reviewed.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5273 Advanced Software Engineering

Prerequisites: CS 4273 with a grade of "C" or better..

Description: Continuation of CS 4273. Formal methods for software design and development. Static analysis. Emerging design and development approaches. Model checking and model-based software reuse. Component-based software engineering and software repositories. Same course as ECEN 5273.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5283 Computer Network Programming

Prerequisites: CS 4283 with a grade of "C" or better.

Description: Detailed technical concepts related to Internet and multimedia, high speed LANS, high speed transport protocols, MPLS, multicasting, Int. serv/Diff serv, Router Buffer management, self-similar traffic, and socket programming.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5313 Formal Language Theory

Prerequisites: CS 3613 with a grade of "C" or better.

Description: Formal language theory applied to procedure oriented languages. Application of finite state algorithms to lexical analysis. Chomsky hierarchy of languages. Generation, recognition, and closure properties of languages.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5323 Design and Implementation of Operating Systems II

Prerequisites: CS 4323 with a grade of "C" or better.

Description: Task systems and concurrent programming, synchronization, and inter process communication. Theoretical investigation of resource sharing and deadlock, memory management, strategies,and scheduling algorithms, queuing theory, distributed operating systems. System accounting, user services and utilities.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5363 Advanced Organization of Programming Languages

Prerequisites: CS 3363 with a grade of "C" or better.

Description: Continuation of CS 3363, mathematical theory of computer language organization functional programming. Parallelism in languages. Mathematics of control structures and data structures. Applicative languages. Symbolic languages.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5373 Advanced Object-Oriented Programming for Windowing Environments

Prerequisites: For CS students: CS 2133 and CS 2433, each with a grade of "C" or better. For TCOM students: CS 4343 with a grade of "C" or better and a working knowledge of C++.

Description: Applying the object-oriented computing model to the design and development of software for windowing environments. Effective use of Graphical User Interfaces (GUIs), the Internet, data interchange principles and related topics. No credit for students with credit in CS 3373.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5413 Data Structures and Algorithm Analysis II

Prerequisites: CS 4343 with a grade of "C" or better.

Description: Data structures and their application in recursive and iterative algorithms. Static and dynamic data structure representations and processing algorithms. Dynamic and virtual storage management.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5423 Principles of Database Systems

Prerequisites: CS 4343 and CS 4433 or equivalent, all with a grade of "C" or better.

Description: An overview of database management systems, entity-relationship model, relational model, structural query language, relational algebra, relational database design with normalization theorems, database integrity constraints, and principles of database systems with the Internet.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5433 Big Data Management

Prerequisites: CS 5423 or CS 4283 or CS 5283, with a grade of "C" or better.

Description: Distributed DBMS design and architecture, distributed query processing, transaction managemant, distributed concurrency control, data storage and processing for big data, Map-Reduce model for big data processing within the Hadop software framework big data warehouse for summarization, query and analysis using Hive, NoSQL databases, NoSQL datahase querying.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5513 Numerical Computation

Prerequisites: MATH 2233 with a grade of "C" or better; and MATH 3013 or MATH 3263 or equivalent courses with a grade of "C" or better; CS 3513 or MATH 4513 or an equivalent course with a grade of "C" or better; a knowledge of computer programming.

Description: Errors in machine computation; condition of problems and stability of algorithms; interpolation and approximation; nonlinear equations; linear and nonlinear systems; differentiation and integration; applications to modeling, simulation, and/or optimization.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5653 Automata and Finite State Machines

Prerequisites: CS 5313 with a grade of "C" or better.

Description: Sequential machines and automata. Hierarchy of recognizers. Decision problems and closure properties. Finite and infinite state machines. Cellular and stochastic automata. Coverings of automata.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5663 Computability and Decidability

Prerequisites: CS 5313 with a grade of "C" or better.

Description: Primitive and partial recursive functions. Equivalence of models of computation. The Halting problem and undecidability. Reducing one problem to another or representation change. Tractability and the P-NP problem. Complexity hierarchies.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5793 Artificial Intell II

Prerequisites: CS 4793 with a grade of "C" or better.

Description: Advance knowledge representation and expert system building, including reasoning under uncertainty. Applications to planning, intelligent agents, natural language processing, robotics, and machine learning.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5813 Principles of Wireless Networks

Prerequisites: CS 4283 or ECEN 4283, with a grade of "C" or better.

Description: Wireless network operation, planning, mobility management, cellular and mobile data networks based on CDMA, TDMA, GSM, IEEE 802-11 WLANS, Adhoc networks, Bluetooth, power management, wireless geolocation and indoor positioning techniques. Same course as ECEN 5563.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 5823 Network Algorithmics

Prerequisites: CS 4283 and CS 4323, with a grade of "C" or better.

Description: Discusses principles of efficient network implementation-router architecture, end node architecture, data copying, timer maintenance, demultiplexing, forwarding table, lookups, switching, scheduling, IP traceback.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 6000 Doctoral Dissertation

Prerequisites: Graduate standing and approval of advisory committee.

Description: Graduate standing and approval of advisory committee. Independent research under the direction of a member of the graduate faculty. For students working toward a PhD degree. Offered for variable credit, 2-15 credit hours, maximum of 40 credit hours.

Credit hours: 2-15

Contact hours: Other: 2

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 6210 Advanced Topics in Parallel and Distributed Systems

Prerequisites: CS 5113 with a grade of "C" or better.

Description: The state-of-the-art of parallel and distributed systems. Design, implementation, and analysis of parallel and distributed system architectures, protocols, and algorithms. Resource management, scheduling, and coordination. Internet-scale systems, middleware and services, virtualization, and distributed operating systems. Parallel and distributed programming paradigms: message-passing, shared memory, data-intensive, high performance, high throughput. Offered for variable credit, 2-6 credit hours, maximum of 12 credit hours.

Credit hours: 2-6

Contact hours: Other: 2

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 6240 Advanced Topics in Computer Organization

Prerequisites: CS 5113 and CS 5253, each with a grade of "C" or better.

Description: Structure and organization of advanced computer systems, parallel and pipeline computers, methods of computation, alignment networks, conflict-free memories, and bounds on computation time. Offered for variable credit, 2-6 credit hours, maximum of 12 credit hours.

Credit hours: 2-6

Contact hours: Other: 2

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 6253 Advanced Topics in Computer Architecture

Prerequisites: CS 5253 or ECEN 5253, with a grade of "C" or better.

Description: Innovations in the architecture and organization of computers, with an emphasis on parallelism. Topics may include pipelining, multiprocessors, data flow, and reduction machines. Same course as ECEN 6253.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 6300 Advanced Topics in Programming Languages

Prerequisites: CS 5313 with a grade of "C" or better.

Description: Interpreter models of programming language semantics, Vienna definition language, lambda calculus, LISP definition; Knuth semantic systems and their formulation, translational and denotational semantics. May be repeated with change of topics. Offered for variable credit, 2-6 credit hours, maximum of 12 credit hours.

Credit hours: 2-6

Contact hours: Other: 2

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 6350 Advanced Topics in Operating Systems

Prerequisites: CS 5323 with a grade of "C" or better.

Description: Design and analysis of operating systems. Concurrent processes, server scheduling, models of auxiliary storage, memory management, virtual systems, and performance algorithms. May be repeated with a change in topics. Offered for variable credit, 2-6 credit hours, maximum of 12 credit hours.

Credit hours: 2-6

Contact hours: Other: 2

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 6400 Advanced Topics in Information Systems

Prerequisites: CS 5413 and CS 5423, each with a grade of "C" or better.

Description: Principles of distributed database systems. Overview of relational database management systems (DBMS) and computer networks, distributed DBMS architecture, distributed database design, distributed concurrency control, query processing and distributed DBMS reliability. Offered for variable credit, 2-6 credit hours, maximum of 12 credit hours.

Credit hours: 2-6

Contact hours: Other: 2

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 6500 Advanced Topics in Numerical Analysis

Prerequisites: MATH 5513 or CS 4513 with a grade of "C" or better, or MATH 4513 with a grade of "C" or better and consent of instructor.

Description: Systems of nonlinear equations, nonlinear least squares problems, iterative methods for large systems of linear equations, finite element methods, solution of partial differential equations. May be repeated with change of topics. Offered for variable credit, 2-6 credit hours, maximum of 12 credit hours.

Credit hours: 2-6

Contact hours: Other: 2

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 6600 Advanced Topics in Analysis of Algorithms

Prerequisites: CS 5413 with a group of "C" or better.

Description: Analysis of various algorithms. Sorting, searching, computational complexity, lower bounds for algorithms; NP-hard and NP-complete problems; parallel algorithms; proof of correctness of algorithms. May be repeated with change of topics. Offered for variable credit, 2-6 credit hours, maximum of 12 credit hours.

Credit hours: 2-6

Contact hours: Other: 2

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 6620 Advanced Topics in Applied Algorithms

Prerequisites: CS 4343 with a grade of "C" or better or consent of instructor.

Description: Recent advances in the design and analysis of data structures and algorithms for real-world applications in diverse problem domains. Problem domain designated for the course will differ in each offering and with instructor's interests. Core topics include mathematical modeling of complex applied problems, and studies of relevant fundamental algorithmic techniques and their experimental analysis on real datasets. Offered for 3 fixed credit hours, maximum of 6 credit hours.

Credit hours: 3

Contact hours: Lecture: 3

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science

CS 6623 Algebraic Structures of Formal Grammars

Prerequisites: CS 5313 and CS 5653; all with a grade of "C" or better.

Description: Context-free languages, Kleene languages, Dyck languages, context-sensitive languages; use of algebraic systems to define languages; linear bounded automata.

Credit hours: 3

Contact hours: Other: 3

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 6700 Advanced Topics in Artificial Intelligence

Prerequisites: CS 5793 with a grade of "C" or better, or consent of instructor.

Description: Machine learning; computer perception and robotics; logic programming; natural language understanding; intelligent agents; medical informatics. May be repeated with change of topics. Offered for variable credit, 2-6 credit hours, maximum of 12 credit hours.

Credit hours: 2-6

Contact hours: Other: 2

Levels: Graduate

Schedule types: Independent Study

Department/School: Computer Science

CS 6800 Advanced Topics in Computing Networks

Prerequisites: CS 5283 with a grade of "C" or better; Graduate standing in Computer Science; consent of instructor.

Description: Large scale embedded networks, deep-space networking, ubiquitous computing, optical networking, Next Generation Internet. May be repeated with change of topics. Offered for variable credit, 2-12 credit hours, maximum of 12 credit hours.

Credit hours: 2-12

Contact hours: Lecture: 2

Levels: Graduate

Schedule types: Lecture

Department/School: Computer Science