MTH 1750. College Algebra (I, II; 3) — Topics include functions, systems of linear equations, inequalities, matrices, variations and conic sections, exponential and logarithmic functions, sequences, series, and the binomial theorem. Prerequisite: MTH 0421 or placement test.
MTH 2001. Probability and Statistics I (I, II; 3) — Topics include measures of central tendency, measures of dispersion, probability models, conditional probability, combinations, distributions and estimation.
MTH 2002. Probability and Statistics II (I, II; 3) — Topics include hypothesis testing populations means, proportions, variances, contingency tables, regression, ANOVA, computer applications and non-parametric statistics. Prerequisite: MTH 2001.
MTH 2501. Trigonometry (I, II; 3) — Topics include algebraic functions, trigonometric functions, exponential and logarithmic functions, lines, polar coordinates, vectors in the plane, and complex numbers. Prerequisite: MTH 1650 or MTH 1750.
MTH 2502. Calculus I (I, II; 4) — Topics include the derivative techniques of differentiation, implicit differentiation, higher derivatives, graphing, maxima and minima, plane curves, and motion. Prerequisite: MTH 2501.
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, power series, Taylor and MacLaurin series. Calculation and application of the dot and cross products of vectors. Prerequisite: MTH 2502.
MTH 3000. Geometry for Teachers (I, 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 1650 or MTH 1750.
MTH 3001. Linear Algebra (I, II; 3) — Topics include matrices, determinants, linear systems, vector spaces, linear transformations, eigenvalues and eigenvectors. Prerequisite: MTH 2503.
MTH 3002. Multivariate Calculus (II; 4) — Topics include the theory of infinite series, analytic geometry of space, vector in space, partial derivatives, and multiple integrals. Prerequisite: MTH 3001.
MTH 3110. Differential Equations (I; 3) — Topics include first and second order, linear, simultaneous equations, Laplace transforms, and applications. Prerequisite: MTH 3001.
MTH 3310. Numerical Methods (II; 3) — Solutions of equations, successive approximations, Newton-Raphson Method, roots of polynomials, error analysis and process graph simultaneous linear and non-linear equations. Prerequisites: CPS 1192 and MTH 3001 or permission of instructor. algebraic numbers, and complex fields. Prerequisites: CPS 1191 and MTH 3001.
MTH 3610. Introduction to Discrete Structures (I, II; 3) — 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 3520.
MTH 3620. Seminar (II; 2) — Topics include the nature of mathematics, topics from the history of mathematics, problem-solving techniques, mathematical induction, and others. Prerequisite: MTH 2503.
MTH 4030. History of Mathematics (II; 3) — The development of mathematics from ancient times to the twentieth century. Prerequisite: MTH 2503.
MTH 4120. Advanced Calculus (I, II; 3) — Topics include the system of real numbers, the Dedekind cut, functions, sequences, limits continuity, differential functions, the theory of integration, improper integrals, line integrals, surface integrals, and infinite series. Prerequisites: MTH 3002, 3520 and 3610.
MTH 4600. Selected Topics in Mathematics (I, II; 3) — This course is designed to meet the needs of advanced students as a preparation for graduate study. Possible topics include topology, group theory, projective geometry, real analysis: probability, mathematical statistics, and combinatorial analysis. Prerequisite: Permission of the instructor.
MTH 4730. Functions of a Complex Variable (I, II; 3) — 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.
MTH 4897. Mathematics for Graduate Studies (I, II; 3) — Topics include calculus, linear algebra, complex variables, abstract algebra, and differential equations. Prerequisites: MTH 3610, 4120 and 4730.
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.
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.