Courses
» Please see the Schedule of Classes for the current semester’s offerings.
COMPUTER SCIENCE (COMP)
MATHEMATICS (MATH)
COMP 1115C Introduction to Computer Applications and Programming (3 credits)
Windows operating system, basic concepts, and techniques of an office productivity suite. Microsoft Office Professional. Fundamentals of problem solving using computers. Internet readiness and search training. Web site design. Introduction to computer programming. Lecture: 3 hours; lab: 2 hours.
COMP 1300C Introduction to Computer Science and Programming (4 credits)
Components of a computer system; machine, assembly, and high-level languages; numerical systems and coding; representation of data and instructions; data types, constants, variables; arithmetic expressions; logical expressions; assignment statement; sequencing, alteration, and iteration; arrays, subprograms, and parameters; simple I/O; techniques of problem solving; flowcharting; stepwise refinement; simple numerical examples; basic search and sort algorithms. Principles of good programming style, expression, and documentation; control flow; invariant relation of a loop; stepwise refinement of statements and data structures, or top-down programming. Lecture: 3 hours; lab: 2 hours.
COMP 1320C Introduction to Data Structures (4 credits)
String processing, concatenation, substrings, matching, internal searching and sorting, recursion, linked lists and linear allocation (stacks, queues, deques). Elementary data structures, file structures and algorithms, searching and sorting, trees and algorithms for their manipulation, notions of algorithm complexity, memory and data management systems. Lecture: 3 hours; lab: 2 hours. Prerequisite: COMP 1300C.
COMP 1504 Discrete Structures (3 credits)
Boolean algebra and predicate calculus; proof methods; sets, functions, and relations; combinatorics; graph theory and algorithms; mathematical induction and recursion; probability and average case analysis of algorithms. Prerequisite: three years of high school mathematics.
COMP 1621 Theory of Computation (3 credits)
Deterministic and nondeterministic finite state automata; regular grammars and regular expressions; languages generated by regular expressions; equivalence of regular expressions and finite automata; solvable problems concerning finite automata; context-free grammars; languages generated by context-free grammars; derivation trees; simplification of context-free grammars; pushdown automata; properties of context-free languages; solvable and unsolvable problems concerning context-free languages; Turing machine model; Universal Turing machine; Halting problem; further examples of solvable and unsolvable problems about Turing machines, grammars, and sets. Prerequisite: COMP 1504C.
COMP 2113C Computer Organization and Assembly Language Programming (4 credits)
Basic logic functions. Synthesis of more complex combinational circuits. Electronic implementation of these functions. Simple synchronous circuits. Major components of a computer. Machine and assembly language instruction set. Implementation of the instruction set electronic circuits. Circuits needed to perform arithmetic operations. Memory and I/O implementation. Lecture: 3 hours; lab: 2 hours. Prerequisite: COMP 1300C.
COMP 2115C Computer Systems (4 credits)
(replaces COMP
2113C Computer Organization and Assembly Language Programming - Fall 2014)
The course is devoted to exploring the interaction
between a program, the operating system, and the hardware. Topics include: the
C programming language emphasizing pointers, explicit dynamic memory
allocation, and formatted I/O; machine-level representation of programs;
processor architecture; program optimization; the memory hierarchy; processes;
UNIX I/O; concurrent programming. The course will have both lecture and
laboratory components. Prerequisite: COMP 1300C
COMP 2314C Applied Linux Programming and Scripting (4 credits)
The Linux Operating System provides the infrastructure that powers the vast majority of the Internet.This course introduces Linux, with a focus on the operating system features that are accessible from the command line and programming or scripting languages such as Python and Awk. Through significant programming projects, students will learn how to develop and manage software within the Linux environment, with emphasis on applications that manipulate real-life datasets and interface with the Internet. Topics will also include pipes, redirection, process management, and shell programming. Pre-requisite: COMP 1300C.
COMP 2512 Networking and Communication (3 credits)
Fundamentals of networking and communications: network concepts, hardware, software, and programming. Data communications; wide and local area networks; communications architecture and protocols. Network programming in C/C++ and Java. Advanced elective. Prerequisite: COMP 2545C.
COMP 2545C Algorithms (4 credits)
Advanced data structures and algorithms: tables, AVL and red-black trees, B and B+ trees, heaps, disjoint sets. Graph algorithms: minimum spanning trees, shortest path, and maximum flow algorithms. Selected algorithms in parallel computers, string matching, and computational geometry. Lecture: 3 hours; lab: 2 hours. Prerequisites: COMP 1320C, COMP 1504C, MATH 1412.
COMP 3511 Algorithmic Processes (3 credits)
Design of algorithms and applications of data structure permutations, polynomials, derivations, matrices, sorting, discrete simulation; list marking, garbage collection, analysis of algorithms; space and time efficiency; comparison of sorting techniques; discrete Fourier Transform; pattern matching; computational models, Turing machines, complex hierarchies. Advanced elective. Prerequisite: COMP 2545C.
COMP 3563 Database Systems (3 credits)
Goals of DBMS, including data independence, relationships, logical and physical organization, schema and subschema; hierarchical, network, and relational modes; examples of implementation of various models; first, second, and third normal forms of data relations; canonical schema; data independence; data description languages: forms, applications, examples, design strategies; query facilities: relational algebra, calculus, data structures for establishing relations; query functions; file organization; index organization; file security; data integrity and reliability. Overview of Internet and World Wide Web information storage and retrieval systems, languages and methods. Advanced elective. Prerequisite: COMP 2545C.
COMP 3610 Operating Systems (3 credits)
Review of instruction sets. I/O and interrupts, addressing schemes, microprogramming; dynamic procedure activation; dynamic storage allocation; design methodology, monitors, kernels, networks of operating system modules; elementary queuing; memory management: virtual memory, paging, segmentation; memory protection; multiprogramming. Operating system concerns for internet and intranet operations, distributed computing, and the handling of critical security issues. Prerequisites: COMP 1320C, 2113C.
COMP 3640 Programming Languages (3 credits)
Formal language concepts, including basic characteristics of syntax and grammars; regular, context-free, and ambiguous grammars; constructs for specifying and manipulating data types; language features affecting static and dynamic storage management; control structures and data flow; subroutines, procedures, block structures, interrupts, decision tables, recursion; relationship with good programming style; runtime considerations; interpretative languages, lexical analysis and parsing. Prerequisites: COMP 1320C, COMP 1621.
COMP 3645 Compiler Theory (3 credits)
Grammars, languages, and their syntax and semantics; parsing and ambiguity; scanners; implementation of symbol tables; parsers; major parsing algorithms; techniques for machine-independent code generation; code optimization; syntax-directed translation schema. Advanced elective. Prerequisites: COMP 2545C, COMP 3640.
COMP 3760 Artificial Intelligence (3 credits)
Heuristic versus algorithmic methods, cognitive processes, investigation of methods of making machines behave intelligently, problem solving, theorem probing, game playing, pattern recognition, question answering, learning self-organization, methods of programming such procedures, data structures and program organization; the mind-brain problem; the nature of intelligence. Advanced elective. Prerequisite: COMP 2545C.
COMP 3764 Expert Systems (3 credits)
Introduction to expert systems; components of an ideal expert system: knowledge base, rules, interpreter; secondary components: justifier, scheduler, consistency enforcer, blackboard; search space size, exhaustive search, single line of reasoning, hierarchical, generate, and test; combining evidence from multiple sources; utilizing meta-knowledge; meta-rules and their source; detecting simple errors in rules; justification of rules; expert system tools: EMYCIN, OPS5, HEARSAYIII. Advanced elective. Prerequisite: COMP 2545C.
COMP 3772 Computer Graphics (3 credits)
Software, hardware, and mathematical tools for the representation, manipulation, and display of topological and two and three-dimensional objects; display devices; problems and objectives of computer graphics; point, vector, curve, and character generation; interactive versus passive graphics; graphics data structures, graphics packages and graphics languages; two-dimensional graphics: generation, transformation, window clipping, segmented display files and display procedures; interactive graphics: input devices, input techniques, event handling, and input functions; raster graphics fundamentals; three-dimensional graphics: hidden-line problems, windowing, transformations, perspective projections, and shading. Advanced elective. Prerequisites: COMP 2545C, MATH 1412, MATH 2105.
COMP 3780 Web Programming & Development (3 credits)
The world-wide web was originally a vehicle for delivering documents. It still does this, but its most demanding current uses are as a platform for sophisticated interactive applications, replacing traditional mechanisms for distributing and installing software. Creating web applications requires different approaches from traditional applications and involves the integration of numerous technologies. This course introduces web technologies and gives the student experience creating web applications. In the process, students learn about markup languages, scripting, network protocols, interactive graphics, event-driven programming, and databases. Students also explore the way web applications can be exploited by malicious hackers, and the defensive strategies to keep hackers at bay. Prerequisite: COMP 1300
COMP 4500 Topics: Computational Methods in Scientific Research (3 credits)
Use of computers to solve real problems in biology, physical sciences and economics. Numerical methods and data analysis, and how to visualize results with plots and movies. Prerequisites: MATH 1412. Recommended: PHYS 1032C or 1042C.
COMP 4512 Advanced Java Programming (3 credits)
Review of Java Standard Edition: classes, interfaces, event handling, GUI, applets, strings, streams and files. Multithreading, advanced GUI, advanced data structures, network programming, JavaBeans. Introduction to Java Enterprise Edition: servlets and JSP. Design Patterns: Model-View-Controller, Value Object, Data Access, Business Delegate, Front Controller. Security. Advanced elective. Prerequisites: COMP 2545C, COMP 3640.
COMP 4541 Numerical Analysis (3 credits)
Finite difference calculus; numerical solution of differential equations and linear systems of equations; iterative methods; computation of eigenvalues and eigenvectors. Advanced elective. Prerequisite: MATH 1413
COMP 4901, COMP 4902 Independent Study
See Academic Information and Policies section.
COMP 4930 Topics in Computer Science
BACK TO TOP
MATH 1010 Excursions in Mathematics (3 credits)
This course is intended for non-science majors and Education majors. Several topics will be taught in depth from the following list: Sets of numbers, geometry, elements of probability and statistics, consumer mathematics, linear programming.
MATH 1020 Introduction to Finite Mathematics (3 credits)
Elements of probability, methods of counting, and combinatorics; linear equations and inequalities; analytic geometry of lines and planes; vectors and matrices; applications to social and management sciences. Prerequisite: two years of high school mathematics.
MATH 1160 Introduction to Elementary Functions (4 credits)
Number systems, functions, equations, and inequalities; algebra of polynomials, exponentials, and logarithms; analytic geometry of lines and circles; vectors, trigonometry, and complex numbers. Lecture: 3 hours; recitation: 2 hours.. Prerequisites: two years of high school mathematics and placement by examination.
MATH 1412, MATH 1413 Calculus I, II (4 credits)
First semester: limits, derivatives, and integrals; continuous and differentiable functions, mean value theorem, chain rule, implicit differentiation. Applications: curve sketching, maxima and minima, related rates, motion, area. Trigonometric, inverse trigonometric, logarithmic and exponential functions. Second semester: methods of integration, area, moments, volume. Indeterminate forms, improper integrals, sequences and series. Parametric equations, arc length and polar coordinates. Lecture: 3 hours; recitation: 2 hours. Prerequisites: three years of high school mathematics and placement by examination or MATH 1160.
MATH 1504 Discrete Structures (3 credits)
Boolean algebra and predicate calculus; proof methods; sets, functions, and relations; combinatorics; graph theory and algorithms; mathematical induction and recursion; probability and average case analysis of algorithms. Prerequisite: three years of high school mathematics.
MATH 1510 Multivariable Calculus (4 credits)
Limits and continuity in Euclidean spaces; partial derivatives, gradient, and chain rule; maxima and minima with constraints; multiple integrals, cylindrical and spherical coordinates; vector calculus; theorems of Green, Gauss, and Stokes. Prerequisite: MATH 1413.
MATH 1520, MATH 1521 Advanced Calculus I, II (3 credits)
Real numbers; theorems on limits; continuous, differentiable, and integrable functions; sequences and series of functions; metric space methods, fixed points, existence theorems for differential equations; implicit function theorem. Prerequisites: MATH 1413 and permission of the instructor.
MATH 1540, MATH 1541 Functions of a Complex Variable I, II (3 credits)
Analytic functions, Cauchy-Riemann equations, Cauchy integral formula, residue theory, conformal mappings. Prerequisite: MATH 1520 or permission of the instructor.
MATH 2105 Linear Algebra I (3 credits)
Systems of linear equations, Gaussian elimination, matrices matrix algebra; vector spaces, linear transformations, similarity; inner product spaces; determinants; eigenvalues and eigenvectors, diagonalization; quadratic forms; canonical forms; spectral theory; applications. functions. Prerequisite: MATH 1412.
MATH 2168 Elementary Number Theory (3 credits)
Properties of integers, Euclidean algorithm, unique factorization, arithmetic functions, perfect numbers, linear and quadratic congruences, public-key encryption.
MATH 2215, MATH 2216 Modern Algebra I, II (3 credits)
Basic concepts of an algebraic system, a sub-system, a factor-system, an isomorphism and a homomorphism. Examples and initial results from the theory of groups, rings, and fields. The second semester will be devoted to advanced topics, including recent developments. Prerequisite: MATH 2105 or permission of the instructor.
MATH 2461 Probability Theory (3 credits)
Discrete and continuous sample spaces; combinatorial analysis; density and distribution functions of random variables; expectation and variance; independence and conditional probability; law of large numbers; central limit theorem; generating functions; random walk and ruin problems. Prerequisite: MATH 1510.
MATH 2462 Mathematical Statistics (3 credits)
Application of probability theory to the classical parametric models: moment-generating functions, chi-square and t distributions, central limit theorem, sampling distributions, maximum likelihood and interval estimation, confidence intervals, hypothesis testing; nonparametric models; the Bayesian controversy. Examples from natural science and social and behavioral research. Prerequisite: MATH 2461.
MATH 2601 Differential Equations (3 credits)
Classification of differential equations; existence and uniqueness of solutions; initial-value problems, boundary-value problems; power series methods, integral transforms; numerical algorithms and error estimation; topological methods. Prerequisite: MATH 1413.
MATH 2611 Partial Differential Equations (3 credits)
Solution of parabolic, hyperbolic and elliptic equations, initial and boundary value problems arising in physical situations such as heat conduction, wave propagation and gravitational potential, method of characteristics, separation of variables, Laplace and Fourier transforms. Prerequisites: MATH 1510, MATH 2601.
MATH 2651 Numerical Analysis (3 credits)
Finite difference calculus; numerical solution of differential equations and linear systems of equations; iterative methods; computation of eigenvalues and eigenvectors. Advanced elective. Prerequisite: MATH 1413.
MATH 2901 Mathematics of Finance (3 credits)
Discrete models for options, pricing derivatives,continuous stock price models, Brownian motion, the Black-Scholes formula, the Black-Scholes differential equation, hedging options, dynamic programming, bond price models, yield curves, forwards and futures, Keynes interest rate parity formula, Prerequisite: familiarity with differential equations.
MATH 3301, MATH 3302, MATH 3303, MATH 3304 Topics in Modern Mathematics (3 credits)
Selected subjects in analysis, algebra, geometry, actuarial, and applied mathematics. Students may register for up to four semesters with permission of the Department Chair. Prerequisites: junior status and permission of the instructor.
BACK TO TOP