Course Listings – Math and Computer Science

MTH 1750. College Algebra (I, II; 3) Topics include functions, rational expressions, systems of linear equations, Factor and Remainder Theorem, operations on functions, radical equations, inequalities, matrices, variations and exponential and logarithmic functions, sequences, series, and the binomial theorem. Equivalent to TAG TMM001.

MTH 2001. Probability and Statistics I (I; 3) Topics include measures of central tendency, measures of dispersion, probability models, conditional probability, combinations, distributions, estimation and hypothesis testing. Prerequisite: MTH 1750.

MTH2002. Probability and Statistics II (II;3) Topics include testing populations, means, proportions, variances, contingency tables, regression, ANOVA, computer applications, and non-parametric statistics. Prerequisite: MTH2001.

MTH2500. Precalculus. (I, II; 4) This is an accelerated course in College Algebra and Trigonometry. Topics include linear, quadratic, polynomial, rational, radical, root,  piecewise, exponential, logarithmic, trigonometric and inverse trigonometric functions; graphs and transformations; equations and inequalities; systems of equations; sequences and series; vectors and applications. Prerequisite: Placement exam.

MTH2501. Trigonometry (I,II; 3) Topics include conic sections, exponential and logarithmic functions, trigonometric functions, inverse trigonometric functions, identities and equations, lines, polar coordinates, vectors in the plane, application problems, and complex numbers. Prerequisite: MTH 1750 or placement exam. Equivalent to TAG TMM003.

MTH2502. Calculus I (I,II; 4) Topics include limits of functions, infinite limits, derivative and techniques of differentiation, implicit differentiation, higher derivatives, graphing, maxima and minima, plane curves, motion, antiderivatives, indefinite and definite integrals, and the Fundamental Theorem of Calculus. Prerequisite: MTH2501 or MTH2500. Equivalent to TAG TMM005.

MTH 2503. Calculus II (I, II; 5) Topics include the fundamental theorem of calculus, the definite integral, techniques and applications of integration. Evaluation of improper integrals, indeterminate forms, graphs of polar equations, area in polar coordinates and parametric equations. Differentiation and integration a power series, Taylor and MacLaurin series. Calculation and application of the dot and cross products of vectors. Prerequisite: MTH 2502. Equivalent to TAG OMT006.

MTH2540. Foundations in Mathematics (I,II; 3) This course is an introduction to mathematical proof, symbolic logic, induction, set theory, relations, functions, countability, and selected topics in number theory. Prerequisite: MTH 2502.

MTH2002. Probability and Statistics II (II;3) Topics include testing populations, means, proportions, variances, contingency tables, regression, ANOVA, computer applications, and non-parametric statistics. Prerequisite: MTH2001.

MTH3000. Geometry for Teachers (II; 3) Topics include definitions, axioms, plane figures, triangle theorems, similar triangles, areas, computation of areas, solids, volumes,  computation of volumes, and history of geometry. Prerequisite: MTH 1750.

MTH3001. Linear Algebra (I;3) Topics include matrices, determinants, linear systems, vector spaces, linear transformations, eigenvalues and eigenvectors. Prerequisite: MTH2503. Equivalent to TAG OMT008.

MTH 3002. Calculus III (II; 4) Topics include the theory of infinite series, analytic geometry of space, vectors in space, partial derivatives, and multiple integrals. Prerequisite: MTH 2503.

MTH3110. Differential Equations and Discrete Dynamical Systems (I; 4) First and second order, linear, simultaneous equations with descriptions of solution methodology. Laplace transforms, applications, and solutions methodology for nonlinear differential equations and nonlinear difference equations. Prerequisite: MTH 2502. Equivalent to OMT009.

MTH3310. Numerical Methods (II; 3). This course is offered during odd years only. Solutions of equations, successive approximations, Newton-Raphson Method, roots of polynomials, error analysis and process graphs; simultaneous linear and non-linear equations, factorization methods, iterative methods for solving linear systems; description and solution of eigenvector problems, interpolation methods with and without spline functions; numerical solutions for ordinary differential equations, numerical solutions for partial differential equations, and applications of Monte Carlo methods. Prerequisites: MTH3001.

MTH3430. Operations Research (I; 3) This course is offered during odd years only. Topics include stochastic processes, linear programming, transportation problems, inventory control, and network theory. Prerequisite: MTH3001.

MTH3520. Abstract Algebra I (I; 3) Topics include properties of integers, groups, subgroups, quotient groups, group actions, products, homomorphisms, isomorphisms, and finite abelian groups. Prerequisite: MTH 2540.

MTH3521. Abstract Algebra II (II; 3) Topics include rings, ideals, integral domains, fields, Euclidean domains, principal ideal domains, vector spaces, polynomial rings, and field extensions.  Prerequisite: MTH 3520.

MTH3530. Mathematical Writing and Research (II; 2) Topics include the mathematical research process, technical writing, and communications in mathematics. Prerequisite: MTH 2540.

