Course descriptions for the Department of Mathematics and Computer Science are from the College Catalog. For more information on the courses offered during the fall and spring semesters, please log in to the course schedule through STAR.

## Mathematics

**Mathematics 110 - Topics in Mathematics**

*Annually*

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. One unit.

**Mathematics 133 - Calculus 1 with Fundamentals**

*Fall*

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. One and one-quarter units.

**Mathematics 134 - Calculus 2 with Fundamentals**

*Spring*

A version of Mathematics 136 that is designed for students who require more class time to make the transition to college-level mathematics. See the description of Mathematics 136 for the course content. This course meets five hours per week. One and one-quarter units.

**Mathematics 135 - Calculus 1**

*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 the 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. One unit.

**Mathematics 136 - Calculus 2**

*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. One and one-quarter units.

**Mathematics 241 - Multivariable Calculus**

*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. Prerequisite: Mathematics 134, 136 or the equivalent. This course meets four hours per week. One and one-quarter units.

**Mathematics 242 - Principles of Analysis**

*Fall, spring*

An in-depth study of the theory of the calculus of functions of one variable. Topics include sequences, series, continuity, differentiability, the extreme value theorem, the mean value theorem, Riemann integration, the fundamental theorem of calculus, power series and Taylor's theorem. Prerequisite: Mathematics 241 or Mathematics 243. One unit.

**Mathematics 243 - Mathematical Structures**

*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: Mathematics 134, 136 or equivalent. One unit.

**Mathematics 244 - Linear Algebra**

*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: Mathematics 243. With permission of the Chair, it may be possible to take Mathematics 244 without Mathematics 243. One unit.

**Mathematics 301 - Topics in Geometry**

*Alternate years*

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: Mathematics 243 and 244. Breadth area: Geometry/Topology. One unit.

**Mathematics 302 - Differential Geometry**

*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: Mathematics 241 and 244. Breadth area: Geometry/Topology. One unit.

**Mathematics 303 - Mathematical Models**

*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: Mathematics 241, Mathematics 244 and Computer Science 131. Breadth area: Applied Mathematics/Statistics. One unit.

**Mathematics 304 - Ordinary Differential Equations**

*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. Prerequisite: Mathematics 241 and 244. Breadth area: Applied Mathematics/Statistics. One unit.

**Mathematics 305 - Complex Analysis**

*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: Mathematics 241 and 243. Breadth area: Analysis. One unit.

**Mathematics 351 - Modern Algebra 1**

*Fall, spring*

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: Mathematics 243 and 244. Breadth area: Algebra. One unit.

**Mathematics 352 - Modern Algebra 2**

*Alternate years*

A continuation of Mathematics 351 exploring advanced topics and applications in modern algebra. Prerequisite: Mathematics 351. Breadth Area: Algebra. One unit.

**Mathematics 353 - Number Theory**

*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. Prerequisites: Mathematics 243 and 244. Breadth area: Algebra. One unit.

**Mathematics 357 - Combinatorics**

*Alternate years*

A breadth-first 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, graph traversals, tournaments, graph coloring and chromatic polynomials, magic squares, Latin rectangles and squares, and combinatorial block designs. Prerequisite: Mathematics 243 and 244. Breadth area: Algebra. One unit.

**Mathematics 361 - Real Analysis 1**

*Fall, spring*

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: Mathematics 241, 243 and 244. Breadth area: Analysis. One unit.

**Mathematics 362 - Real Analysis 2**

*Alternate years*

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: Mathematics 361. Breadth Area: Analysis. One unit.

**Mathematics 363 - Topics in Topology**

*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: Mathematics 241, 243 and 244. Breadth area: Geometry/Topology. One unit.

**Mathematics 371 - Numerical Analysis**

*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: Mathematics 241 and 243. Breadth area: Analysis. One unit.

**Mathematics 373 - Partial Differential Equations**

*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: Mathematics 304. Breadth area: Applied Mathematics/Statistics. One unit.

**Mathematics 374 - Dynamical Systems**

*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: Mathematics 241 and 243. Breadth area: Applied Mathematics. One unit.

**Mathematics 392 - Seminar**

*Annually*

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. A breadth area designation will be made individually for each seminar course by the department chair, in consultation with the faculty member teaching the seminar. Breadth area depends on the subject matter. One unit each semester.

