dropbulletin

College of Arts and Sciences | Table of Contents

 Math Course Descriptions

General Information

Faculty

Course Descriptions

Undergraduate Degree Requirements

Graduate Degree Requirements

Courses in this section are grouped as follows: Mathematics, Computer Science,  and Probability and Statistics.

Students enrolling in introductory mathematics courses should check the  prerequisites to determine if a satisfactory score on the Mathematics Placement  Test is necessary. The dates on which this test is administered are given in  the Schedule of Courses.

A minimum grade of C- is required to meet the prerequisite requirement for any course except with permission of the department.

The following courses fulfill the Natural Sciences and Mathematics [SM] breadth  of study requirements: MATHEMATICS: 20(1020), 30(1030), 35(1035), 50*(1150), 70(1070), 80(1080), 100(1100), 102(1102), 105(1105), 151*(2510), 152**(3520), 175(1900), 180(2000), 202(2020), 245(2450), 255(3000), 303(4030), 306(4060), 310(4100), 311(4110), 316(4160), 323(4230), 324(4240), 327(4270), 335(4350), 340(4400), 341(4410), 345(4450), 350(4500), 355(4550), 358(4580), 362(4620),  364(4640), 366(4660), 367(4670), 380(4800), 389(4890). COMPUTER SCIENCE: 101(1010), 122(1220), 125(1250), 170(1050), 201(2010), 225(2250), 240(2700), 241(2710), 255(3000), 273(2210), 274(2260), 275(2750), 278(3130), 301(4010), 302(4020), 304(4040), 305(4050), 314(4140), 325(4250), 328(4280), 330(4300), 341(4410), 344(4440), 350(4500), 352(4520), 354(4540), 356(4560), 361(4610), 362(4620),  373(4730), 374(4740), 376(4760), 377(4770), 378(4780), 388(4880),  389(4890). PROBABILITY AND STATISTICS: 31(1310), 132(1320), 232(2320), 320(4200), 321(4210), 326(4260), 330(4300), 331(4310), 332(4320), 333(4330), 339(4390).

*Mathematics 50(1150) and 151(2510) fulfill this requirement only for students  seeking the B.S. in education degree in Early Childhood Education, Elementary  Education, and Special Education

**Mathematics 152(3520) fulfills this requirement only for students seeking the B.S. in education degree in middle school mathematics.

Skip to Mathematics classes

Skip to Computer Science

Skip to Probability and Statistics

 

Mathematics
20(1020)  Contemporary Mathematics (3) [MS]
Prerequisites: A satisfactory ACT Math score or a satisfactory score on the  university's mathematics placement examination. Presents methods of problem  solving, centering on problems and questions which arise naturally in everyday life. May include aspects of algebra and geometry, the mathematics of finance,  probability and statistics, exponential growth, and other topics chosen from  traditional and contemporary mathematics which do not employ the calculus. May be taken to meet the mathematical proficiency requirement, but may not be used as a prerequisite for other mathematics courses. Designed for students who do not plan to take Calculus. Credit will not be granted for Math 20(1020) if credit has been granted for Stat 31(1310), Math 80(1800), 100(1100), 102(1102), or 105(1105). Concurrent enrollment in Math 20(1020) and any of these courses is not permitted.

30(1030) College Algebra (3) [MS]
Prerequisites: A satisfactory ACT Math score or a satisfactory score on the  university's mathematics placement examination. Topics in algebra and probability,  polynomial functions, the binomial theorem, logarithms, exponentials, and solutions  to systems of equations.

35(1035) Trigonometry (2) [MS]
Prerequisite: Math 30(1030) or concurrent registration. A study of the trigonometric  and inverse trigonometric functions with emphasis on trigonometric identities  and equations.

50(1150) Structure of Mathematical Systems I (3)
Prerequisites: 45 hours of college credit and one of the following: Math 30(1030),  a satisfactory ACT Math score, or a satisfactory score on the university's mathematics  proficiency examination. A study of sets, relations, functions, whole numbers,  the integers and their properties, and the rational and real number systems.  Credit will be granted only toward the B.S. in education degree in Early Childhood  Education, Elementary Education, Middle School Education and Special Education.

