cs1003
Computer Literacy. For students with little or no personal computer
skills. Use Internet and productivity software such as word processing,
spreadsheets, databases, and presentation software.
cs1103
(A) Computer Programming. Lab 2. Prerequisite: MATH 1513 or
equivalent. 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. Course is not
intended for Computer Science majors.
cs1113
------ Honors section (A) Computer Science I. Prerequisite: MATH 1513 or equivalent.
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, good programming
practice. Elementary methods of searching and sorting. Use of operating
system commands and utilities.
cs2133
Computer Science II. Prerequisites: CS 1113. Recursive
algorithms, intermediate methods of searching and sorting.
Mathematical analysis of space and time complexity, worst case, and
average case performance.
cs2301
FORTRAN 77 Programming. Lab 2. Prerequisite: Another programming
language. FORTRAN 77 control structures, arrays, subroutines, functions,
input/output.
cs2331
SAS Programming. Prerequisite: Another programming class. SAS as a
general purpose programming language. Data representation, input/output,
use of built-in procedures, report generation.
cs2351
UNIX Programming. Lab 2. Prerequisite: Another programming class. The
UNIX programming system. The programming environment. The UNIX file
system and the shell. Use of pipes and filters.
cs2432
The C Programming Language. Prerequisite: Another programming class.
C programming language types, operators, expressions, control flow,
functions, structures, pointers, arrays, UNIX interface.
Back to Top
cs3030
Industrial Practice in Computer Science. 1-6 credits, maximum 12.
Prerequisites: CS 3443, MATH 2144, junior standing, consent of
departmental adviser. Applied computing in industry. Topics vary with
cooperating employers. Written reports will be specified by adviser.
cs3363 ------
Tulsa section
Organization of Programming Languages. Prerequisites: CS 2133, CS
3443. Programming language constructs. Run time behavior of programs.
Language definition structure. Control structures and data flow
programming paradigms.
cs3373
Object-oriented Programming and Visual C++. Prerequisite: CS 2133 and
2432 or consent of instructor. Elements of the object model.
Object-oriented design methods. Message passing and the inheritance
hierarchy. Operator overloading. An overview of contemporary
object-oriented languages. C++ programming using Visual C++. Practical
application of object-oriented techniques.
cs3423
File Structures. Prerequisite: CS 2133. Basic physical
characteristics of peripheral storage devices. File organization and
processing methods for sequential, direct, indexed, tree structured and
inverted files. Application of data structure concepts to logical and
physical file organization: Performance analysis. Elements of advanced
data base systems.
cs3443
Computer Systems. Prerequisite: CS 2133. 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.
cs3513
Numerical Methods for Digital Computers. Prerequisites: MATH 2144,
and knowledge of another programming language. Errors, floating point
numbers and operations, interpolation and approximation, solution of
nonlinear equations and linear systems, acceleration methods, numerical
differentiation and integration.
cs3613
Theoretical Foundations of Computing. Prerequisites: 2133, 3653.
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.
cs3653
Discrete Mathematics for CS. Prerequisite: MATH 2144. 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.
Back to Top
cs4113
Techniques of Computer Science for
Science and Engineering. Prerequisites: one year of calculus and
senior or graduate standing. For graduate and advanced
undergraduate students requiring a one-semester treatment of computer
topics. No background in computing topics assumed.
Comprehensive treatment of the FORTRAN programming language with
emphasis on numerical applications. Number systems, finite
arithmetic, iterative processes, program structuring, numerical methods,
program libraries are covered. This is a WEB based course only.
cs4143*
Computer Graphics. Prerequisites: CS 2133, MATH 2144. 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.
cs4154 (was 5154)
Computer Science Migration. Lab 2. Prerequisite: graduate standing. A
survey of computer science for students whose undergraduate major was
not computer science. Programming in high-level languages. Programming
in assembly language. Algorithm design and analysis. Computer system
fundamentals. Fundamental data structures.
cs4273*
Software Engineering. Prerequisites: CS 2133, CS 3653, CS 3443
or ECEN 3213. 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.
cs4283*
Computer Networks. Prerequisites: CS 2133, CS 3443 or ECEN 3213; UNIX
knowledge. 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.
cs4323
Design and Implementation of Operating Systems I. Prerequisites: CS
2133, CS 3653, CS 3443 or ECEN 3213. 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.
cs4343
Data Structures and Algorithm Analysis I. Prerequisite: CS 2133,
3653. Storage, structures, data and information structures, list
processing, trees and tree processing, graphs and graph processing,
searching, sorting.
cs4443*
Compiler Writing I. Prerequisites: CS 2133, CS 3443. Syntax and
semantics of procedure-oriented languages and theory of translation
techniques used in their compilation. Study of languages for particular
application areas, including nonalgebraic languages.
cs4570*
Special Topics in Computing. 1-3 credits, maximum 5. 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.
cs4793
Artificial Intelligence 1. Prerequisites: 2133, 3653.
Broad coverage of core artificial intelligence (AI) topics, including
search-oriented problem solving, knowledge representations logical
inference, AI languages, history, and philosophy of AI.
cs4883-sunny
Social Issues in Computing Sciences. Prerequisites: senior standing.
Social implications of computer use 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.
cs4883-marcin
Social Issues in Computing Sciences. Prerequisites: senior standing.
Social implications of computer use 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.
cs4993
Senior Honors Project. Prerequisites: departmental invitation, senior
standing, Honors Program participation. 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.
Back to Top
cs5000*
Research and Thesis. 1-6 credits, maximum 6. Prerequisite: consent of
major professor. A student studying for a master's degree who elects to
write a thesis or a report must enroll in this course.
cs5013*
Linear Programming. Prerequisites: MATH 3013 or IEM 4014; FORTRAN.
Simplex algorithm to solve deterministic linear optimization models
considering maximization and minimization objectives; degeneracy,
alternative optima and no feasible solutions. Revised simplex
procedures. Duality theory, economic interpretations, dual simplexing
and complementary pivoting. Sensitivity analysis and parametric
programming. Special cases of linear optimization problems and
underlying mathematical foundations. Large-scale models including
computational considerations. Same course as IEM 5013.
cs5030*
Professional Practice. 1-9 credits, maximum 9. Prerequisites:
graduate standing in computer science, consent of the department head.
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.
cs5070*
Seminar and Special Problems. 1-6 credits, maximum 6. Prerequisite:
consent of instructor. Designed to allow students to study advanced
topics not provided in existing courses.
cs5113
Computer Organization and Architecture. Prerequisite: 3443. Computer
architecture, computer control, microprogrammed control, addressing
structures, memory hierarchies, hardware description languages, specific
architectures, hardware simulation, emulation.
cs5253*
Digital Computer Design. Prerequisite: ECEN 3223. 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.
cs5273*
Advanced Software Engineering. Prerequisite: CS 4273. Continuation of
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.
cs5283*
Computer Network Programming. Prerequisite: CS 4283. Detailed
technical concepts related to computer and telecommunications software
development. Client-server programming using various application program
interfaces, including STREAMS, the Transport Layer Interface (TLI), and
Berkeley Sockets. Application development using TCP/IP protocols.
cs5313*
Formal Language Theory. Prerequisite: CS 3613. 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.
cs5323*
Design and Implementation of Operating Systems II. Prerequisite: CS
4323. 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.
cs5333*
Compiler Writing II. Prerequisite: CS 4443. Continuation of CS 4443.
Theory and practice of compiler writing techniques. Compiler writing
systems. A formal approach to computer languages.
cs5363*
Advanced Organization of Programming Languages. Prerequisite: CS
3363. 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.
cs5373*
Object-oriented Programming for Telecommunications. Prerequisites: CS
4343 and working knowledge of C programming. Object-oriented design
methodology. Message passing, inheritance and operator overloading.
Contemporary distributed object-oriented programming using C++.
Practical applications of object-oriented techniques in
telecommunications.
cs5413*
Data Structures and Algorithm Analysis II. Prerequisite: CS 4343.
Data structures and their application in recursive and iterative
algorithms. Static and dynamic data structure representations and
processing algorithms. Dynamic and virtual storage management.
cs5423*
Information Organization and Retrieval. Prerequisites: CS 3423, CS
4343. Storage, classification and retrieval of information, data bases,
errors, multi-key files, indexing; dynamics of file reorganization,
search strategies.
cs5433*
Multi-level Storage Processing for Data Bases. Prerequisites: CS
3423, CS 4343. Overview of relational database management systems
(DBMS), Distributed DBMS architecture, Distributed database design.
Overview of query processing, Introduction to transaction management,
distributed concurrency control, SQL server.
cs5513*
Numerical Analysis I. Prerequisite: CS 4513 or MATH 4513. Algorithms
and error analysis; solution of equations; interpolation and
approximation theory.
cs5543*
Numerical Analysis for Differential Equations. Prerequisites: CS 4513
or MATH 4513 and 4233. Advanced machine computing, algorithms, analysis
of truncation and rounding errors, convergence and stability applied to
discrete variable, finite element, and spectral methods in ordinary and
partial differential equations. Same course as MATH 5543.
cs5553*
Numerical Analysis for Linear Algebra. Prerequisites: MATH CS 3013
and CS 4513 or MATH 4513. Advanced machine computing, algorithms,
analysis of rounding errors, condition, convergence, and stability
applied to direct and iterative solution of linear systems of equations,
linear least squares problems, including LU and QR factorization,
conjugate gradients, QR algorithm, and Lanczos method. Same course as
MATH 5553.
cs5653*
Automata and Finite State Machines. Prerequisite: CS 5313.
Sequential machines and automata. Hierarchy of recognizers.
Decision problems and closure properties. Finite and infinite
state machines. Cellular and stochastic automata. Coverings
of Automata.
cs5663*
Computability and Decidability. Prerequisite: CS 5313.
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.
cs5793*
Artificial Intelligence II. Prerequisite: 4793.
Advance knowledge representation and expert system building, including
reasoning under uncertainty. Projects may include applications to
planning, intelligent agents, natural language processing, robotics, and
machine learning. Common lectures with ECEN 5293, IEM 5933,
and MAE 5793.
Back to Top
cs6000*
Research and Dissertation. 2-15 credits, maximum 30. Prerequisites:
graduate standing and approval of advisory committee. Independent
research under the direction of a member of the graduate faculty. For
students working toward a Ph.D. degree.
cs6023*
Nonlinear and Integer Optimization. Prerequisites: CS 5013 or IEM
4014; FORTRAN or PASCAL. Theoretical and practical aspects of nonlinear
and integer optimization. Development and application of nonlinear
optimization techniques for unconstrained and constrained problems;
sequential search, gradient, penalty and barrier, and projection
methods. Development and application of integer and mixed integer
techniques for unconstrained and constrained problems; implicit
numeration, branch and bound, and cutting methods. Same course as IEM
6023.
cs6240*
Advanced Topics in Computer Organization. 2-6 credits, maximum 12.
Prerequisites: CS 5113 and CS 5253. Structure and organization of
advanced computer systems, parallel and pipeline computers, methods of
computation, alignment networks, conflict-free memories, bounds on
computation time.
cs6253*
Advanced Topics in Computer Architecture. Prerequisite: CS 5253 or
ECEN 5253. 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.
cs6300*
Advanced Topics in Programming Languages. 2-6 credits, maximum 12.
Prerequisite: CS 5313. 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.
cs6350*
Advanced Topics in Operating Systems. 2-6 credits, maximum 12.
Prerequisite: CS 5323. Design and analysis of operating systems.
Concurrent processes, server scheduling, models of auxiliary storage,
memory management, virtual systems, performance algorithms. May be
repeated with a change in topics.
cs6400*
Advanced Topics in Information Systems. 2-6 credits, maximum 12.
Prerequisites: CS 5413, CS 5423. Design and analysis of data bases and
other information systems. Hierarchical, network, and relational
systems; implementation of data base systems; update and retrieval
algorithms; multi-user and security access mechanisms; distributed data
base systems. May be repeated with change of topics.
cs6500*
Advanced Topics in Numerical Analysis. 2-6 credits, maximum 12.
Prerequisites: CS 5543, CS 5553. 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.
cs6600*
Advanced Topics in Analysis of Algorithms. 2-6 credits, maximum 12.
Prerequisite: CS 5413. 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.
cs6623*
Algebraic Structures of Formal Grammars. Prerequisites: CS 5313, CS
5653. Context-free languages, Kleene languages, Dyck languages,
context-sensitive languages
Back to Top
|