|
Courses in this section are grouped as follows: Mathematics, Computer Science, and Probability and Statistics. Skip to Computer Science
*Mathematics 50 and 151 fulfill this requirement only for students seeking the B.S. in education degree in Early Childhood Education, Elementary Education, and Special Education. 100 Basic Calculus (3) Prerequisite: Math 30, or a satisfactory ACT Math score, or a satisfactory score on the university's mathematics proficiency examination. Introduction to plane analytic geometry and basic differential and integral calculus with application to various areas. No credit for Mathematics majors. Credit not granted for both Math 80 and 100. 102 Finite Mathematics I (4) Prerequisite: Math 30, or a satisfactory ACT Math score, or a satisfactory score on the university's proficiency examination. Introductory logic and set theory, partitions and counting problems, elementary probability theory, stochastic processes, Markov chains, vectors and matrices, linear programming, and game theory. 105 Basic Probability and Statistics (3) Prerequisites: Math 30, or a satisfactory ACT Math score, or a satisfactory score on the university's mathematics proficiency examination. An introduction to probability and statistics. Topics include the concept of probability and its properties, descriptive statistics, discrete and continuous random variables, expected value, distribution functions, the central limit theorem, random sampling and sampling distributions. Credit not granted for more than one of Stat 31, Stat 132 and Math 105. 132 Applied Statistics I See Statistics 132 in Probability and Statistics section that follows. 151 Structure of Mathematical Systems II (3) Prerequisite: Math 50. An introduction to probability and statistics. An intuitive study of elementary geometry. Introduction to the deductive theory of geometry and to coordinate geometry. Credit will be granted only toward the B.S. in education degree in Early Childhood Education, Elementary Education, and Special Education. 175 Analytic Geometry and Calculus II (5) Prerequisite: Math 80. Selected topics from plane analytic geometry and calculus. 180 Analytic Geometry and Calculus III (5) Prerequisite: Math 175. Solid analytic geometry and selected topics in calculus. .202 Introduction to Differential Equations (3) Prerequisite: Math 180. Topics will be chosen from linear differential equations, equations with constant coefficients, Laplace transforms, power series solutions, systems of ordinary differential equations. 245 Elementary Linear Algebra (3) Prerequisites: Math 100 or 175. An introduction to linear algebra. Topics will include complex numbers, geometric vectors in two and three dimensions and their linear transformations, the algebra of matrices, determinants, solutions of systems of equations, eigenvalues and eigenvectors. 255 Discrete Structures (3) Prerequisite: Math 175 or 100, and CS 125 or equivalent. (Same as CS 255) Treats fundamental ideas in discrete structures and serves as a foundation for subsequent course in both Mathematics and Computer Science. Provides an introduction to techniques of mathematical reasoning with examples derived from computer science. Topics include logic, set algebra, equivalence relations and partitions, functions, mathematical induction, elementary number theory, cardinality, recurrence relations, basic combinatorial methods, trees and graphs. Credit not granted for more than one of CS 255, Math 250, and Math 255. .303 Applied Mathematics I (3) Prerequisites: Math 202 and 245. Topics chosen from Fourier series, special functions, partial differential equations, and boundary value problems. 306 Applied Differential Equations (3) Prerequisite: Math 202 and 245. The study of ordinary differential equations and partial differential equations is continued with applications in such areas as physics engineering and biology. 310 Advanced Calculus I (3) Prerequisite: Math 255 and 180. Limits, continuity, and differentiability of functions of one and several variables, sequences and series, and the Riemann Stieltjes integral. 311 Advanced Calculus II (3) Prerequisite: Math 310. Continuation of Math 310. 316 Functions of a Complex Variable (3) Prerequisite: Math 202 or both CS/Math 255 and Math 180. Complex numbers and their geometrical representation, point sets, analytic functions of a complex variable, complex integration, Taylor and Laurent series, residue theorem, conformal mapping. 320 Mathematical Statistics I (3) (Same as Statistics 320) See Statistics 320 Probability and Statistics section that follows. 321 Mathematical Statistics II (3) (Same as Statistics 321) See Statistics 321 in Probability and Statistics section that follows. 323 Numerical Analysis I (3) Prerequisites: Math 202, 245, and ability to program in an upper-level language. Solutions of equations, interpolation and approximation, numerical differentiation and integration, and numerical solution of initial value problems in ordinary differential equations. Selected algorithms will be programmed for solution on computers. 324 Numerical Analysis II (3) Prerequisite: Math 323 or consent of instructor. Topics chosen from: the numerical solution of systems of linear equations; the eigenvalue/eigenvector problem; numerical solution of Partial Differential Equations (PDE); numerical solution of stiff Ordinary Differential Equations (ODE); boundary value problems; sparse matrix methods; approximation theory; optimization theory; digital filters; integral equations. 335 Theory of Numbers (3) Prerequisite: CS/Math 255 and Math 180 or consent of instructor. Properties of integers, multiplicative functions, congruences, primitive roots, and quadratic residues. 340 Introduction to Abstract Algebra I (3) Prerequisite: CS/Math 255 and Math 180 or consent of the department. Introduction to groups, rings, and fields, with emphasis on groups and rings. 341 Introduction to Abstract Algebra II (3) Continuation of Math 340 with emphasis on fields. 345 Linear Algebra (3) Prerequisites: CS/Math 255, Math 180 and Math 245. Topics selected from vector spaces, bases, linear transformations, matrices, canonical forms, eigenvalues, hermitian and unitary matrices, inner product spaces, and quadratic forms. 350 Special Readings (1-10) Prerequisites: CS/Math 255, Math 180 and consent of instructor. 355 Combinatorics (3) Prerequisite: CS/Math 255 and Math 180. Advanced counting methods are introduced, including the use of generating functions for the solution of recurrences and difference equations. Additional topics may include: graphs and trees, combinatorial designs, combinatorial games, error-correcting codes, and finite-state machines. 362 Projective Geometry (3) Prerequisites: CS/Math 255, Math 180 and Math 245. Analytic approach to the study of projective spaces. Theorems of Desargues, Pascal, and Brianchon. Projective properties of conics. 364 Introduction to Differential Geometry (3) Prerequisite: CS/Math 255 and Math 180. Geometry of curves and surfaces in Euclidean three-space. Calculus on a surface. Intrinsic geometry of surfaces. 366 Foundations of Geometry (3) Prerequisite: CS/Math 255 and Math 180 or consent of department. A development of portions of Euclidean geometry from a selected set of axioms, including a discussion of consistency, independence, categoricity, and completeness of the axioms. 367 Introduction to Non-Euclidean Geometry (3) Prerequisite: CS/Math 255 and Math 180 or consent of the department. A summary of the history of the non-Euclidean geometries and a study of hyperbolic plane geometry. 380 Introduction to Topology (3) Prerequisite: CS/Math 255 and Math 180 or consent of the department. A study of topological spaces, including the concepts of limit, continuity, connectedness, compactness, etc. Special emphasis placed on, and examples taken from, the space of real numbers. 389 Topics in Mathematics (3) Prerequisite: Consent of instructor. A seminar on special topics in mathematics to be determined by the interests of the instructor. May be repeated for credit provided different topics are studied. .402 Classical Applied Mathematics (3) Prerequisites: Math 310, 316, and 345 or consent of instructor. The course gives the deriviation of equations of mathematical physics such as Navier-Stokes' equations, Euler's equations, equations of elastic materials, and equations of electrodynamics, using scaling and conservation principles. The course also includes elements of the calculus of variations, the Euler-Lagrange equations and Hamiltonian theory. 403 Topics in Applied Mathematics (3) Prerequisite: Consent of instructor. The course will cover various advanced topics in applied mathematics, and can be taken more than once for credit. Examples of such topics are: Fast transforms, digital filters, etc. 404 Topics in Computation (3) Prerequisite: Consent of instructor. The course will cover various advanced topics in computation and can be taken more than once for credit. Examples of such topics are: computer graphics, computer architecture, theories of language, analysis of operating systems, numerical geometry and computer aided design, etc. 405 Computational Curves and Surfaces (3) Prerequisite: Math 310, 323 and 345, or consent of instructor. Construction of curves and surfaces using subdivision algorithms. Iterative refinement of discrete data in an easily programmable manner. Discussion of issues of convergence, shape control, relation to spline functions with uniform knots, multi resolution analysis, and wavelets. 406 Computational Harmonic Analysis (3) Prerequisites: Math 303, Math 310, and Math 345. The course covers the basic of Fourier analysis and wavelet analysis. Topics include Fourier transforms and series, discrete Fourier transform, discrete cosine transform ad their fast computational schemes, fast wavelet transform, and the lifting scheme. Additional topics include industrial standards for image compression and several aspects of signal processing. 407 Time-Frequency Analysis (3) Prerequisites: Math 406. The course covers theoretical and practical aspects of several time-frequency methods. Included are linear transformations such as filtering, Zak, Gabor and wavelet transforms; bilinear transformations include the Winger-Ville distribution and other distributions of Cohen's class. Statistical methods of feature extraction and applications to signal compression are outlined as well. 408 Advances in Wavelet Analysis (3) Prerequisite: Math 406. The course describes recent developments in several research areas connected with wavelet analysis. Included are frames, wavelet vectors, wavelet packets, wavelets on compact intervals and manifolds, adaptive (nonlinear) methods, and methods of computational physics. Applications include the sparsification of matrices, denoising and compression of signals. 410 Theory of Functions of a Real Variable (3) Prerequisites: Math 310 and 380. The real number system, properties of functions of one or more real variables, mapping theorems. Introduction to measure and integration theory. 411 Differentiable Manifolds (3) Prerequisites: Math 310, 345, and 380. An introduction to smooth manifolds and maps. Topics will include the Implicit Function Theorem, Sard's Theorem, transversality, intersection and degree theory, differential forms and integration on manifolds. 416 Functions of a Complex Variable (3) Prerequisites: Math 310, 316, and 380. Complex numbers, topology of the complex plane, analytic functions, conformal mappings, Taylor series, Laurent series, complex integration, residues, analytic continuation, representation of analytic functions, elliptic functions, normal families, Riemann theorem, majorization. 418 Topics in Analysis (3) Prerequisite: Consent of instructor. Topics selected from the areas of Fourier analysis, harmonic analysis, Hilbert spaces, Banach algebras, special functions, generalized functions, partial differential equations. May be taken more than once for credit with consent of department. 420 Probability Theory (3) Prerequisite: Math 410 (may be taken concurrently). Combinatorial analysis, random walks, stochastic independence, random variables, laws of large numbers, generating functions, and branching processes. 423 Topics in Numerical Analysis (3) Prerequisite: Consent of instructor. The course will cover various advanced topics in numerical analysis and can be taken more than once for credit. Examples of such topics are: A.D.I. Techniques for solving p.d.e., finite element techniques, the algebraic eigenvalue problem, the software, etc. 427 Numerical Linear Algebra (3) Prerequisite: Math 323 and Math 345 or consent of the instructor. The course includes solution of general and special linear systems. Techniques include methods (such as splitting or Krylov subspaces). Additional topics are the eigenvalue problem and the method of least squares. 430 Partial Differential Equations (3) Prerequisites: Math 310, 316, 345, and 380. Classification of partial differential equations; Cauchy, Dirichlet, and Neumann problems; the fundamental solution; existence theorems of potential theory; eigenvalue problems; and Tricomi's problem. 432 Applied Statistics (3) Prerequisites: Statistics 321 or consent of instructor. The course studies classical and recently developed statistical procedures selected from areas including analysis of variance, multivariate analysis, nonparametric or semiparametric methods and generalized linear models. Emphasis is on application of procedures, including the rationale underlying choice of procedures. 435 Operations Research-Deterministic Models (3) Prerequisites: Math 345 or equivalent. (Same as MSIS 428). A study of deterministic methods and models in operations research. This course provides an introduction to operations research and focuses on model building, solution and interpretation of results. Topics include formulation, solution, duality and sensitivity analysis in linear programming, integer programming, network flow models, nonlinear optimization, and dynamic programming. 436 Operations Research-Stochastic Models (3) Prerequisites: Stat 320 or equivalent. (Same as MSIS 429). A study of stochastic methods and models in operations research. Provides an introduction to probabilistic models for decision making under uncertainty. Topics include stochastic processes, queuing theory and models, probabilistic inventory theory and models, Markovian decision problems, simulation and reliability. 437 Quality Management (3) Prerequisite: MSIS 481 or Stat 320 or consent of instructor. (Same as MSIS 430.) An applied course on total quality management. Quality improvement approaches are presented and the managerial implications and responsibilities in implementing these approaches are discussed. Topical coverage includes the construction and interpretation of control charts, graphical methods, quality function deployment, robust experiments for product design and improvement, mistake-proofing (poke-yoke), the Deming approach, Baldridge award criteria, quality cost audits, worker empowerment and reward systems. Cases involving both business processes and physical processes are used to illustrate successful quality improvement efforts. 439 Topics in Number Theory (3) Prerequisite: Consent of instructor. Topics selected from elementary, algebraic, analytic, and other branches of number theory. Examples of topics include the distribution of primes, the Riemann Zeta function, averages of arithmetic functions, the theory of partitions, ideal theory, and representations of integers by quadratic forms. 442 Algebra (3) Prerequisites: Math 340 and 345. Basic fundamentals of the theory of groups, rings and fields. 448 Topics in Algebra (3) Prerequisite: Consent of instructor. Topics selected from the theory of groups, rings, fields, algebras, and other algebraic systems. May be taken more than once for credit with consent of department. 450 Directed Readings (1-6) Prerequisite: Consent of instructor. Independent readings at an advanced level. 452 Topics in Advanced Mathematics for the Teacher (3) Prerequisite: Consent of instructor. This course will look at various topics in algebra, analysis, and geometry that will deepen a teacher's understanding of the mathematics of the precollegiate curriculum. It can be taken more than once for credit. 460 Calculus of Variations (3) Prerequisites: Math 202, 310 and 345. Classical functionals, minimization of functionals, Euler-Lagrange equations, appropriate function spaces, weak solutions, existence of solutions, approximation theory, practical applications and finite element approach to solutions will be covered. 470 Functional Analysis (3) Prerequisites: Math 345 and 410. Algebraic and topological tools applied to problems in analysis. The topics chosen will usually include topological vector spaces, metric spaces, Banach spaces, Hilbert spaces, and Banach algebras. 488 Topics in Topology (3) Prerequisite: Consent of instructor. The course will cover topics selected from algebraic or differential topology and may be taken more than once for credit with the consent of the department. 490 Master's Thesis (1-6) Prerequisite: Consent of instructor. Thesis work under the supervision of a faculty member. The course is designed for those students intending to present a thesis as part of their M.A. program. Students who do not write a thesis cannot apply Math 490 to a degree. Computer Science .101 Introduction to Computers and the Internet (3) Prerequisites: Same as for Math 20 and Math 30. Covers basic concepts and components of a PC, including microprocessor, disk, display, multimedia, printers, scanners, backup; survey of popular applications including e-mail, personal information managers, word processors, spreadsheets; brief discussion of computer languages; networking, terminology, methods for accessing information on remote computers; dialup access to computers including use of modems; overview of the Internet, popular browsers, World Wide Web, search engines, FTP, utilities, Hyper Text Markup Language, tools for Web page construction, security, privacy. Credit not granted for both CS 101 and BA 103. 122 Computers and Programming (3) Prerequisite: Math 80 or 100, or a grade of at least B in Math 30. An overview of a computer system is presented. Structured design techniques are considered and applied to the development of computer programs. Aspects of the FORTRAN language will be studied including basic data types, subroutines and functions, arrays, and files. Credit not granted for both BA 104 and CS 122. 125 Introduction to Computing (3) Prerequisite: Math 80 or 100, or a grade of at least B in Math 30. An overview of a computer system is presented. Structured design techniques are considered and applied to the development of computer programs. Aspects of a high level language such as Pascal or C will be studied, including elementary and advanced data types and subprograms. Various features of the UNIX operating system will also be discussed. 170 User Interface Design and Event-Driven Programming with Visual Basic (3) Prerequisite: Computer Science 125 or knowledge of some programming language and consent of the instructor. This course explores programming in Visual Basic for event-driven applications. Design and implementation of graphical user interfaces (GUI) are explored as primary examples. Additional topics may include DDE, OLE, and interactions with databases. .201 An Introduction to Java and Internet Programming (3) Prerequisite: Math 30. Introduces the Java programming language and its use in Internet programming. This course will involve programming assignments in Java and their interface with browsers using applets. Students will also be exposed to the Java's windows toolkit – the AWT. A brief introduction to object-oriented programming concepts will be provided. Other topics will include threads, virtual machines, byte code, and the Java security model. 224 Object Oriented Programming with C++ (3) Prerequisite: Introductory programming course with C. This course introduces object-oriented concepts in programming, including classes, encapsulation, polymorphism, and inheritance. This C++ programming language will be explored, including topics such as exception handling, templates, and dynamic allocation. 225 Programming and Data Structures (3) Prerequisite: CS 125. A continuation of CS 125. Advanced programming techniques including recursion, divide-and-conquer, and backtracking will be considered. A discussion of dynamic data structures such as lists, binary trees, stacks, queues, and symbol tables will be presented. An introduction to modular programming, program specification and verification, and analysis of algorithms will be given. 240 Computer Systems: Architecture and Organization (3) Prerequisite: CS 225. CS 240 and CS 241. Introduces details of computer systems from architectural and organizational points of view. Topics discussed may include data representation, digital logic and basic circuits such as ALU, multiplexers, decoders, flip-flops, registers, RAM and ROM memory, memory hierarchies, I/O devices, pipelining, parallel and RISC architectures, etc. 241 Computer Systems: Programming (3) Prerequisite: CS 240. Continues introduction of computer systems, with assembly programming and its application. Topics covered may include addressing modes, stack manipulations and applications for reentrant and recursive modules, memory interfacing, I/O device interfacing, and serial and parallel communication. 255 Discrete Structures (3) Prerequisites: Math 175 or 100, and CS 125 or equivalent. (Same as Math 255). Treats fundamental ideas in discrete structures and serves as a foundation for subsequent course in both Mathematics and Computer Science. Provides an introduction to techniques of mathematical reasoning with examples derived from computer science. Topics include logic, set algebra, equivalence relations and partitions, functions, mathematical induction, elementary number theory, cardinality, recurrence relations, basic combinatorial methods, trees and graphs. Credit not granted for more than one of CS 255, Math 250, and Math 255. 273 The C Programming Language (3) Prerequisite: CS 225 or the equivalent without C. The C language is introduced together with the associated tools which make up the UNIX C programming environment. The course is project-oriented and a portion of the practical work will involve UNIX systems programming. This course is intended for students who have completed the equivalent of CS 125 and CS 225 but without the C language. It may not be taken for credit if the student has taken CS 225 with C. 275 Advanced Programming Techniques (3) Prerequisite: CS 225. Advances selected topics in C programming. Introduces topics in UNIX, including shell scripts and regular expressions, as well as tools and utilities for program development. Explores object-oriented programming in C++, with concepts such as references, operator overloading, classes and members, inheritance, polymorphism, exception handling, and generic programming with templates and STL (Standard Template Library). 278 Design and Analysis of Algorithms (3) Prerequisites: CS 225, CS/Math 255, Math 245 and Stat 132. Addresses the design and mathematical analysis of fundamental algorithms in computer science. Algorithms studied may involve search, sorting, data compression, string manipulation, graph traversal and decomposition, and algebraic and numeric manipulation. .301 Web Programming Techniques (3) Prerequisites: CS 275. Provides an introduction to Web page development using current techniques (HTML/XML). It also covers programming in Perl, CGI scripting, and Java script. The current Web servers are compared for issues such as comparison, capacity planning, and installation. 302 Java and Internet Programming (3) Prerequisites: CS 301. A projects-oriented course using the Java programming language for Internet programming. The course focuses on current technologies in Java, including (AWI), threads, the java security model, and Beans. Other topics may include sockets, IO Streams, Server-side Java, and Remote Method Invocation. 304 Electronic Commerce Protocols (3) Prerequisites: CS 275 and Math 245. Provides a technical introduction to electronic commerce over the Internet, examining topics such as electronic data interchange, digital currency, and electronic catalogs. The course discusses technical issues such as telecommunications infrastructure, data warehousing, software agents, and storage retrieval of multimedia information. Other topics may include cryptographic techniques as applicable to web-site development, management of data in a secure manner, authentication and confidentiality, different levels of security (transaction, network, and protocol), and digital signatures. 305 User Interface Development (3) Prerequisites: CS 275. Focuses on user interface design standards as a programming problem. It covers topics such as functional vs. aesthetic concerns, elegance and simplicity, interference between competing elements, visual variables, perceptual organization for visual structure, grid-based design of module and program, semiotics with images and representation. 314 Theory of Computation (3) Prerequisites: CS 278. Covers finite state machines and pushdown automata, and their relationship to regular and context-free languages. Also covers minimization of automata, Turing machines, and undecidability. Other topics may include Church's Thesis, uncomputability, computational complexity, propositional calculus and predicate calculus. 325 Programming Languages (3) Prerequisites: CS 275. A study of the principles of modern programming languages. The students perform a comparative study of syntax, semantics, and pragmatics of high-level programming languages. Also provides a discussion of list-processing, object-oriented, functional, procedural, or other programming paradigms. 328 Programming Translation Techniques (3) Prerequisites: CS 240, CS 275, CS/Math 255, Math 245. Looks at the theory of programming languages as well as the theory of program translation as a means for dealing with the conceptual gap introduced by the levels of abstraction. Program translation mechanisms are studies as a means to explore the tradeoff between language expressiveness, translation, and execution effectiveness. Particular attention is paid to compilers, with emphasis on constraints induced by syntax and semantics. 330 Introduction to Artificial Intelligence (3) Prerequisites: CS 275 and CS 278. An overview of AI applications is presented. An AI programming language, such as Prolog or Lisp, is introduced. Fundamental AI problem solving techniques are applied to heuristic search and game playing. An introduction to knowledge representation and expert systems is given. Topics such as theorem proving, neural networks, and natural language processing may also be studied. 341 Computer Graphics (3) Prerequisites: CS 275 and CS 278. The basic architecture of various types of graphics systems is presented. Also presents a detailed description of the basic algorithms for 2-dimensional and 3-dimensional graphics systems. Algorithms for shading, hidden line removal, and rendering in the 3-D systems will be examined. The course involves significant project work. 344 Digital Image Processing (3) Prerequisites: CS 275 and CS 278. Focuses on low-level image processing data structures and algorithms for binary image processing, region and texture analysis, image filtering, edge detection, and contour following. Other topics include coding for storage, retrieval, transmission, and image restoration. 350 Software Engineering (3) Prerequisites: CS 275. Introduces software engineering as a discipline, discusses stages of software lifecycle, compares development models such as waterfall, prototyping and incremental/iterative, and compares structured and object-oriented methods. It also discusses software documentation, both internal and external verification/validation, quality assurance, testing methods, maintenance, project management and team structure, metrics, and available tools. 352 Object-Oriented Analysis and Design (3) Prerequisites: CS 275. Concentrates on modeling using a visual language such as UML, in the context of a generic objet-oriented development process. Discusses the object world, analysis/design goals as the driving development force, different system views, use cases, static and dynamic models, diagrams, modeling with patterns, and principles of responsibility assignments. The course may be supplemented with a CASE tool. 354 Software System Architectures (3) Concerned with the design, modeling, and evaluation of complex software systems at the architectural level of abstraction. Covers basic principles of architectural system design, and may cover topics such as multi-tiered and packaged architectures, model-view and model-service separation, design supports for distributed and client-server applications, design patterns, package interfaces, notation, persistence, and GUI frameworks. 356 Software Development Processes (3) Prerequisites: CS 350 or CS 352. This course is an in-depth study of software development processes, in the context of an actual project. Discussion includes object-oriented processes such as Rational Unified Process, as well as process management issues such as scheduling, risk-assessment, various metrics, and the selection of appropriate development methodology and tools. 361 Database Management Systems (3) Prerequisites: CS 275 and CS 278. Presents the foundations, concepts and principles of database design. Various models of data representation are considered, including the hierarchical and relational models. Also considers some of the implementation issues for database systems. 362 Information Retrieval (3) Prerequisites: CS 275 and CS 278. Presents deterministic models of information retrieval systems, including conventional Boolean, fuzzy set theory, p-norm, and vector space models. Other topics include probabilistic models, text analysis and automatic indexing, automatic query formulation, system-user adaptation and learning mechanisms, evaluation of retrieval, review of new theories and future directions, and intelligent information retrieval. 372 Object-Oriented Analysis and Design (3) Prerequisites: Knowledge of a modern programming language (such as C). The course will introduce programming in an object-oriented language and discuss the advantage of 00 concepts. There will be good emphasis on software lifecycle and process, current object-oriented modeling tools, design techniques, and patterns. Students will be exposed to a CASE tool. 373 Computer Networks and Communications (3) Prerequisite: CS 275 and Statistics 132. Communication systems will be considered in the context of the ISO standard for systems interconnection. Various types of networks will be studied including wide area networks, local area networks, and fiber optic networks. 374 Client-Server Architectures (3) Prerequisites: CS 275 and Math 245. Studies communications systems in the context of the ISO standard for systems interconnection. There is hands-on exposure to development of client-server applications. 376 Operating Systems (3) Prerequisites: CS 275, CS 240, Statistics 132 and Math 245. Studies the structure of a generic operating system, considering in detail the algorithms for interprocess communication, process scheduling, resource management, memory management, file systems, and device management. Topics in security may also be examined. Examples from pertinent operating systems are presented throughout, and use of the algorithms in modern operating systems is examined. Substantial practical work, using the UNIX operating system is required. 377 Operating Systems for Telecommunications (3) Prerequisites: CS 372 or MS/IS 423. The structure of a general operating system will be studied. The various components, including the interface with the underlying hardware, will be considered in detail. UNIX and Windows/NT will be considered as case studies throughout the course. The course will also emphasize hands on experience as a power user of at least one modern operating system. 378 Systems Administration and Computer Security (3) Prerequisites: CS 275. Identifies and studies major issues of relevance to systems and networks management. Covers a wide range of topics from a basic primer on networking topics from the systems perspective to advanced technical issues of user authentication, encryption, and mail privacy. Discusses the latest advances in network management tools and computer security protocols. 388 Individual Studies (1-3) Prerequisites: CS 275 and consent of instructor. Allows a student to pursue individual studies under the supervision of a faculty member. May include development of a software project. May be repeated for credit. 389 Topics in Computer Science (3) Prerequisite: Consent of instructor. A seminar on special topics in computer science to be determined by recent developments in the field and the interests of the instructor. May be repeated for credit with departmental consent. 413 Advanced Data Structures and Algorithms (3) Prerequisites: An elementary course in analysis of algorithms or consent of the instructor. This course covers analysis of time and space complexity of iterative and recursive algorithms along with performance bounds, design of data structures for efficient performance, sorting algorithms, probabilistic algorithms, divide and conquer strategies, various algorithms on graphs, and NP completeness. 427 Systems Administration (3) Prerequisite: (CS 376 or 377) and MSIS 496. The course will identify and study major issues of relevance to systems and networks management. It covers a wide range of topics from a basic primer on networking topics from the systems perspective to advanced technical issues of user authentication, encryption, and mail privacy. The course will discuss the latest advances in network management tools and computer security protocols. 432 Introduction to Evolutionary Computation (3) Prerequisite: CS 330, or consent of instructor. This course introduces the concepts of nature-inspired problem solving population dynamics, Darwinian selection, and inheritance. It discusses problems applicable to evolutionary algorithms, overviews the existing models and instances, and analyzes specific instances such as genetic algorithms and genetic programming. 434 Introduction to Machine Learning (3) Prerequisite: CS 330, or consent of instructor. This course introduces both symbolic and sub-symbolic approaches to machine intelligence. Specific topics covered may include data mining, supervised learning such as decision trees, and approximate methods such as fuzzy reasoning. 436 Expert Systems (3) Prerequisites: CS 330, or consent of instructor. This course concentrates on issues related to building expert systems mimicking human-level expertise, including knowledge engineering processes leading to the design, construction, and evaluation of systems, relevant languages, tools, and shells, as well as representation, quality, and inference methods. 438 Introduction to Neural Networks (3) Prerequisites: CS 330 or consent of instructor. This course introduces the concepts of connectionism, along with algorithms for simulating neural networks, discussion of alternative networks architectures and training algorithms. 440 Computer Vision (3) Prerequisites: Graduate standing and consent of instructor. This course introduces computational models of visual perception and their implementation on computer systems. Topics include early visual processing, edge detection, segmentation, intrinsic images, image modeling, representation of visual knowledge, and image understanding. 442 Visual Data Processing (3) Prerequisites: Graduate standing and consent of instructor. This course introduces low-level concepts and techniques used in image processing, including methods for image capture, transformation, enhancement, restoration, and encoding. 444 Pattern Recognition (3) Prerequisites: Graduate standing and consent of instructor. This course provides an introduction to statistical decision theory, adaptive classifiers, and supervised and unsupervised learning. Different types of pattern recognition systems are introduced, including transducers, feature extractor, and decision units. Students are exposed to the application of the techniques to optical character recognition, speech processing, and remote sensing. 450 Software Engineering (3) Prerequisites: Graduate standing and consent of the instructor. This course introduces software engineering as a discipline, discusses stages of the software lifecycle, compares development models such as waterfall, prototyping and incremental/iterative, and compares structured and object-oriented methods. It also discusses software documentation, both internal and external, verification/validation, quality assurance, testing methods, maintenance, project management and team structure, metrics, and available tools. Topics are the same as CS 350 but material is covered at a greater depth and additional projects are required. Credit not granted for both CS 350 and CS 450. 452 Object Oriented Analysis and Design (3) Prerequisites: CS 350, CS 450, or consent of the instructor. This course concentrates on modeling using a visual language such as UML, in the context of a generic object-oriented development process. It introduces the object world, analysis/design goals as the driving development force, different system views, use cases, static and dynamic models, diagrams, modeling and patterns, and principles of responsibility assignments. The course may be supplemented with a CASE tool. Topics are the same as CS 352 but material is covered at a greater depth and additional projects are required. Credit not granted for both CA 352 and CS 452. 454 Software Systems Architectures (3) Prerequisites: One of the following: CS 350, CS 450, CS 352, CS 452, or consent of the instructor. This course is concerned with the design, modeling, and evaluation of complex software systems at the architectural level of abstraction. It covers basic principles of architectural system design, and may cover topics such as multi-tiered and packaged architectures, model-view and model-service separation, design support for distributed and client-server applications, design patterns, package interfaces, notation, persistence and GUI frameworks. Topics are the same as CS 354 but material is covered at a greater depth and additional projects are required. Credit not granted for both CS 354 and CS 454. 456 Software Development Processes (3) Prerequisites: One of the following: CS 350, CS 450, CS 352, CS 452, or consent of the instructor. This course is an in-depth study of software development processes, in the context of an actual project. Discussion will include object-oriented processes such as the Rational Unified Process, as well as process management issues such as scheduling, risk-assessment, various metrics, and the selection of appropriate development methodology and tools. Topics are the same as CS 356 but material is covered at a greater depth and additional projects are required. Credit not granted for both CS 356 and CS 456. 461 Advanced Databases (3) Prerequisites: Graduate standing and consent of instructor. This course is an in-depth study of database techniques, including normalization theory, object-oriented databases, statistical databases, distributed databases, and failure recovery. The course will also involve substantial readings from the current literature. 462 Intelligent Information Retrieval (3) Prerequisites: CS 330, CS 430 or consent of instructor. This course studies the use of AI techniques for the development of adaptive information retrieval systems. Techniques for analysis of information by statistical syntactical, and logical methods are also studied. Topics related to multimedia information are also discussed. 464 Multimedia Information Systems (3) Prerequisites: CS 368 or CS 440. This course studies the technical and human issues related to the design, construction, and use of computer programs that combine text, audio, video, graphics, animation, and graphical user interfaces. It also surveys applications and tools. 470 Computer Systems (3) Prerequisites: Background in computer organization or architecture or consent of instructor. This course focuses on parallel computing architectures, including RISC, pipelining, vector processing, SIMD, MIMD, and array processing. It introduces different memory and I/O subsystems, hardware description languages, and it demonstrates performance enhancement using different architectures studied. 473 Client/Server Computing (3) Prerequisite: CS 377 or MSIS 496. The course will study communications systems in the context of ISO standards for systems interconnection. There will be hands on exposure to development of client-server applications. 474 Parallel and Distributed Computing (3) Prerequisites: Background in computer organization or architecture, or consent of instructor. This course introduces the fundamentals of parallel computation and algorithm design. It discusses general techniques for designing efficient parallel algorithms for fixed-connection parallel network architectures such as arrays, trees, and hypercubes. 476 Advanced Operating Systems and Network Management (3) Prerequisites: CS 376 or consent of instructor. This course provides a survey of contemporary operating systems principles, including overall design strategies for operating systems. The course also discusses communication and synchronization techniques for concurrent processes, and statistical analysis of job scheduling, process scheduling, I/O scheduling, and memory management. 487 Computer Science Seminar (1-3) Prerequisites: Graduate standing and consent of instructor. This is a seminar on various topics. Substantial student reading and participation is expected. It may be taken more than once for credit with the consent of the department. 488 Computer Science Independent Project (1-3) Prerequisites: Graduate standing and consent of instructor. This course offers the student an opportunity to work on an adviser-supervised project, individually or in a group. A student may repeat the course for up to 6 credit hours total, but at most 6 hours can be accumulated for CS 488 and CS 490. 489 Topics in Computer Science (1-3) Prerequisites: Graduate standing and consent of instructor. This course offers various topics not offered on a regular basis. It may be taken more than once for credit with the consent of the department. 490 Thesis (1-6) Prerequisites: Completion of at least 12 graduate credits and approval of research topic by thesis adviser. This course is designed for those students intending to present a thesis as part of their M.S. program. At most 6 hours can be accumulated for CS 488 and CS 490. Probability and Statistics 31 Elementary Statistical Methods (3) Prerequisite: Math 30. An introduction to the basic tools and elementary methods of statistics, such as testing of hypotheses, analysis of variance, method of least squares, and time series. A student may not receive credit for more than one of Statistics 31, Statistics 132, and Math 105. 132 Applied Statistics I (3) Prerequisite: Math 80 or 100. An introduction to the basic tools and elementary methods of statistics, such as least squares estimation, analysis of variance, regression, and testing of hypotheses. The use of a statistical package such as SAS for operation on statistical data. A student may not receive credit for more than one of Statistics 31, Statistics 132, and Math 105. 232 Applied Statistics II (3) Prerequisite: Statistics 31, or 132, or equivalent. Topics to be chosen from: fitting distributions to data, goodness of fit, parametric and non-parametric correlations and partial correlation, and nonparametric statistics. Sampling, design of experiments, categorical data, and regression. Emphasis on practical applications. 320 Mathematical Statistics I (3) (Same as Math 320.) Prerequisites: Statistics 132 and Math 180. Introduction to theory of probability and statistics using concepts and methods of calculus. 321 Mathematical Statistics II (3) (Same as Math 321.) Prerequisite: Statistics 320. Continuation of Statistics 320. Sampling distributions, estimation theory, properties of estimators, hypothesis testing, Neyman-Pearson Theorem, likelihood ratio tests, introduction of analysis of variance and linear models. Basics of some nonparametric procedures. 326 Introduction to Stochastic Processes (3) Prerequisite: Statistics 320. Basic theory and applications of stochastic processes. Markov chains, martingales, recurrent and transient states, stationary distributions, ergodic theorem, renewal processes, discrete martingales and stationary processes. 330 Multivariate Analysis (3) Prerequisites: Math 245 and Statistics 320, or consent of instructor. Multivariate normal distribution and related sampling distributions. Procedures of statistical inference for the multivariate normal distributions, such as hypothesis testing, parameter estimations, multivariate regression, classification and discriminant analysis and principal components analysis. 331 Analysis of Variance and Design of Experiments (3) Prerequisites: Math 245 and Statistics 320 or consent of instructor. An introduction to the analysis of variance with applications in completely randomized designs, randomized block designs, factorial experiments and split-plot type designs. 333 Nonparametric Methods in Statistics (3) Prerequisite: Statistics 320 or consent of instructor. An introduction to nonparametric statistical procedures. Order statistics, rank order statistics and scores, tests of goodness of fit, linear rank tests for the location and scale problems and applications. 339 Topics in Probability and Statistics (3) Prerequisite: Consent of instructor. A seminar on special topics in probability and statistics to be determined by the interests of the instructor. May be determined by the interests of the instructor. May be repeated for credit provided different topics are studied. |