Mathematics and Computer Science
The primary goal of the programs in mathematics and computer science at Holy Cross is to enable students to become active participants in the study of fundamental and dynamic areas of human endeavor. The inherent structure and beauty of mathematics is at the core of all mathematical inquiry. Mathematics is also the language of the sciences and social sciences, and in our increasingly technology-driven society, it is part of our daily public discourse. Computing has become an indispensable tool for scientific and mathematical experimentation. The academic discipline of computer science studies algorithms, data structures, and their realization in software and hardware systems. It addresses the fundamental questions: What is computable in principle? And what tasks are algorithmically feasible? Thus the programs in mathematics and computer science are both informed by other disciplines and seek out ways that mathematics and computing have an impact on the world at large. In this context the department works toward helping students to become knowledgeable and sophisticated learners, able to think and work independently and in concert with their peers.
The department offers a number of introductory courses, a major in mathematics, a major in computer science, a minor in computer science, and a minor in statistics. Computing courses do not count toward the maximum number of courses that may be taken in one department for mathematics majors, nor do mathematics courses count toward the maximum number of courses that may be taken in one department for computer science majors.
Advanced Placement Credit
Holy Cross awards credit for Advanced Placement exams taken through the College Board Advanced Placement Program and the International Baccalaureate Program and will accept some Advanced Level General Certificate of Education (A-Level) exams. One unit of credit is awarded for an Advanced Placement score of 4 or 5 in any discipline recognized by the College. One unit of credit is awarded for a score of 6 or 7 on a Higher Level International Baccalaureate Examination in a liberal arts subject. One unit of credit is awarded for a score of A/A* or B on an A Level exam in a liberal arts subject. The College does not award credit for the IB Standard Exam or the A-Level Exam. AP, IB, and A-Level credit may be used to satisfy deficiencies and common area requirements. Each academic department has its own policy regarding the use of AP or IB credit for placement in courses and progress in the major. The Department Chair must also review the A-Level score to determine placement in courses and progress in the major. See departmental descriptions for further information.
AP Calculus
Students who have received a score of 4 or 5 on the AP Calculus AB exam, or a subscore of 4 or 5 on the AP Calculus BC Exam, will earn credit for MATH 135 Calculus 1 and are advised to take MATH 136 Calculus 2. Students will forfeit their credit if they opt to take MATH 133 Calculus 1 with Fundamentals or MATH 135 Calculus 1. Students who receive a score of 4 or 5 on the AP Calculus BC exam will earn credit for MATH 136 Calculus 2 and are advised to take MATH 241 Multivariable Calculus. Students will forfeit their credit if they opt to take MATH 133 Calculus 1 with Fundamentals, MATH 135 Calculus 1 or MATH 136 Calculus 2.
AP Statistics
Students who have received a score of 4 or 5 on the AP Statistics exam will earn one unit of credit for STAT 100. Students will forfeit their AP credit if they opt to take any 100- or 200-level statistics course at the College, including STAT 120 Statistical Reasoning, STAT 220 Statistics, BIOL 275 Biological Statistics, ECON 149 Statistical Analysis, ECON 249 Statistics, PSYC 200 Statistics, and SOCL 226 Social Statistics.
AP Computer Science
Students who have received a score of 4 or 5 on the AP Computer Science A exam will earn one unit of credit for CSCI 131 Techniques of Programming and are advised to take CSCI 132 Data Structures. Students will forfeit their AP credit if they opt to take CSCI 110 Survey of Computer Science or CSCI 131 Techniques of Programming. Students who have received a score of 4 or 5 on the AP Computer Science Principles exam will earn credit for CSCI 110 Survey of Computer Science. Students will forfeit their AP credit if they opt to take CSCI 110 Survey of Computer Science.
Introductory Courses
There are a number of introductory courses that satisfy a Common Area Requirement in Mathematical Science, including CSCI 110 Survey of Computer Science, MATH 110 Topics In Mathematics, and STAT 130 Introduction to Data Science. These are recommended for students who are not considering a major in mathematics, computer science, economics, accounting, the sciences, and who are not aspiring to the health professions.
Calculus
MATH 133 Calculus 1 with Fundamentals, MATH 135 Calculus 1, MATH 136 Calculus 2 and MATH 241 Multivariable Calculus are for students who are interested in pursuing a major in mathematics, computer science, economics, accounting, the sciences, or who are aspiring to the health professions. Successful completion of MATH 136 Calculus 2 fulfills any college requirement for a full year of calculus.
Students considering any of these fields that may need calculus and/or statistics and should consult the specific major requirements elsewhere in the catalog. Students with little or no calculus background should enroll in MATH 135 Calculus 1. Students with some calculus background should enroll in either MATH 135 Calculus 1 or MATH 136 Calculus 2. Students who have earned advanced placement credit should follow the guidelines above. Students who have successfully completed a year of calculus in high school, but who did not take the AP exam, or who scored a 3 or lower on the AP Calculus AB exam may consider starting with MATH 136 Calculus 2, but only if they feel that they were successful in a strong high school course.
The sequences MATH 133 Calculus 1 with Fundamentals, and MATH 135 Calculus 1, MATH 136 Calculus 2 are alternatives to each other. MATH 133 Calculus 1 with Fundamentals is available for students who are particularly concerned about their algebra and pre-calculus preparation, in addition to having had no previous calculus. Only students interested in the specific fields listed above who feel they need additional class time to adjust to college mathematics should consider MATH 133 Calculus 1 with Fundamentals. MATH 133 Calculus 1 with Fundamentals meet for extra time each week and have a weekly tutorial session to provide additional support. Enrollment is by permission only.
No student may earn credit for any two of MATH 133 Calculus 1 with Fundamentals and MATH 135 Calculus 1, or, similarly, for MATH 136 Calculus 2.
Statistics
STAT 130 Introduction to Data Science is an introductory course intended for students who are not interested in pursuing mathematics, economics, biology, psychology, sociology, or the health professions. Any such students should take a 200-level statistics course instead, ideally one within their major. Statistics is a part of the health professions curriculum, but many majors at the College offer their own statistics courses that are tailored to their disciplines. Health profession students are advised to take the statistics course in their major, should it offer one. Otherwise, students should take STAT 220 Statistics some time after their first year at the College.
Computer Science
CSCI 110 Survey of Computer Science is a breadth-first general introduction to computer science. It is intended for students not majoring in mathematics, computer science, or the sciences, and does not count toward the requirements for the major or minor in computer science. CSCI 131 Techniques of Programming is for students considering further course work in computing or students majoring in any field in which computing plays a significant role.
Other Information
The O’Callahan Science Library in the Swords Science Center and the College’s extensive major computing facilities are described elsewhere in the Catalog. In addition, computer science and mathematics students have the opportunity to use the Department’s PC laboratory in the lower-division mathematics courses and selected computer science courses as well as the Linux network in upper-division mathematics courses and most computer science courses. The McBrien Student Lounge provides a space for students to socialize and study.
Students who are interested in teaching mathematics at the secondary school level and wish to undertake the College program leading to licensure, should consult with the Department Chair and with the Director of the Teacher Education Program. Students who are interested in majoring in mathematics and participating in the 3-2 Program in Engineering should consult with the director of that program and the Chair of the Department.
Mathematics Honors Program
The program has two levels of distinction, Honors and High Honors. High Honors is distinguished from Honors by the successful completion of an honors thesis. Any questions concerning the program should be directed to the Department Chair.
GPA Requirements for Honors and High Honors
The average GPA for mathematics courses above the level of Mathematics 136 must be at least 3.50 at the end of the fall semester of the fourth year.
Course Requirements for Honors and High Honors
All regular course requirements for the mathematics major. In addition, for Honors, students must take at least seven courses numbered above 300.
Fourth-Year Honors Presentation
During the fourth year all Honors majors must give an oral presentation open to the department. This may be related to their course work but it is not intended to duplicate material normally in the curriculum. It may be a presentation that originated in a project course. The goal is to ensure a certain degree of mathematical literacy among the Honors majors.
Fourth-Year Honors Thesis for High Honors
This is a large project typically extending over the course of the fourth year. The thesis can either consist of original research or be of an expository nature and is written under the guidance of one or more members of the department. It will culminate in an oral presentation during the spring term of the fourth year, which will be accompanied by a written report of the year’s work. Typically, a student earns one unit in each semester of the fourth year for completion of the thesis.
Computer Science Honors Program
Computer Science majors meeting certain course and GPA requirements are eligible for the Computer Science Honors program. Before August 1 of the fourth year at the College, interested students should discuss potential research topics with computer science faculty, develop a research plan, and submit a written proposal and academic plan to the Computer Science Program Coordinator. A committee of computer science faculty reviews proposals before the start of the fall semester. Students accepted into the program will complete and present a thesis research project during their fourth year.
Course Requirements for Computer Science Honors
Before the end of the third year, students must complete all 100-level and 200-level required courses, and at least two courses chosen from CSCI 324 (Programming Languages: Design and Implementation) and the 300-level electives. In addition to the requirements for the Computer Science Major, students in the Computer Science Honors program complete a one-semester or two-semester research project under the direction of a computer science faculty member. The research project may take the form of CSCI 410 Directed Project (one or two semesters), CSCI 495/496 Computer Science Honors Thesis (two semesters), or, where appropriate, thesis research for the College Honors program. The research project culminates in a paper and a public presentation hosted by the department or the College Academic Conference.
GPA Requirement for Computer Science Honors
The average GPA for courses in Computer Science at or above the 200-level must be 3.5 or above by the end of the third year, and this GPA must be maintained during the fourth year.
Cristina M. Ballantine, Ph.D., Professor, Distinguished Professor of Science
Laurie A. Smith King, Ph.D., Professor
Steven P. Levandosky, Ph.D., Professor
Gareth E. Roberts, Ph.D., Professor
Constance S. Royden, Ph.D., Professor
Eric R. Ruggieri, Ph.D., Professor, Chair
Edward J. Soares, Ph.D., Professor
Alisa A. DeStefano, Ph.D., Associate Professor
Zack Fitzsimmons, Ph.D., Associate Professor
Sharon M. Frechette, Ph.D., Associate Professor
Shannon R. Stock, Ph.D., Associate Professor
Kevin A. Walsh, Ph.D., Associate Professor
Ting Gu, Ph.D., Assistant Professor
Adam C. Lammert, Ph.D, Assistant Professor
Farhad Mohsin, Ph.D., Assistant Professor
Xavier Ramos-Olivé, Ph.D, Assistant Professor
Margaret H. Regan, Ph.D., Assistant Professor
Rebecca R. Winarski, Ph.D., Assistant Professor
Neranga Fernando, Ph.D., Visiting Assistant Professor
Nishanth Gudapati, Ph.D, Visiting Assistant Professor
Matthew Jones, Ph.D, Visiting Assistant Professor
Timothy McEldowney, Ph.D, Visiting Assistant Professor
Pawan Gupta, M.S., Visiting Lecturer
Academic Plans within Mathematics and Computer Science
Other Academic Plans Accepting/Requiring Mathematics and Computer Science Course Work:
Mathematics (MATH)
Consideration of diverse subjects in mathematics. Content varies from semester to semester with specific subject matter for each course announced just prior to enrollment. Designed for non-majors who wish to study mathematics other than calculus. This is the preferred course for students interested in taking just one mathematics course at the College.
Students who have taken Math 120, 133, 134, 135, 136 are not eligible to enroll in the class
GPA units: 1
Common Area: Mathematical Science
Typically Offered: Annually
This course serves two primary purposes. It provides an introduction to mathematical reasoning, logic and proof. It also provides an introduction to a variety of important topics frequently used in mathematics and computer science, including sets, functions, relations, binary operations, combinatorics, graphs, and elementary number theory.
GPA units: 1
Common Area: Mathematical Science
Typically Offered: Fall, Spring
A version of Mathematics 135 that is designed for students who require more class time to make the transition to college-level mathematics. See the description of Introductory Courses before choosing this course. See the description of Mathematics 135 for the course content. This course meets five hours per week.
Students who have taken MATH 135 may not enroll in this class.
GPA units: 1.25
Common Area: Mathematical Science
Typically Offered: Fall, Spring
This is the standard version of Calculus at the College. Considers the calculus of real-valued functions of one variable for students who are planning further course work in mathematics, a major in the social or physical sciences, or the premedical program. Emphasis is placed on a conceptual understanding of calculus, presenting material from symbolic, numerical, and graphical points of view. The concepts of limit, continuity, and derivative are developed and applied to algebraic, logarithmic, exponential and trigonometric functions.Applications of the derivative are explored. This course meets three hours per week.
Students who have earned credit for a course equivalent to Calculus 1 or above cannot enroll in MATH 135.
GPA units: 1
Common Area: Mathematical Science
Typically Offered: Fall, Spring
Considers the calculus of real-valued functions of one variable for students who are planning further course work in mathematics, a major in the social or physical sciences, or the premedical program. Emphasis is placed on a conceptual understanding of the calculus, presenting material from symbolic, numerical, and graphical points of view. Course content include the theory, evaluation, and applications of integration, sequences and series including Taylor polynomials and series, and an introduction to ordinary differential equations. This course is the prerequisite for Mathematics 241. This course meets four hours per week.
Students who have earned credit for a course equivalent to Calculus 2 or above cannot enroll in MATH 136. Intended for students who have completed one year of Calculus at the high school level.
GPA units: 1.25
Common Area: Mathematical Science
Typically Offered: Fall, Spring
A study of the calculus of functions of several variables. Concerns the theory and applications of differentiation and integration of functions of several variables, vector fields, line integrals, Green's theorem.This course meets four hours per week.
Prerequisite: MATH 134 or MATH 136 or equivalent
GPA units: 1.25
Common Area: Mathematical Science
Typically Offered: Fall, Spring
An introduction to the primary algebraic and analytic structures in abstract mathematics. Emphasis is placed on using the language of sets, equivalence relations and functions, and on developing techniques of proof, including elementary logic and mathematical induction, basic group theory, and limits.
Prerequisite: MATH 134 or MATH 136 or equivalent
GPA units: 1
Common Area: Mathematical Science
Typically Offered: Fall, Spring
Designed to acquaint students with the basic techniques of linear algebra. Topics include matrices, vector spaces, subspaces, linear transformations, bilinear forms, determinants, eigenvalue theory, and the finite dimensional spectral theorem. Applications and additional topics are included as time permits.
Prerequisite: MATH 134 or 136
GPA units: 1
Common Area: Mathematical Science
Typically Offered: Fall, Spring
Centers on some area of geometry other than differential geometry. Possible topics include Euclidean and non-Euclidean geometry, projective geometry, the geometry of transformation groups, and the elementary geometry of algebraic curves.
Prerequisite: MATH 243
GPA units: 1
Typically Offered: Alternate Years
A first course in the differential geometry of curves and surfaces for students who have completed Mathematics 241 and a semester course in linear algebra. Topics include the Frenet-Serret formulas, smooth surfaces in 3-space, fundamental forms, differentiable manifolds, vector fields, connections and a brief introduction to Riemannian geometry.
Prerequisite: MATH 241 and MATH 244
GPA units: 1
Typically Offered: Alternate Years
Introduction to the role of mathematics as a modeling tool, including the construction, interpretation and application of mathematical models. Applications chosen to illustrate various modeling paradigms such as deterministic, probabilistic, discrete and continuous modeling and may include population dynamics, biomedical applications, stock market analysis, and network and traffic flows.
Prerequisite: MATH 241 and MATH 244 or equivalent or permission from Instructor.
GPA units: 1
Typically Offered: Alternate Years
Linear differential equations are studied; basic existence theorems are proved. Separation of variables, Laplace transforms, first- and second-order equation and linear systems, and topics in nonlinear systems are considered. Breadth area: Applied Mathematics/Statistics.
Prerequisite: MATH 241 and MATH 244
GPA units: 1
Typically Offered: Alternate Years
The fundamentals of complex analysis. Topics include the complex number system, analytic functions, the Cauchy-Riemann equations, Cauchy's integral theorem, Cauchy's integral formula, Taylor series, Laurent series, the calculus of residues and conformal mapping.
Prerequisite: MATH 241 and MATH 243
GPA units: 1
Typically Offered: Alternate Years
An in-depth study of the structure of groups, rings and fields. Depending on the instructor, applications to Galois theory, number theory, geometry, topology, physics, etc., are presented.
Prerequisite: MATH 243 244
GPA units: 1
Typically Offered: Fall, Spring
A continuation of Mathematics 351 exploring advanced topics and applications in modern algebra.
Prerequisite: MATH 351
GPA units: 1
Typically Offered: Alternate Years
Elementary number theory is concerned with properties of numbers (integers, primes, etc.) as well as patterns and relationships among certain sets of numbers. Topics will include divisibility, congruences, special types of primes, the distribution of primes throughout the integers, number-theoretic functions, quadratic residues, and continued fractions. Further study may include the RSA code, a superior encryption algorithm based on elementary number theory, and a discussion of one of the most famous problems in mathematics - Fermat's Last Theorem - conjectured in 1630 yet unsolved until the 1990s.
Prerequisite: MATH 243 and 244 or permission of the instructor.
GPA units: 1
Typically Offered: Alternate Years
An introduction to the subject that discusses a representative sampling of combinatorial problems and general techniques for solving them, including a selection of counting techniques, techniques for existence questions, and a variety of examples. Examples may include partitions, graphs and trees, tournaments, graph coloring and chromatic polynomials, magic squares, Latin rectangles and squares, and combinatorial block designs.
Prerequisite: MATH 243.
GPA units: 1
Typically Offered: Alternate Years
Topological ideas are introduced through a treatment of metric space topology. After the study of open, closed, compact and connected spaces with emphasis on their behavior under continuous mappings, selected topics from functional analysis are considered. These include lim sup and lim inf, relation of uniform convergence to differentiation and integration, and the Stone-Weierstrass approximation theorem.
Prerequisite: MATH 243
GPA units: 1
Typically Offered: Fall, Spring
A continuation of Mathematics 361 exploring advanced topics, including an introduction to Lebesgue-Stieltjes integration, Hilbert space and other material from linear space theory.
Prerequisite: MATH 361
GPA units: 1
Typically Offered: Alternate Years
Considers various aspects of topology of surfaces and solids, including orientability, the Euler number, and the fundamental group. One of the goals of the course is the topological classification of surfaces.
Prerequisite: MATH 241, MATH 243 and Prereq or Coreq MATH 244
GPA units: 1
Typically Offered: Alternate Years
The numerical solution of problems using computers. Considerable time is devoted to selecting the appropriate algorithm for a given problem and analyzing the resulting numerical errors. Includes such topics as error analysis of computer arithmetic, approximation of functions, solution of equations, numerical integration, numerical solution of ordinary differential equations.
Prerequisite: MATH 241, and either MATH 244 or PHYS 221. Students who have taken MATH 136 and CSCI 131, see instructor for permission .
GPA units: 1
Typically Offered: Alternate Years
Provides an understanding of a wide spectrum of phenomena through the use of mathematical ideas, abstractions, and techniques. Topics included are partial differential equations, including the heat and wave equations, Fourier analysis, eigenvalue problems, Green's functions.
Prerequisite: MATH 241 and 244
GPA units: 1
Typically Offered: Alternate Years
An introduction to the theory of discrete dynamical systems. Topics include iteration of functions, graphical analysis, periodic points, stable sets, chaos, symbolic dynamics, the dynamics of functions of a complex variable and the Mandelbrot set. The major theorems will be studied along with their proofs and the computer will be used as a research tool to do experiments which motivate and illustrate the theory.
Prerequisite: MATH 241 and MATH 243.
GPA units: 1
Typically Offered: Alternate Years
Provides an opportunity for individual and group investigation of topics not covered in ordinary course work. Active participation on the part of the students is normally required. Subject matter varies to suit individual students and is often related to the research activity of the professor. Examples of areas of study: Lie groups, functional analysis, complex analysis, probability theory, commutative algebra, applied mathematics, the classical groups, mathematical logic, automata and formal languages, topics in discrete modeling, and qualitative theory of differential equations.
Prerequisite: MATH 241 and MATH 244.
GPA units: 1
Typically Offered: Annually
An independent reading project for upper division students. Normally this is on a topic that is not covered by the regular course offerings. Permission of the instructor and the department chair is required for this course.
GPA units: 1
Typically Offered: Fall, Spring
A project course for upper division students under the direction of a faculty member. Normally the project will provide an introduction to research on a topic that is not covered by the regular course offerings. Course requirements are to be arranged in consultation with the instructor. Permission of the instructor and the department chair is required for this course.
GPA units: 1
Typically Offered: Fall, Spring
A large project extending over the course of the fourth year. It can consist of original research or be of an expository nature and is written under the guidance of one or more members of the department. Normally, a student will earn one unit in the spring semester of the fourth year for successful completion of an honors thesis, unless the thesis work is done as part of the student's participation in a departmental seminar. In that case, no extra credit is given above the credit for the seminar itself. For a particularly extensive project, and with the permission of the department chair, a student may earn one unit in each semester of the fourth year for completion of the thesis.
GPA units: 0
Typically Offered: Fall
A large project extending over the course of the fourth year. It can consist of original research or be of an expository nature and is written under the guidance of one or more members of the department. Normally, a student will earn one unit in the spring semester of the fourth year for successful completion of an honors thesis, unless the thesis work is done as part of the student's participation in a departmental seminar. In that case, no extra credit is given above the credit for the seminar itself. For a particularly extensive project, and with the permission of the department chair, a student may earn one unit in each semester of the fourth year for completion of the thesis.
GPA units: 2
Typically Offered: Spring
Statistics (STAT)
This course presents the basic concepts of statistics and data analysis in a non-technical way. Topics include graphical methods of summarizing data, descriptive statistics, and methods of statistical inference. STAT 120 is a terminal, introductory course intended for students who are not interested in pursuing mathematics, economics, biology, psychology, sociology, or the health professions.
Students who have taken MATH 135, MATH 220, BIOL 275, ECON 249, PSYC 200, SOCL 226 may not enroll in this class.
GPA units: 1
Common Area: Mathematical Science
This course provides an introduction to the field of data science with a focus on computation, data visualization, collaboration, and communication. Students will learn to extract and wrangle data, program basic scripts and functions in an integrated development environment, explore multivariable associations and understand the concepts of confounding and effect modification, create dynamic data visualization, and build interpretable machine learning models.
GPA units: 1
Common Area: Mathematical Science
Typically Offered: Annually
This course presents statistics intended for students aspiring to the health professions. Topics include sampling strategies and experimental design, numerical and graphical methods of describing data, basic concepts in probability, discrete and continuous probability distributions, sampling distributions, confidence intervals, hypothesis testing and simple linear regression. Statistics is a part of the health professions curriculum, but some majors at the College offer their own statistics courses that are tailored to their respective disciplines. Students majoring in mathematics, economics, biology, psychology and sociology should take the statistics course within their major. Health profession students are advised to wait and take the statistics course in their major, should it offer one. Otherwise, such students should take STAT 220 sometime after their first year at the College.
Prerequisite: MATH 133, 134, 135, or 136 or equivalent. Students who have taken ECON 249, BIOL 275, PSYC 200 or SOCL 226 or have credit for AP Statistics may not enroll in this course. ACCT, ECON, PSYC or SOCL majors may not enroll in STAT 220.
GPA units: 1
Typically Offered: Fall, Spring
This course provides an introduction to the statistical methodologies most commonly used in the design of experiments. Topics include experimental design, power and sample size determination, one-sample inference, two-sample inference, multi-sample inference, assumptions testing, linear contrasts, experiment-wise error rate, factorial treatment structure, and interaction. Also covered are equivalent non-parametric tests. Students will work extensively with data sets and the R statistical software package.
Mathematics prerequisite: MATH 133, 134, 135, 136 or equivalentStatistics prerequisite: BIOL 275, ECON 149, ECON 249, PSYC 200, SOCL 226, or STAT 220
GPA units: 1
Typically Offered: Alternate Years, Fall
While most courses cover statistics from a Frequentist point of view, this course will instead look at statistical inference from a Bayesian perspective. Bayesian statistics combines prior information with the information contained in the observed data to produce a (posterior) probability distribution on a parameter of interest. In the past, computational challenges limited the use of Bayesian techniques, but advances in modern computing along with the introduction of new algorithms that allow for sampling from complex, high-dimensional probability distributions have increased the popularity of these methods. Potential topics will include: an introduction to probability and Bayes rule, prior and posterior distributions, conjugate priors, single and multi-parameter likelihood models (e.g. binomial, Poisson, normal, etc.), Markov Chain Monte Carlo methods, Gibbs sampling techniques, hierarchical modeling, Bayesian analogs to confidence intervals and hypothesis testing, model comparison, model averaging, and Bayesian linear regression.
Mathematics prerequisite: MATH 134, MATH 136 or equivalentStatistics prerequisite: BIOL 275, ECON 149, ECON 249, PSYC 200, SOCL 226, STAT 220, STAT 376 or equivalent
GPA units: 1
Typically Offered: Alternate Years, Fall
This course provides a thorough examination of the theory and practice of ordinary least squares (OLS) regression modeling. Model interpretation and a conceptual understanding of confounding, mediation, and effect modification are emphasized. Specific topics include analysis of variance (ANOVA), derivation of parameter estimates, correlation, prediction, dummy variables, contrasts, testing general hypotheses, analysis of covariance (ANCOVA), multicollinearity, regression diagnostics, techniques for handling model misspecification (incorrect functional form, heteroskedasticity), and model-building strategies. Students will work extensively with data sets and the R statistical software package.
Prerequisite: One of MATH 133, 134, 135, or 136, and one of BIOL 275, ECON 249, PSYC 200, SOCL 226, STAT 220, or STAT 376. Students who have earned credit for ECON 314 cannot enroll in STAT 231.
GPA units: 1
Typically Offered: Fall
This course provides a focused introduction to the theory and practice of categorical data analysis. Model interpretation and conceptual understanding will be emphasized. Specific course topics include the chi-square test for independence, Fisher's exact test, logistic regression, multinomial logistic regression, prediction, dummy variables, contrasts, testing general hypotheses, effect modification and confounding, assessing fit, and model-building strategies. Students will work extensively with data sets and the R statistical software package.
Prerequisite: STAT 231 or ECON 314
GPA units: 1
Typically Offered: Spring
This course introduces the principles and methodologies underlying the design and analysis of observational studies. Observational studies are critical in fields where controlled experiments are impractical or unethical, and offer insights into behaviors and outcomes in real-world settings. Throughout this course, student will explore the challenges and strategies associated with drawing causal inferences from observational data. Topics include the design of observational studies, including cohort, case-control, and cross-sectional studies, as well as techniques for managing common issues such as confounding, selection bias, and measurement error. Students will learn to apply data analysis techniques tailored to observational data, including regression models and propensity score matching. Students will analyze data sets using the R statistical software package.
Prerequisite: STAT 220 or ECON 249 or BIOL 275 or SOCL 226 or PSYC 200.
GPA units: 1
This course will explore statistical approaches that have grown in popularity over the last several decades along with advances in computing. Ultimately, the goal is to develop a practical understanding of how any why these methods work. The course will begin by exploring different approaches to simulate random variables, before moving on to Markov chains, Monte Carlo simulation, and MCMC algorithms. We end the course with bootstrap and permutation tests, which are simulation-based tests that provide a non-parametric alternative to the hypothesis tests introduced in previous courses.
Prerequisite: STAT 220 or the equivalent (ECON 149, ECON 249, BIOL 275, PSYC 200, SOCL 226)
GPA units: 1
An introduction to the theory and applications of probability. Includes both continuous and discrete distributions, conditional probability and Bayes' Theorem, random variables and expected values, joint distributions of several random variables, functions of random variables, and the Central Limit Theorem.
Prerequisite: MATH 241.
GPA units: 1
Typically Offered: Fall, Spring
A course in the theory and applications of statistics. Topics include maximum likelihood estimation, the sampling distributions of estimators, confidence intervals, hypothesis testing, regression analysis, and an introduction to the analysis of variance.
Prerequisite: STAT 375
GPA units: 1
Typically Offered: Alternate Years
This course covers statistical methods that would not be possible without the advances made in modern computing over the last 25-30 years. Specifically, these are simulation and Monte Carlo techniques that are appropriate where statistical theory does not yet provide a solution. Each of the statistical methods covered is computationally intensive and therefore requires a computer to arrive at a solution. Topics include techniques for simulating of random variables, Bayesian statistics, Markov chains, the Metropolis-Hastings algorithm, MCMC and Gibbs Sampling, mixture models, and classification schemes.
Prerequisite: CSCI 131 and STAT 220 or STAT 375
GPA units: 1
Typically Offered: Alternate Years
This course is an introduction to the main principles of supervised and unsupervised machine learning within the context of data analytics. Methods include linear regression, logistic regression, K-nearest neighbors, and discriminant analysis. Resampling methods such as cross-validation and bootstrapping, as well as model selection and regularization techniques are discussed. Non-parametric methods, including classification and regression trees (CART), boosting, bagging, and random forests are presented. Unsupervised learning methods focus on principal components analysis, K-mean, and hierarchical clustering. The R statistical computing package is used extensively.
Prerequisite: STAT 231 or ECON 314
GPA units: 1
Typically Offered: Alternate Years
Provides an opportunity for individual and group investigation of topics not covered in ordinary course work. Active participation on the part of the students is normally required. Subject matter varies to suit individual students and is often related to the research activity of the professor.
Prerequisite: STAT 231
GPA units: 1
Typically Offered: Annually
GPA units: 1
GPA units: 1
Computer Science (CSCI)
A survey of the science and art of computing intended for students not majoring in mathematics or science. Half of the course is an introduction to computer programming. Emphasis is placed upon language independent topics such as structured programming, good programming style, the use of subprograms, and algorithm construction in general. The other half of the course explores how computers are built, how they operate, and what their fundamental limitations are.
Prerequisite: Students who are computer science, math, or science majors or minors may not enroll in this course. Students who have taken any higher level computer course may not enroll in this course.
GPA units: 1
Common Area: Mathematical Science
Typically Offered: Annually
A broad introduction to fundamental concepts in computer science, with emphasis on designing and writing correct and elegant computer programs. Concepts are illustrated through examples drawn from a variety of application areas and may include graphics, digital media, scientific computing, or games. Weekly lab meetings provide supervised practice. This course is appropriate for any student interested in creating or understanding software, and students with little or no prior programming experience are welcome. Students in this course develop both real-world programming skills and gain a foundation for applications in mathematics, the sciences, economics, accounting, or any other discipline in which computing plays an important role. This course also prepares students for further study in Computer Science 132, Data Structures, and it is required for both the major and the minor.
GPA units: 1.25
Common Area: Mathematical Science
Typically Offered: Fall, Spring
An introduction to techniques for storing and manipulating complex data. Students gain experience with sophisticated programs by studying frequently used data structures, including stacks, lists, trees, graphs, and hash tables, and by discussing algorithms for searching, sorting, graph traversal, and hashing. Weekly lab meetings provide supervised practice designing, implementing and using these data structures. As time allows, students also begin an introduction to analysis of algorithms by examining the space and time efficiency of data structures and related algorithms. This course is required for both the major and the minor.
Prerequisite: CSCI 131 or equivalent. A grade of C in CSCI 131 is required to continue in CSCI 132, except by permission (please contact the course instructor or computer science program coordinator).
GPA units: 1.25
Typically Offered: Fall, Spring
An introduction to the discrete mathematical structures that form the basis of computer science. Topics include proof techniques, relations and functions, set theory, Boolean algebra and propositional logic, predicate calculus, graphs, trees, induction and recursion, counting techniques and discrete probability. It is recommended this class be taken concurrently with Computer Science 132.
Students who have taken MATH 243 may not enroll in this class.
GPA units: 1
Common Area: Mathematical Science
Typically Offered: Spring
This course is intended for students interested in improving their programming skills through practice with modern Java concepts and Object Oriented Programming. Topics may include exception handling, standard library collections and templates, inheritance, polymorphism, overloading, interfaces, and iterators, for-each loops. Students will complete guided and independent projects, including group projects.
Prerequisite: CSCI 132 - Data Structures
GPA units: 1
Typically Offered: Alternate Years
This course is about modern tools, platforms, and practices for software development and operations, commonly known as DevOps. The main focus will be towards Continuous Integration / Continuous Delivery. Students will also gain experience working with tools used commonly for careers in software engineering, development, and operations, such as Amazon Web Services EC2, Agile development practices, source code management using git, virtualization platforms like Docker, and monitoring using DataDog or JMeter/Gatling.
Prerequisite: CSCI 132 - Data Structures
GPA units: 1
Typically Offered: Annually
Covers fundamental topics related to the design and operation of a modern computing system. Relationships are drawn between circuits and system software. Topics include hardware and software organization, virtual machines, physical fundamentals of transistors, digital logic design, memory system organization, architecture and management, CPU design, multiprocessors, data representation, machine language, microprogramming, assembly language, assemblers and linkers, CISC versus RISC, interrupts and asynchronous event handling, networking, and the past and present of computer system design, architecture, and organization.
Prerequisite: CSCI 132 with a grade of C or higher or permission of Computer Science Coordinator. Enrollment limited to CSCI Majors and Minors.
GPA units: 1
Typically Offered: Fall, Spring
Provides an introduction to the design and analysis of fundamental algorithms and their complexity. Presents several algorithm design strategies that build on the data structures and programming techniques introduced in Computer Science 132. The general techniques covered include: Divide-and-conquer algorithms, dynamic programming, greediness and probabilistic algorithms. Topics include: sorting, searching, graph algorithms, O-notation, and introduction to the classes P and NP, and NP-completeness.
Prerequisite: CSCI 132 with a C or better and one semester of Calculus or permission of the instructor. Enrollment limited to CSCI Majors and Minors.
GPA units: 1
Typically Offered: Fall, Spring
In this project-based course, students work in teams to complete a semester-long project following software engineering best practices. The resulting minimal viable product may be a web application or other interactive software, and will involve planning, database integration and testing, and presentations. Students consider the life cycle of large software projects, beginning with the elicitation and definition of users' requirements and continuing through software design, documentation, coding, testing and maintenance. Topics include: modularity, coupling, cohesion, transformational and transactional structures and testing strategies. Working in teams, students gain practical experience developing software to solve concrete problems.
Prerequisite: CSCI 132
GPA units: 1
Data Mining refers to the process of extracting useful models of data. Sometimes, a model can be a summary of the data, or it can be the set of most extreme features of the data. Computer scientists often approach data mining in one of two ways, as an algorithmic problem or by using data along with a machine learning engine. This course provides an introduction to Data Mining and will examine data techniques for the discovery, interpretation and visualization of patterns in large collections of data. Topics covered in this course include data mining methods such as classification, rule-based learning, decision trees, association rules, and data visualization. The work discussed originates in the fields of artificial intelligence, machine learning, statistical data analysis, data visualization, databases, and information retrieval.
Prerequisite: CSCI 132
GPA units: 1
Typically Offered: Alternate Years
Principles for designing and implementing programming languages are presented as well as styles and features that encourage and discourage the writing of good software. Topics include language syntax and semantics, comparison of language features and their implementation, methods of processing a program, establishing the run-time environment of the program and the major programming language paradigms (the imperative/procedural, functional/applicative, declarative/logic and object-oriented paradigms).
Prerequisite: CSCI 226. Enrollment limited to CSCI Majors and Minors.
GPA units: 1
Typically Offered: Spring
This course presents the fundamental concepts and principles of computer security. Topics include cryptographic tools, user authentication, access control, malicious software, denial-of-service attacks, intrusion detection, and intrusion prevention systems. Software security and operating system security are studied in detail. Additional areas of study may include security management, risk assessment, human resources security and the many legal, social, and ethical aspects of computer security.
Prerequisite: CSCI 132. Enrollment is limited to CSCI majors and minors only.
GPA units: 1
Typically Offered: Alternate Years
An introduction to database concepts and database management systems, including the storage, processing, evaluation, display, and security of data. This course focuses on the study of logical and physical database design; fundamental data management and query techniques using SQL, a ubiquitous data query language; and methodologies for database development including relational approaches and object-oriented approaches. Practical skills are emphasized to allow students to create, manage, use, and analyze concrete databases and the corresponding information systems using state-of-the-art industry-standard software products, such as Oracle, Microsoft SQL Server, MySQL or PostgreSQL.
Prerequisite: CSCI 132.
GPA units: 1
Typically Offered: Alternate Years, Spring
Examines the ethical issues that arise as a result of increasing use of computers, and the responsibilities of those who work with computers, either as computer science professionals or end users. The course stresses the ways in which computers challenge traditional ethical and philosophical concepts, and raise old issues in a new way. Students will be expected to read and understand the ideas in the readings, explain the ideas, analyze issues and see them from diverse perspectives, and formulate and critique arguments. Readings include technical issues in computer science and may focus on a particular area such as software design as well as more traditional topics such as philosophical theories (e.g. ethical relativism, utilitarianism, deontological theories, rights and virtue ethics), privacy, intellectual property rights and proprietary software, security, accountability, liability, the digital divide, hacking, and viruses. There are several course goals: (1) to give a fuller, richer, deeper understanding of the social impact of computers and the ethical issues in human activities affected by computers, (2) to prepare the student for living in a computerized world and perhaps working as a professional in the computing field, and (3) to improve presentation, debating and writing skills.
Prerequisite: CSCI 132. Enrollment limited to CSCI Majors and Minors.
GPA units: 1
Typically Offered: Fall
A survey of topics in computer graphics with an emphasis on fundamental techniques and the theory underlying those techniques. Topics include the fundamentals of two and three dimensional graphics such as clipping, windowing, and coordinate transformations (e.g., positioning of objects and camera), raster graphics techniques such as line drawing and filling algorithms, hidden surface removal, shading, color, curves and surfaces and animation. Students learn how to program graphics displays using a computer graphics package.
Prerequisite: CSCI 132 and one semester of calculus or permission of the instructor. Enrollment limited to CSCI Majors and Minors.
GPA units: 1
Typically Offered: Alternate Years
This course considers the theoretical foundations of computer science through different computational models. Topics covered in this course include deterministic and non-deterministic finite automata, regular expressions, context-free grammars, pushdown automata, Turing machines, decidability, undecidability, and computational complexity including the P vs. NP problem.
Prerequisite: CSCI 132 and CSCI 135 or permission of the instructor. Enrollment limited to CSCI Majors and Minors.
GPA units: 1
Typically Offered: Alternate Years
Provides an introduction to the general model of operating systems principles and current implementation techniques. The principles and mechanisms that underlie operating systems services will be covered. Students will learn techniques for managing hardware resources and sharing them among many competing processes and threads. They will study the internal structures needed for process and thread management, synchronization, inter-process communication, memory management (including shared memory), file system management, distributed systems principles, device control, and security.
Prerequisite: CSCI 226. Enrollment limited to CSCI Majors and Minors.
GPA units: 1
Typically Offered: Alternate Years
This course provides an introduction to the field of artificial intelligence. Topics include solving problems using search (e.g., depth-first search, iterative deepening, and A*), constraint satisfaction problems, propositional logic and first-order logic, inference in propositional logic and first-order logic, and machine learning techniques (e.g., decision trees and neural networks).
Prerequisite: CSCI 235 or permission of the instructor.
GPA units: 1
This course focuses on principles of computer networking. Students will gain an understanding of the low-level protocols that drive the Internet, including protocols for data forwarding, routing, congestion, flow control, reliability, naming, and discovery, along with their application to distributed systems. Topics are introduced from a theoretical perspective, but students will also gain practical experience designing, implementing, and measuring distributed systems, such as web servers, email and messaging systems, video and data distribution, and cloud computing.
Prerequisite: CSCI 226
GPA units: 1
Typically Offered: Alternate Years
An introduction to the algorithms underlying machine and biological visual systems. Examines the processes involved in converting a 2-dimensional image to a 3-D representation of the physical world. Computational models of visual processing will be compared to physiological and psychophysical results from human and other biological visual systems. Topics covered include: edge detection, stereopsis, motion computation, shape from shading, color and object recognition.
Prerequisite: CSCI 132 and one semester of Calculus
GPA units: 1
Typically Offered: Alternate Years
The theories, tools and techniques for translator creation are the focus of this course. Topics include: regular expressions, grammars, finite state machines, lexical analysis, parsing, linguistic approaches to problem solving, intermediate code trees, register allocation, code generation, a variety of optimization schemes and techniques as well as Linux-style support for translation such as lex/flex and yacc/bison. An essential and distinguishing feature of the course is the project requirement. Students are required to build a working compiler that is a large software engineering project of significant complexity. This course carries the project course designation.
Prerequisite: CSCI 324 or permission of the instructor. Enrollment limited to CSCI Majors and Minors.
GPA units: 1
Typically Offered: Alternate Years
The course provides a comprehensive study of machine learning techniques, including supervised and unsupervised learning. Topics include supervised learning techniques for classification and regression such as decision trees, k-nearest neighbors, linear models, and neural networks; also includes unsupervised learning techniques such as principal component analysis, clustering etc. The course will also cover the essentials of applied linear algebra and calculus as necessary, and an introduction to Python programming and associated libraries and tools.
Prerequisite: CSCI 132
GPA units: 1
This course builds on students knowledge of Data Structures and Analysis of Algorithms and introduces advanced algorithms. This course focuses on giving the students multiple skills: analyze and understand advanced algorithms, design new algorithms, apply known algorithms to solve problems, and implement algorithms using programming language for a large project.For this, we will see multiple sections, Algorithms with Numbers, advanced data structures, linear programming, approximation algorithms, randomized Algorithms, and miscellaneous topics such as matching and voting algorithms.
Prerequisite: CSCI 235
GPA units: 1
An independent reading project for upper division students. Normally this will be on a topic that is not covered by the regular course offerings. Permission of the instructor and the Department Chair is required for this course.
GPA units: 1
Typically Offered: Fall, Spring
A project course for upper division students under the direction of a faculty member. Normally the project will provide an introduction to research on a topic that is not covered by the regular course offerings. Course requirements are to be arranged in consultation with the instructor. Permission of the instructor and the department chair is required for this course.
GPA units: 1
Typically Offered: Fall, Spring
This is a large project extending over the course of the fourth year. It can consist of original research or be of an expository nature and is written under the guidance of one or more members of the department. A student will earn at least one unit of credit in the spring semester of the fourth year for successful completion of an honors thesis, unless the thesis work is done as part of the student's participation in a department seminar. In that case, no extra credit is given above the credit for the seminar itself. For a particularly extensive project, and with the permission of the department chair, a student may earn one unit in each semester of the fourth year for the completion of the thesis.
GPA units: 0
Typically Offered: Annually
This is a large project extending over the course of the fourth year. It can consist of original research or be of an expository nature and is written under the guidance of one or more members of the department. A student will earn at least one unit of credit in the spring semester of the fourth year for successful completion of an honors thesis, unless the thesis work is done as part of the student's participation in a department seminar. In that case, no extra credit is given above the credit for the seminar itself. For a particularly extensive project, and with the permission of the department chair, a student may earn one unit in each semester of the fourth year for the completion of the thesis.
GPA units: 2
Typically Offered: Annually