MTH3610. Introduction to Discrete Structures (I; 3) This course is offered in even years only. Topics include review of set algebra including mappings and relations, elements of the theory of directed and undirected grams, symbolic logic and applications of these structures to various areas of the computer.  Prerequisite: MTH 2540.

MTH3620. Seminar (II; 2) Topics include the nature of mathematics, topics from history of mathematics, problem-solving techniques, mathematical induction, and others. Prerequisite: MTH2503.

MTH 4030. History of Mathematics (I; 3) The development of mathematics from ancient times to the twentieth century. Prerequisite: Junior standing.

MTH4120. Introduction to Real Analysis (I; 3) Topics include the system of real numbers, functions, sequences, limits, the theory of continuity, differentiation, Riemann integration; sequences of functions, and infinite series. Prerequisites: MTH 2540.

MTH4600. Capstone: Selected Topics in Mathematics (II;3) This course is designed to meet the needs of advanced students as a preparation for graduate study or employment in mathematics related fields. Possible topics include, but are not limited to, topology, group theory, projective geometry, real analysis, probability and statistics, combinatorial analysis, and operations research.

MTH4730. Functions of a Complex Variable (II;3) This course is offered during even years only. Topics include complex numbers, elementary functions, power series, analytic functions, integrals, residues, Cauchy’s Theorem, and Moreara’s Theorem. Prerequisites: MTH 4120 and permission of the instructor.



Computer Science –– Back to the top

CPS1110. Computer Literacy (I,II; 2) This course presents students with a study of various methods of problem-solving by computers and other means through use of examples, simple exercises and theory. Further topics include using computer systems for word processing, Internet browsing, PC spreadsheets and databases, and other desk top publishing techniques. Prerequisite: None.

CPS1115. Computer Fundamentals (I,II; 2) This course presents students with a study of various methods of problem-solving techniques pertaining to current industry computer applications. Topics covered include an introduction to BASIC programming and algorithmic design, word processing, Internet browsing, PC spreadsheets and databases, document presentation and other desk top publishing techniques. Prerequisite: None.

CPS1191. Computer Science I (I;4) Number systems, computer history, time sharing, system commands, file editing, algorithms, flow-charting, pseudo-code, top-down design, branching, looping, arrays, strings, basic input and output (I/O) operations, report writing, scientific applications, business applications and graphics . Co-requisite: MTH1750

CPS1192. Computer Science II (II;4) [Programming and Algorithms] Importance of program design, modular function and object oriented programming; flow-charting, pseudo-code, and top-down design, use of text files, binary files, and fundamentals of higher languages such as C, C++, MATLAB, and Mathematica. Prerequisities: CPS1191 Computer Science I.

CPS2215. Internet and Web Essentials (I,II;2) – This course teaches students topics pertaining to the World Wide Web (WWW) fundamentals, contemporary Web browsers, Web editors, Web development tools, Internet tools and services, Internet searching, web site design, web page publishing, JavaScript, Java Applets, CGI, Web security, creating dynamic web pages using a database and other web enabling tools. Prerequisite: None.

CPS2220 Introduction to Assembler Language (II;3) – Structure and organization of the VAX 11 Assembler Language, VAX 11 hardware organization, addressing modes, advanced data types, object code generation, multi pass assemblers, branching, linkage to higher level languages, disk and terminal input/output programming. Prerequisite: CPS 1192, or permission of instructor.

CPS2236. Contemporary Operating Systems (II;3) – The objective of this course is to tech basics of an operating system from the point of view of both end-users and programmers. Existing popular operating systems such as UNIX and Windows NT will be used as practical examples to work with. Students will learn about the history of UNIX, the UNIX file system, the Visual Editor (vi), UNIX communications, the UNIX shell, programming under UNIX, and system administration. NT topics will include NT tools, administering users, groups, profiles, printing, domain controllers, and other configuration, troubleshooting and management tasks as time permits. Prerequisite: None.

CPS2271 Data Structures (I;4) Linked Lists, doubly linked lists, circular lists, stacks, queues; search strategies, hashing; internal sorting algorithms, external sort/merge algorithms; binary trees, B-trees, B+ trees; sequential files, random access files, file update algorithms. Prerequisite; CPS1192

CPS2680. Scientific Visualization (II;3) – Survey of different visualization software tools, sources for data, visualization pipeline, grids, file formats, and graphics libraries; concepts of 2D and 3D coordinate systems, continuous and discrete systems, polygonal representation, lighting, shading, rendering pipeline, transforms and surfaces, camera, and applied visualization problems; grid representations, cell representations, ray casting, algorithms for manipulating images, and the limitations of grids; pipeline and isosurface, volumetric rendering, vector visualization, image processing, applications in the biological sciences, and other advanced topics and techniques. Prerequisite: CPS1192 Computer Science II. [Note: This course may be available only through the RRSCS Consortium]

