Request Info > Apply > Visit Us >

Courses / Degree Requirements for the BS in Mathematics

The following is projected for students entering the university in 2019-20 and is subject to change.

To graduate with a BS in Mathematics: Math and Computer Science track, students must successfully complete:

Calculus, one of the most useful areas of mathematics, is the study of continuous change. It provides the language and concepts used by modern science to quantify the laws of nature and the numerical techniques through which this knowledge is applied to enrich daily life. Students gain a clear understanding of the fundamental principles of calculus and how they are applied in real-world situations. Topics include: limits, continuity, derivatives, applications of derivatives, integrals, and the fundamental theorem of calculus. Prerequisite: MATH 162
Calculus, one of the most useful areas of mathematics, is the study of continuous change. It provides the language and concepts used by modern science to quantify the laws of nature and the numerical techniques through which this knowledge is applied to enrich daily life. Students gain a clear understanding of the fundamental principles of calculus and how they are applied in real-world situations. Topics include: techniques of integration, further applications of derivatives, and applications of integration. Prerequisite: MATH 281
Calculus, one of the most useful areas of mathematics, is the study of continuous change. It provides the language and concepts used by modern science to quantify the laws of nature and the numerical techniques through which this knowledge is applied to enrich daily life. Students gain a clear understanding of the fundamental principles of calculus and how they are applied in real-world situations. Topics include: limits, continuity, derivatives, applications of derivatives, integrals, and the fundamental theorem of calculus. Prerequisite: MATH 286
Linear algebra is the study of linearity, the simplest form of quantitative relationship, and provides a basis for the study of many areas of pure and applied mathematics, as well as key applications in the physical, biological, and social sciences. Topics include: systems of linear equations, vector equations, matrices, the vector space Rn together with its bases, linear transformations, and eigenvectors and eigenvalues. Prerequisite: MATH 282
Discrete mathematics, the mathematical study of finite processes and discrete phenomena, is essential for computer science. Topics include: logic and sets, relations and functions, vertex-edge graphs, recursion, and combinatorics. (Same as CS 272) Prerequisite: MATH 162
Probability provides precise descriptions of the laws underlying random events, with applications in quantum physics, statistics, computer science, and control theory. Topics include: permutations and combinations, axiomatic definition of probability, conditional probability, random variables, discrete and continuous distributions, expectation and variance, and the central limit theorem. Prerequisite: MATH 282, MATH 283 recommended but not required.
This course covers programming in Java, specifically focusing on object-oriented concepts and creating GUI applications. Topics include: classes and objects, primitives and references, inheritance and polymorphism, interfaces and abstract classes, exception handling, GUI programming in Swing, and serialization and file I/O. Prerequisite: CS 201
Students use computer programming laboratory problems to apply the principles of data structure organization in a practical environment and develop advanced programming skills. The organizing power of knowledge is found to be the source of order in computer data structures. Topics include: abstract data types, internal representation of data, stacks, queues, linked lists, hash maps, binary trees, heaps, red-black trees, 3-4 trees and B trees. (4 credits) Prerequisites: MATH 162 and CS 203
Students are introduced to the study algorithms. Topics include: searching and sorting algorithms, computing time of programs and representations and algorithms for graphs. This course also includes a significant research paper around the efficiencies and running times of different algorithms (4 credits) Prerequisite: CS 221 and WTG 192
This course presents the internal structure of a computer, an introduction to assembly language, and the design of digital logic circuits and their use in structuring the various functional components of a computer, such as the memory and central processing unit. Topics include: machine organization, logic gates, circuits, machine language, assembly language, memory, I/O systems, and how these all combine to create typical and atypical architectures. (4 credits) Prerequisites: CS 201 and CS 272 / MATH 272
This course presents the fundamental principles of object-oriented programming. Students will learn how to write reusable and better-maintained software, and integrate this knowledge with laboratory assignments and projects. Topics include: fundamental principles and models of object-oriented programming, UML class diagrams and design principles that promote reusability and maintainability of software. Prerequisite: CS 221 or equivalent
This course introduces the student to best practices in software development through a software development methodology. Students will learn how to bring together their skills in object-oriented analysis and design, in the use of UML diagrams for modeling software solutions, to produce robust, easily maintainable software. A software development methodology describes when and how object-oriented concepts and UML diagrams should be used to accomplish the aim of building quality software. The course centers on a small project in which the principles discussed in the lecture format can be illustrated and applied. By the end of the course, the student will have a running application, built in accord with the high standards of a contemporary development methodology. (4 credits) Prerequisite: CS 401 or consent of the Department faculty
In this course students create an original software project from the ground up from the initial analysis and design phases through implementation and testing. Students are expected to submit several project proposals before the start of the course, and submit a written project postmortem at the end of the course. With Faculty approval this course can be extended to two months to facilitate a larger project. Prerequisite: CS 495 or CS 425