70(1070) Applied Mathematics of Interest (2)
Prerequisites: Math 30(1030). An introduction to the role of interest in applied  mathematics. Topics include simple and compound interest, mathematics of annuities,  amortization bonds, sinking funds, and mortgages.

80(1800) Analytic Geometry and Calculus I (5) [MS]
Prerequisites: Math 30(1030) and 35(1035), or a satisfactory ACT Math score along with a satisfactory score on the university's trigonometry examination, or a satisfactory score on both the university's mathematics proficiency examination and the university's trigonometry examination. Introduction to analytic geometry,  differential calculus, and integral calculus. Math 80(1800), 175(1900), and  180(2000) form the calculus sequence.

backtotop

100(1100) Basic Calculus (3) [MS]
Prerequisite: Math 30(1030), 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(1800) and 100(1100).

102 (1102)Finite Mathematics I (4)
Prerequisite: Math 30(1030), 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(1105) Basic Probability and Statistics (3) [MS]
Prerequisites: Math 30(1030), 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(1310),  Stat 132(1320) and Math 105(1105).

132(1320) Applied Statistics I
Prerequisites:  Math 80(1800) or 100(1100). See Statistics 132(1320) in Probability  and Statistics section that follows.

151(2510) Structure of Mathematical Systems II (3)
Prerequisite: Math 50(1150). 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, Middle School Education, and Special Education.

152(3520) Structure of Mathematical Systems III (3)
Prerequisite:  Math 151(2510). Together with Math 50(1150) and 151(2510), this  course teaches mathematics necessary for middle school mathematics certification.  Topics from Math 50(1150) and 151(2510) are continued. Other topics include  geometric constructions, similarity, coordinate geometry, normal distribution,  combinatorics, and trigonometry. Credit granted only toward B.S. in Education  degree in Early Childhood Education, Elementary Education, Special Education, and Middle School Education.

175(1900) Analytic Geometry and Calculus II (5)
Prerequisite: Math 80(1800). Selected topics from plane analytic geometry and  calculus.

180(2000) Analytic Geometry and Calculus III (5)
Prerequisite: Math 175(1900). Solid analytic geometry and selected topics in  calculus.

backtotop

202(2020) Introduction to Differential Equations (3)
Prerequisite: Math 180(2000). Topics will be chosen from linear differential  equations, equations with constant coefficients, Laplace transforms, power series  solutions, systems of ordinary differential equations.