**Mathematics 400 - Directed Reading**

*Fall, spring*

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. One unit.

**Mathematics 410 - Directed Project**

*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. One unit.

**Mathematics 495, 496 - Mathematics Honors Thesis**

*Annually*

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.

Computer Science

**Computer Science 110 - Survey of Computer Science**

*Annually*

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. One unit.

**Computer Science 131 - Techniques of Programming**

*Fall, spring*

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 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. One and one-quarter units.

**Computer Science 132 - Data Structures**

*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: Computer Science 131, or equivalent. One and one-quarter units.

**Computer Science 135 - Discrete Structures**

*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. One unit.

**Computer Science 226 - Computer Systems and Organization**

*Fall, spring*

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: Computer Science 132. One unit.

**Computer Science 235 - Analysis of Algorithms**

*Fall*

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: Computer Science 132 and Calculus 1 or permission of instructor. One unit.

**Computer Science 307 - Data Mining **

*Alternate years*

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: Computer Science 132. One unit.

**Computer Science 324 - Programming Languages Design and Implementation**

*Spring*

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: Computer Science 226. One unit.

**Computer Science 328 - Ethical Issues in Computer Science**

*Fall*

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: Computer Science 132. One unit.

**Computer Science 343 - Computer Graphics**

*Alternate years*

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: Computer Science 132 and Calculus 1 or permission of instructor. One unit.

**Computer Science 345 - Theory of Computation**

*Alternate years*

Basic aspects of regular, context-free, context sensitive and unrestricted grammars, propositional and predicate calculus, recursive functions, automata theory and computational complexity. Prerequisite: Computer Science 132. One unit.

**Computer Science 346 - Operating Systems**

*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: Computer Science 226. One unit.

**Computer Science 356 - Computer Networking**

*Alternate years*

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: Computer Science 226. One unit.

**Computer Science 363 - Computational Vision**

*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: Computer Science 132 and Calculus, or permission of the instructor. One unit.

**Computer Science 364 - Compiler Construction**

*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: Computer Science 324 or permission of the instructor. One unit.

**Computer Science 399 - Topics in Computer Science**

*Alternate years*

This course gives the student a chance to see the principles introduced in earlier courses applied in specific areas and gives faculty an opportunity to teach material of special interest to them. The most likely topics are artificial intelligence, database systems, advanced theory of computation, and robotics. Prerequisite: varies by topic. One unit.

**Computer Science 400 - Directed Reading**

*Fall, spring*

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. One unit.

**Computer Science 410 - Directed Project**

*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. One unit.

**Computer Science 495, 496 - Computer Science Honors Thesis**

*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. One unit.

## Statistic**s**

**Statistics 120 - Statistical Reasoning**

*Annually*

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. Statistics 120 is a terminal, introductory course intended for students who are not interested in pursuing mathematics, economics, biology, psychology, sociology, or the health professions. One unit.

**Statistics 220 - Statistics**

*Fall, spring*

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 Statistics 220 sometime after their first year at the College. Prerequisite: Mathematics 133, 135, or equivalent. One unit.

**Statistics 231 - Linear Models**

*Annually, spring*

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. Prerequisites: Mathematics 136 and one of Biology 275, Economics 249, Math 220, Psychology 200, Sociology 226, or Statistics 376. One unit.

**Statistics 232 - Categorical Data Analysis**

*Annually, 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. Prerequisites: Statistics 231 or Economics 314. One unit.

**Statistics 375 - Probability Theory**

*Fall, spring*

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: Mathematics 241. Breadth area: Applied Mathematics/Statistics. One unit.

**Statistics 376 - Mathematical Statistics**

*Annually*

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: Statistics 375. Breadth area: Applied Mathematics/Statistics. One unit.

**Statistics 380 - Statistical Computing**

*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: Computer Science 131 and either Statistics 220 or Statistics 375. Breadth Area: Applied Mathematics/Statistics. One unit.

**Statistics 381 - Statistical Learning**

*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-means, and hierarchical clustering. The R statistical computing package is used extensively. Prerequisite: Statistics 231 or Economics 314. Breadth area: Applied Mathematics/Statistics. One unit.