CPS3316. Computer Networks (II;3) – This course teaches students fundamentals of computer networks, covering topics on local and wide area networks, media, topologies, layered networking models, hardware and software; network setup and administration, network architecture, communication protocols, and aspects of network administration that include server folders and permissions. Prerequisites: CPS1191.

CPS3320. Database Systems (II;3) – The objective of this course is to introduce relational database systems and provide practical experience in using a popular database package. Contemporary database systems such as Oracle and Microsoft Access will be used extensively in this course. Students will learn about relational database principles, the SQL query language, application development using forms, creating and using tables and queries, database design and implementation issues. Prerequisites: CPS1191 and CPS1192 or permission of instructor.

CPS3325. Java Programming (II;3) – The objective of this course is to teach the basis of Java programming and object-oriented programming. Students will learn both Applets and application programming in Java. The topics covered include compilers and interpreters, objects and primitive data, control flow, writing classes, enhancing classes, arrays, and vectors, inheritance, exceptions, and I/O streams, software engineering, recursive programming, and implementation of data structures. Prerequisites: CPS1191 or its equivalent.

CPS3330. Simulation and Modeling (I;3) – Importance of modeling to science and engineering,, history of modeling, cost effectiveness, time-effect; terminology, types of models and simulations; estimation of model outcomes, importance of model algebraic equations, computer visualization of models; validation of models with data, analysis of experimental errors, and systematic errors. Prerequisites: Calculus II. [Note: This course may be available only through the RRSCS Consortium]

CPS3340. Computer Architecture (II;3) – The goal of this course is to give students a solid foundation in the fundamental concepts of CPU, memory system and I/O system design, and to expose them to a number of more advanced topics in these areas. Instruction set architecture, memory subsystem organization, interfacing concepts and issues arising in managing communication with the processor are covered, as are a number of alternative computer architectures and an introduction to parallel and vector computers. Prerequisites: CPS1192 and INT3630.

CPS3450. Optimization (II;2) – Description and contrast of optimization methods such as Golden section search, Steepest Descent, Newton’s method, conjugate gradient, simulated annealing, and genetic algorithms; description and contrast of constrained optimization methods such as Lagrange multiplier, quasi-Newton, and penalty function method; analysis of linear programming methods such as the simplex method; description of non-linear programming methods such as, interior, exterior, and mixed methods; and utilization of software systems such as MATLAB, IMSL, NAG to solve practical optimization problems. Prerequisite: CPS3330. [Note: This course may be available only through the RRSCS Consortium]

CPS3370. Programming Languages (II;3) – This course teaches students fundamental concepts and constructs in several contemporary programming languages including topics on evolution of major programming languages, implementing subprograms, abstract data types, support for object-oriented programming in C++, Java, and Ada, exception handling, Functional Programming Languages, and Logic Programming Languages. Prerequisite: CPS1192.

CPS3381. Principles of Operating Systems (I;3) – Operating systems structure, concurrency, semaphores, process synchronization, deadlocks, CPU scheduling algorithms, disk scheduling algorithms, memory management, disk management and file systems. Prerequisite: CPS 2271.

CPS3465 Introduction to Parallel Computing (II;3) - Fundamentals of parallel computing including shared memory paradigm, semaphores, and dead lock; distributed memory paradigm including point-to-point and collective message passing constructs in MPI, parallel I/O, vector and structure derived data types; speed-up and scalability, check-point restart, parallel debugging; techniques, performance profiling, graphical and visualization techniques; parallel libraries, and systems modeling applications in high performance computing. Prerequisite: CPS331 Numerical Methods, or permission of instructor.

CPS4410. Formal Languages (II;3) - Sets, regular expressions, closure properties, parsing, finite state automata, pushdown automata; regular, context free, and contest sensitive grammars; Chomsky's hierarchy, and Turing machines. Prerequisite: CPS 3610.

CPS420. Software Engineering (II;3) – This course teaches students design and implementation issues for large software systems, software life cycle, requirements definition and specification, prototyping, verification, validation, equivalence classes and testing, fault-tolerance, social and ethical issues of commercial software, user interface, design, portability, and management. The goal of this course is to introduce students to methods for producing large-scale commercial software. They learn techniques for managing hardware, software, and personnel systems using a group oriented project production paradigm. Prerequisite: CPS2271.

CPS4460. Advanced Topics (I,II,III;1-5) – This course is designed to meet the needs of advanced students as a preparation for graduate study or students who wish to study additional programming languages not presented in other courses. Prerequisites: CPS1192 or permission of instructor.

CPS4895. Senior Project (I,II;3) – Students work under the mentorship of a faculty member to design, implement and present a capstone computer science project. Each student selects a topic for the project subject to approval of the faculty mentor, conducts a feasibility study and prepares a project design using flowcharts, structure charts and pseudo-code along with documentation and references. Each student must implement the project design and submit all program listings, data files, and report listing showing results of appropriate test runs. Each student must write a paper on the project from the external documentation and prepare appropriate visual aids for an oral presentation of the project to the Department. Prerequisite: CPS4420 or permission of the instructor.