245(2450) Elementary Linear Algebra (3)
Prerequisites: Math 100(1100) or 175(1900). 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(3000) Discrete Structures (3)
Prerequisite: Math 175(1900) or 100(1100), and CS 125(1250) or equivalent. (Same  as CS 255(2250) 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(2250) and Math 255(3000).

backtotop

303(4030) Applied Mathematics I (3)
Prerequisites: Math 202(2020) and 245(2450). Topics chosen from Fourier series,  special functions, partial differential equations, and boundary value problems.

306(4060) Applied Differential Equations (3)
Prerequisite: Math 202(2020) and 245(2450). The study of ordinary differential  equations and partial differential equations is continued with applications  in such areas as physics engineering and biology.

310 (4100)Advanced Calculus I (3)
Prerequisite: CS/Math 255(3000) and 180(2000). Limits, continuity, and differentiability  of functions of one and several variables, sequences and series, and the Riemann  Stieltjes integral.

311(4110) Advanced Calculus II (3)
Prerequisite: Math 310(4100). Continuation of Math 310(4100).

316(4160) Functions of a Complex Variable (3)
Prerequisite: Math 202(2020) or both CS/Math 255(3000) and Math 180(2000). 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(4200) Mathematical Statistics I (3)
(Same as Statistics 320(420) See Statistics 320(4200) Probability and Statistics  section that follows.

321(4210) Mathematical Statistics II (3)
(Same as Statistics 321(4210) See Statistics 321(4210) in Probability and Statistics  section that follows.

323 (4230) Numerical Analysis I (3)
Prerequisites: Math 202(2020), 245(2450), 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 (4240) Numerical Analysis II (3)
Prerequisite: Math 323(4230) 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.

327(4270)  The Calculus of Variations (3)
Prerequisites: Math 202 ((2020)and 310(4100). Methods for optimizing functionals  and their application. The Euler-Lagrange condition. Hamilton's principle, two  dimensional variational problems, and isoperimetric problems. Approximate methods  for the solution of variational problems.

335 (4350)Theory of Numbers (3)
Prerequisite: CS/Math 255(3000) and Math 180(2000) or consent of instructor.  Properties of integers, multiplicative functions, congruences, primitive roots,  and quadratic residues.


 340 (4400) Introduction to Abstract Algebra I (3)
Prerequisite: CS/Math 255(3000) and Math 180(2000) or consent of the department.  Introduction to groups, rings, and fields, with emphasis on groups and rings.

341 (4410) Introduction to Abstract Algebra II (3)
Continuation of Math 340(4400) with emphasis on fields.

345 (4450)Linear Algebra (3)
Prerequisites: CS/Math 255(3000), Math 180(2000) and Math 245(2450). Topics  selected from vector spaces, bases, linear transformations, matrices, canonical  forms, eigenvalues, hermitian and unitary matrices, inner product spaces, and  quadratic forms.

350 (4500) Special Readings (1-10)
Prerequisites: CS/Math 255(3000), Math 180(2000) and consent of instructor.

355 (4550) Combinatorics (3)
Prerequisite: CS/Math 255(3000) and Math 180(2000). 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.

358 (4580) Mathematical Logic (3)
Prerequisite: CS/Math 255(3000) and Math 180(2000) or Philosophy 360(4460).  A study of the logic of mathematics by the axiomatic method, with a development  of the propositional calculus and restricted predicate calculus emphasizing  its application to the foundations of mathematics.

362 (4620) Projective Geometry (3)
Prerequisites: CS/Math 255(3000), Math 180(2000) and Math 245(2450). Analytic  approach to the study of projective spaces. Theorems of Desargues, Pascal, and  Brianchon. Projective properties of conics.

364 (4640) Introduction to Differential Geometry (3)
Prerequisite: CS/Math 255(3000) and Math 180(2000). Geometry of curves and surfaces  in Euclidean three-space. Calculus on a surface. Intrinsic geometry of surfaces.

366(4660)  Foundations of Geometry (3)
Prerequisite: CS/Math 255(3000) and Math 180(2000) 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 (4670) Introduction to Non-Euclidean Geometry (3)
Prerequisite: CS/Math 255(3000) and Math 180(2000) or consent of the department.  A summary of the history of the non-Euclidean geometries and a study of hyperbolic  plane geometry.

380 (4800) Introduction to Topology (3)
Prerequisite: CS/Math 255(3000) and Math 180(2000) 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 (4890)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.

backtotop

401 (5010) Theory of Ordinary Differential Equations (3)
Prerequisite: Math 310(4100) . A theoretical treatment of ordinary differential  equations including the existence and uniqueness of solutions of differential  equations and systems of differential equations. The course treats such topics  as systems of linear differential equations, eigenvalue problems, autonomous  systems, and boundary value problems.

402 (5020) Classical Applied Mathematics (3)
Prerequisites: Math 310(4100), 316(4160), and 345(4450) 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(5700)  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 (5600) 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(5050)  Computational Curves and Surfaces (3)
Prerequisite: Math 310(4100), 323(4230) and 345(4450), 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 (5060) Computational Harmonic Analysis (3)
Prerequisites: Math 303(4030), Math 310(4100), and Math 345(4450). 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 (6070) Time-Frequency Analysis (3)
Prerequisites: Math 406(5060). 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(6080)  Advances in Wavelet Analysis (3)
Prerequisite: Math 406(5060). 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(5100)  Theory of Functions of a Real Variable (3)
Prerequisites: Math 310(4100) and 380(4800). The real number system, properties  of functions of one or more real variables, mapping theorems. Introduction to  measure and integration theory.

411(5110)  Differentiable Manifolds (3)
Prerequisites: Math 310(4100), 345(4450), and 380(4800). 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 (5160)  Functions of a Complex Variable (3)
Prerequisites: Math 310(4100), 316(4160), and 380(4800). 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 (5710) 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 (6200) Probability Theory (3)
Prerequisite: Math 410(5100)  (may be taken concurrently). Combinatorial analysis,  random walks, stochastic independence, random variables, laws of large numbers,  generating functions, and branching processes.

423 (5720) 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 (5270) Numerical Linear Algebra (3) Prerequisite: Math 323(4330) and Math 345(4450) 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.

428 (6600) Topics in Probability Theory (3)
Prerequisite: Consent of instructor. The course will cover advanced topics in  probability theory and may be taken more than once for credit with the consent  of the department

430 (5300) Partial Differential Equations (3)
Prerequisites: Math 310(4100), 316(4160), 345(4450), and 380(4800). 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(5320)  Applied Statistics (3)
Prerequisites: Statistics 321(4210) 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 (5350) Operations Research-Deterministic Models (3)
Prerequisites: Math 345(4450) or equivalent. (Same as MSIS 428(7350). 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 (5360) Operations Research-Stochastic Models (3) Prerequisites:  Stat 320(4200)  or equivalent. (Same as MSIS 429(7352). 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 (5370) Quality Management (3)
Prerequisite: MSIS 481(5300) or Stat 320(4200) or consent of instructor. (Same  as MSIS 430(5326).) 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 (5810) 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 (5420) Algebra (3)
Prerequisites: Math 340(4400) and 345(4450). Basic fundamentals of the theory of groups, rings and fields.

444 (6440) Lie Groups (3)
Prerequisites: Math 340(4400) and 411(5110). The course provides an introduction  to Lie Groups, Lie Algebras, and their representations.

448(5820) 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 (5500) Directed Readings (1-6) Prerequisite: Consent of instructor. Independent readings at an advanced level.

452 (5550) 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 (5040) Calculus of Variations (3)
Prerequisites: Math 202(2020), 310(4100) and 345(4450). 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 (6700) Functional Analysis (3)
Prerequisites: Math 345(4450)  and 410(5100). 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 (5800) 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 (6900) 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(6900)  to a degree.

499 (7990) Ph.D. Dissertation Research (1-9)
Prerequisites: Completion of comprehensive. May be taken for no more than nine  hours.

backtotop

 Computer Science
101(1010)  Introduction to Computers and the Internet (3)
Prerequisites: Same as for Math 20(1020) and Math 30(1030). 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(1010) and BA 103(1800).

122(1220) ( Computers and Programming (3)
Prerequisite: Math 80(1800) or 100(1100), or a grade of at least B in Math 30(1030).  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(1804) and CS 122(1220).

125(1250)  Introduction to Computing (3)
Prerequisite: Math 80(1800) or 100(1100), or a grade of at least B in Math 30(1030).  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(1050)  User Interface Design and Event-Driven Programming with Visual  Basic (3)
Prerequisite: Computer Science 125(1250) 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.

backtotop

201(2010)  An Introduction to Java and Internet Programming (3)
Prerequisite: Math 30(1030). 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.

225(2250)  Programming and Data Structures (3)
Prerequisite: CS 125(1250). A continuation of CS 125(1250). 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(2700)  Computer Systems: Architecture and Organization (3)
Prerequisite: CS 225(2250). 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(2710)  Computer Systems: Programming (3)
Prerequisite: CS 240(2700). 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(3000)  Discrete Structures (3)
Prerequisites: Math 175(1900)  or 100(1100), and CS 125(1250) or equivalent.  (Same as Math 255(3000). 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(3000), Math 250,  and Math 255(3000).

273(2210)  The C Programming Language (3)
Prerequisite: CS 225(2250) or the equivalent. 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(1250) and CS 225(2250) but without the C language.  It may not be taken for credit if the student has taken CS 225(2250) with C.

274(2260)  Object Oriented Programming with C++ (3)
Prerequisite: CS 225(2250). Introduces object-oriented concepts, terminology,  and notation. The C++ language is explored, including topics such as dynamic  memory, exception handling, function and class templates, operator overloading, inheritance, polymorphism, and generic programming with the standard template library. Additional topics may include GUI libraries.

275(2750)  Advanced Programming with Unix (3)
Prerequisite: CS 225(2250). Exploration of the Unix operating system, including  its tools and utilities for program development, such as makefile, piping and redirection, shell scripts, regular expressions, and symbolic debuggers. In  addition, this course explores advanced features of the C programming language, including various file processing, command-line and variable arguments, exception handling and generic interfacing.

278(3130)  Design and Analysis of Algorithms (3)
Prerequisites: CS 225(2250), CS/Math 255(3000), Math 245(2450) and Stat 132(1320).  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.

backtotop

301(4010)  Web Programming Techniques (3)
Prerequisites: CS 275(2750). Provides an introduction to Web page development  using current technologies such as HTML and XML. Programming in such languages  as Perl, CGI scripting, Java script and Java. The current Web servers are compared  for issues such as technology, capacity planning, and installation.

302(4020)  Java and Internet Programming (3)
Prerequisites: CS 301(3010). A projects-oriented course using the Java programming  language for Internet programming. The course focuses on current technologies  in Java such as GUI toolkits, threads, the Java security model, and JavaBeans.  Other topics may include sockets, IO Streams, server-side Java, and remote method  invocation.

304(4040)  Electronic Commerce Protocols (3)
Prerequisites: CS 275(2750) and Math 245(2450). 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(4050)  User Interface Development (3)
Prerequisites: CS 275(2750). 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(4140)  Theory of Computation (3)
Prerequisites: CS 278(3130). 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(4250)  Programming Languages (3)
Prerequisites: CS 274(4740). 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(4280)  Program Translation Techniques (3)
Prerequisites: CS 240(2700), CS 274(2260), CS/Math 255(3000), Math 245(2450).  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 studied 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(4300)  Introduction to Artificial Intelligence (3)
Prerequisites: CS 274(2260), CS 275(2750) and CS 278(3130). 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(4410)  Computer Graphics (3)
Prerequisites: CS 274(2260), CS 275(2750) and CS 278(3130). 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(4440) Digital Image Processing (3)
Prerequisites: CS 274(2260), CS 275(2750) and CS 278(3130). 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 (4500) Software Engineering (3)
Prerequisites: CS 274(2260) and CS 275(2750). 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 (4520) Object-Oriented Analysis and Design (3)
Prerequisites: CS 350(4500). Concentrates on modeling using a visual language such as UML, in the context of a generic object-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(4540)  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 (4560) Software Development Processes (3)
Prerequisites: CS 350(4500) or CS 352(4520). 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(4610)  Database Management Systems (3)
Prerequisites: CS 275(2750) and CS 278(3130). 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(4620)  Information Retrieval (3)
Prerequisites: CS 275(2750) and CS 278(3130). 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.

373(4730)  Computer Networks and Communications (3)
Prerequisite: CS 275(2750) and Statistics 132(1320). 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(4740)  Client-Server Architectures (3)
Prerequisites: CS 275(2750) and Math 245(2450). 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(4760)  Operating Systems (3)
Prerequisites: CS 275(2750), CS 240(2700), Statistics 132(1320) and Math 245(2450).  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(4770)  Operating Systems for Telecommunications (3)
Prerequisites: CS 352(4520) or MS/IS 423(6806). 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(4780)  Systems Administration and Computer Security (3)
Prerequisites: CS 275(2750). 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(4880)  Individual Studies (1-3)
Prerequisites: CS 275(2750) 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(4890)  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.

backtotop

413(5130)  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(5780)  Systems Administration (3)
Prerequisite: (CS 376(4760) or 377(4770) and MSIS 496(6836). 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(5320) Introduction to Evolutionary Computation (3)
Prerequisite: CS 330(4300), 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(5340)  Introduction to Machine Learning (3)
Prerequisite: CS 330(4300), 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(5360)  Expert Systems (3)
Prerequisites: CS 330(4300), 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 (5380) Introduction to Neural Networks (3)
Prerequisites: CS 330(4300)  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(5400) 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(5420)  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 (5440) 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(5500)  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(4500) but material  is covered at a greater depth and additional projects are required. Credit not  granted for both CS 350(4500) and CS 450(5500).

452(5520)  Object Oriented Analysis and Design (3)
Prerequisites: CS 350(4500), CS 450(5500), 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(4520) but material is covered  at a greater depth and additional projects are required. Credit not granted  for both CA 352(4520) and CS 452(5520).

454(5540)  Software Systems Architectures (3)
Prerequisites: One of the following: CS 350(4500), CS 450(5500), CS 352(4520),  CS 4525520), 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(4540) but material is covered at a greater depth and additional projects are required. Credit not granted for both CS 354(4540)and CS 454(5540).

456(5560)  Software Development Processes (3)
Prerequisites: One of the following: CS 350(4500), CS 450(5500), CS 352(4520),  CS 452(5520), 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(4560) but material is covered at a greater depth and additional projects are required. Credit not granted for both CS 356 (4560) and CS 456(5560).

461(5610) 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(5620)  Intelligent Information Retrieval (3)
Prerequisites: CS 330(4300) 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(5640)  Multimedia Information Systems (3)
Prerequisites: CS 341(4300) or CS 440(5400). 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(5700)  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(5730)  Client/Server Computing (3)
Prerequisite: CS 377(4770) or MSIS 496(6836). 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 (5740) 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(5760)  Advanced Operating Systems and Network Management (3)
Prerequisites: CS 376(4760) 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(5870)  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(5880)  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(5880) and CS 490(6900).

489(5890)  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(6900)  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(5880) and CS 490(6900).

backtotop

Probability and Statistics
 31(1310) Elementary Statistical Methods (3)
Prerequisite: Math 30(1030), or a satisfactory ACT Math score, or a satisfactory  score on the university's mathematics proficiency exam. An introduction to  the basic ideas and tools of statistics. Introductory data analysis, statistical  modeling, probability and statistical inference. Includes topics in estimation,  prediction, and hypothesis testing. A major focus of the course in the analysis  of data using a computer software package such as SAS. A student may not receive  credit for more than one of Statistics 31(1310), Statistics 132(1320), and Math  105(1105).

132(1320) Applied Statistics I (3)
Prerequisite: Math 80(1800) or 100(1100). An introduction to the basic ideas  and tools of statistics. Introductory data analysis, statistical modeling, probability  and statistical inference. Includes topics in estimation, prediction, and hypothesis  testing. A major focus of the course is the analysis of data using a computer  software package such as SAS. A students may not receive credit for more than  one of Statistics 31(1310), Statistics 132(1320), and Math 105(1105).

232(2320) Applied Statistics II (3)
Prerequisite: Statistics 132(1320), or equivalent. Focuses on data analysis  using a number of statistical tools. Topics will be chosen from regression, analysis of variance, contingency tables, and various non-parametric techniques. The emphasis is on practical applications. A computer software package such as SAS will be used for the analysis of data.

320(4200) Mathematical Statistics I (3)
(Same as Math 320(4200).) Prerequisites: Statistics 132(1320) and Math 180(2000).  Introduction to theory of probability and statistics using concepts and methods  of calculus.

321(4210) Mathematical Statistics II (3)
(Same as Math 321.) Prerequisite: Statistics 320(4200). Continuation of Statistics  320(4200). 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(4260) Introduction to Stochastic Processes (3)
Prerequisite: Statistics 320(4200). 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(4300) Multivariate Analysis (3)
Prerequisites: Math 245(2450) and Statistics 320(4200), 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(4310) Analysis of Variance and Design of Experiments (3)
Prerequisites: Math 245(2450) and Statistics 320(4200) 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

332(4320) Regression Models in Statistics (3)
Prerequisites: Statistics 232(2320) or consent of instructor. A rigorous course  focused on the applications of regression. The course is rigorous in that th  basic regression models in one and several variables are carefully developed using matrix notation. Topics such as the extra sums of squares principle, the general linear hypothesis, and partial and sequential F-tests are carefully presented. The course will focus on using these tools to analyze many different data sets.

333(4330) Nonparametric Methods in Statistics (3)
Prerequisite: Statistics 320(4200) 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(4390) 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.

backtotop