## Mathematics Department

### Mathematics

**Learning Goals:**

- The student attains a firm foundation of fundamental mathematical concepts, methods and language sufficient to support further academic work or a career in areas requiring mathematical understanding.
- The student attains knowledge and skills to undertake independent learning beyond formal study.
- The student applies mathematical skills and knowledge to solve problems and analyze new situations in mathematics and related areas.
- The student communicates mathematical ideas, both orally and in writing, with clarity and precision.

### Computer Science

**Learning Goals:**

- The student attains knowledge of major computer science and mathematical concepts that will support the student's goals for further study or a career in computer science or related disciplines.
- The student develops the sufficient programming skills to support the student's goals.
- The student develops the ability to write professional documents in a style that is relevant to the student's goals.
- The student develops the ability to articulate computer science concepts.

**Double Major/Minor in Computer Science and Mathematics.** It is department policy that cross-listed elective courses (such as MATH-351/CSCI-351 Numerical Computing and MATH-352/CSCI/352 Numerical Analysis) count in only one major or minor at a time.

### Majors Offered

### Minors Offered

### CSCI-151 Introduction to Programming

An introductory course in computer science for nonmajors. The course teaches computer programming with emphasis on logical thinking, problem solving and algorithmic development. PROCESSING or a similar programming language is used. Topics include variables, arithmetic and logical operators, graphics, user interface, built-in library calls, I/O operations, conditional statements, loops, functions, and classes. 4 SH. CC: Analytical Thought.

### CSCI-181 Principles of Computer Science

An introductory course in computer science for majors. Also open to nonmajors. Emphasizes computer problem-solving methods and algorithmic development. Topics include programming in C++ or comparable language, techniques of good programming style, data types, file and screen input and output, control structures, subroutines, recursion, arrays, and pointers. 4 SH. CC: Analytical Thought.

### CSCI-200 Multi-agent Modeling in the Natural and Social Sciences

This course will explore some of what computer science has to offer to the natural and social sciences. Many phenomena consist of interacting individuals that can be modeled as following a set of behavioral rules. Using a suitable computer language such as NetLogo, Repast or others, we will learn to model these phenomena. Some programming experience is helpful but not required. Prerequisites: Fulfillment of the Analytic Thought requirement, sophomore standing and completion of either the Social Interactions requirement or the Scientific Explanations requirement. Some programming experience would be helpful but is not required. 4 SH. CC: Interdisciplinary.

### CSCI-235 Artificial Life

Science and mathematics describe natural phenomena so well that lines between real-world events and the corresponding theoretical world events have become blurred. Can computer models simulate key characteristics of life, such as behavior, motivation, reproduction, adaptation, perception and even intelligence? Proponents of strong artificial life believe that computers will eventually serve not only to model life processes but will actually think and be alive. These contentions are compared and contrasted with an emphasis on the current status and future implications of strong artificial life. This course is meant to be accessible to both majors and nonmajors. Same as MATH-235. Prerequisites: Junior standing and, to facilitate an elevated level of class discourse, completion of at least two of the following Central Curriculum requirements: Analytical Thought, Scientific Explanations or Ethics. 4 SH. CC: Ethics Intensive, Interdisciplinary.

### CSCI-281 Data Structures

Second course in computer programming. Stresses the interplay between algorithms, data structures and their implementations. Topics include stacks, queues, linked lists, sorting, searching, binary trees and graphs. Prerequisite: CSCI-181 Principles of Computer Science. 4 SH.

### CSCI-282 Computer Organization

Fundamentals of computer organization and machine architecture. Presents an overview of computer system organization and examines in detail the digital logic level, the register level and the operating system program interface. Uses the assembly language of an available machine for programming assignments. Prerequisite: CSCI-281 Data Structures or instructor's permission. 4 SH.

### CSCI-301 Data Mining

This course provides an introduction to the concepts in the automatic extraction of implicit, previously unknown and potentially useful information from large data that are generated in commerce, science and other areas. Topics include preprocessing of the data, application of the fundamental algorithms on the prepared data and interpretation of the patterns discovered by the algorithms. The fundamental algorithms for supervised learning, including classification and numerical prediction, and unsupervised earning, which includes association rules and clustering, are introduced. Prerequisites: MATH-180 Statistical Methods and CSCI-181 Principles of Computer Science. 4 SH.

### CSCI-351 Numerical Computing

An introduction to the computational techniques for solving mathematical problems. Topics include roots of nonlinear equations, interpolation, numerical differentiation and integration, and numerical solutions of differential equations. Same as MATH-351. Prerequisite: MATH-111 Calculus I; MATH-112 Calculus II is suggested. 2 SH.

### CSCI-352 Numerical Analysis

A theoretical study of the standard numerical techniques for solving mathematical problems. Topics include roots of nonlinear equations, polynomial interpolation, solving systems of equations, numerical integration and numerical solutions of differential equations. Same as MATH-352. Prerequisites: CSCI-351 Numerical Computing, MATH-112 Calculus II and MATH-201 Linear Algebra. 2 SH.

### CSCI-355 Operations Research

Mathematical models and optimization techniques useful in decision making. Includes linear programming, game theory, integer programming, queuing theory, inventory theory, networks and reliability. Further topics, such as nonlinear programming and Markov chains, as time permits. Same as MATH-355. Prerequisites: MATH-112 Calculus II, MATH-201 Linear Algebra, MATH-221 Discrete Structures, and either MATH-108 Introduction to Statistics or MATH-180 Statistical Methods, or instructor's permission. 4 SH.

### CSCI-370 Cryptology and Number Theory

Cryptology is the study of hiding the meaning of messages. Cryptology is an interesting venue for the study of its mathematical underpinnings (number theory, matrix algebra, probability and statistics) and as an opportunity to implement techniques by means of computer programs. We consider monoalphabetic and polyalphabetic encryptions, public key cryptography, security and anonymity. Same as MATH-370. Prerequisite: MATH-221 Discrete Structures. 4 SH.

### CSCI-381 Algorithms

Introduces the design and implementation of algorithms using an object-oriented programming language such as C++ or Java. Covers correctness and efficiency of algorithms for sorting, searching, graph problems and mathematical algorithms. Prerequisites: MATH-221 Discrete Structures and CSCI-281 Data Structures. 4 SH.

### CSCI-391 Data Communications and Networks I

An overview of data communications and networks, including channel capacity, Ethernet, Internet protocols, DHCP, DNS, TCP, FTP, SMTP, HTTP, Web servers and file sharing. Prerequisite: CSCI-181 Principles of Computer Science. 2 SH.

### CSCI-392 Data Communications and Networks II

Further topics in networks, with an emphasis on security. Includes authentication, encryption, verification, certificates, digital signatures, attacks and defenses, privacy and anonymity. Also covers current developments in networks. Prerequisite: CSCI-391 Data Communications and Networks I. 2 SH.

### CSCI-401 Machine Learning

This course provides an introduction to the systematic study of algorithms and systems that improve their knowledge or performance with experience. A statistical approach that emphasizes concepts and the implementation of the methods is presented to make sense of large and complex data. Topics include linear regression, classification, resampling methods, shrinkage approaches, tree-based methods, support vector machines and clustering. Prerequisites: MATH-180 Statistical Methods, MATH-201 Linear Algebra and CSCI-181 Principles of Computer Science. 4 SH.

### CSCI-460 Windows Programming

Programming in an event-driven environment, such as the Microsoft Windows operating system. Creation and management of windows, dialog boxes, mouse and keyboard input, message queues, and multithreading. Prerequisite: CSCI-381 Algorithms. 4 SH.

### CSCI-471 Software Engineering: Methodology

The entire software development cycle is explored, from requirements gathering through analysis, design, implementation, testing and documentation procedures. This course discusses both the theory and the business-world reality of software development, with an emphasis on object-oriented methodologies. Prerequisite: CSCI-381 Algorithms or instructor's permission. 4 SH. CC: Writing Intensive.

### CSCI-472 Software Engineering: Practicum

This course is designed to provide an experience similar to that of working in the software engineering industry. The methodologies discussed in CSCI-471 Software Engineering: Methodology are put into practice, as students work on project teams throughout one or more software development cycles. Current projects involve designing and developing software to guide a mobile robot. Prerequisites: Junior standing and CSCI-471 Software Engineering: Methodology. 4 SH. Capstone. CC: Team Intensive.

### CSCI-481 Programming Languages

Studies the principles underlying various computer languages. Uses comparisons and evaluations of C, FORTRAN, ALGOL, Pascal, LISP, Smalltalk, PERL, PHP and Prolog to introduce the broad principles of language design and implementation. Prerequisite: CSCI-281 Data Structures. 2 SH.

### CSCI-482 Theory of Computation

An introduction to the classical and contemporary theory of computation. Topics include the theory of automata and formal languages, computability by Turing machines and recursive functions, computational complexity and possibly quantum computers. Same as MATH-482. Prerequisites: MATH-221 Discrete Structures and CSCI-281 Data Structures. 2 SH.

### CSCI-483 Compiler Theory

Studies the phases of compiler design, such as syntax specification, lexical analysis, parsing, symbol tables, error detection, code optimization and code generation. Term project is to write a complete compiler for a small subset of C. Prerequisites: CSCI-282 Computer Organization and MATH-221 Discrete Structures. 4 SH. Capstone.

### CSCI-484 Computer Graphics

Basic interactive graphics programming in 2-D and 3-D using a common graphics library such as OpenGL. Introduces fundamental hardware and software concepts to implement graphics. Covers topics of drawing points, curves, surfaces, lighting, shading, animation, geometrical transformation, representation of 3-D shapes, and removal of hidden edges and surfaces as time permits. Prerequisites: CSCI-281 Data Structures and MATH-201 Linear Algebra or instructor's permission. 2 SH.

### CSCI-485 Artificial Intelligence

A brief summary of the tools, techniques and applications of artificial intelligence. Introduces problem solving and knowledge representation and selects topics from techniques for constructing models, robot design, language processing, computer vision, neural networks and expert systems. Same as INFS-485. Prerequisites: CSCI-281 Data Structures, MATH-111 Calculus I and either MATH-108 Introduction to Statistics or MATH-180 Statistical Methods. 2 SH.

### CSCI-486 Introduction to Operating Systems

Introduction to the principles of operating systems through detailed discussion of a popular operating system such as UNIX, with special attention to the areas of user interface, process management and file systems. Prerequisite: CSCI-281 Data Structures. 2 SH.

### CSCI-487 Operating Systems

A study of general operating systems principles, processes, file systems, memory management, interprocess communication, I/O and concurrent processes. Includes a programming project in which the student writes a part of an operating system. Prerequisite: CSCI-486 Introduction to Operating Systems. 2 SH.

### CSCI-488 Computer Architecture

A study of computer architecture, including logic circuits, CPU design, instruction sets, CISC, RISC, memory architecture, I/O, peripherals, pipelining, superscalar processors and multiprocessors. Includes hardware and software considerations. Prerequisite: CSCI-282 Computer Organization. 2 SH.

### CSCI-500 Senior Colloquium

Experience in individual research and presentation of computer-related topics. Prerequisites: Senior standing and computer science department head's permission. 4 SH. Capstone. CC: Oral Intensive.

### CSCI-501 Topics in Computer Science

Subjects vary depending on instructor and student interest. Example topics include software engineering, cryptography, parallel processing, digital video compression, object-oriented technologies, neural networks and others as approved. Prerequisite: Instructor's permission. 2 or 4 SH.

### CSCI-502 Independent Study

Individual work for capable students under the supervision of a faculty member. Prerequisite: Instructor consent and approval of computer science department head. Regularly scheduled courses are approved for independent study only under extraordinary circumstances. 2 or 4 SH.

### CSCI-503 Independent Research

A research project culminating in a substantive paper on a selected topic or field in computer science or information systems by arrangement with an instructor. Prerequisites: Junior or senior standing and department head's permission. 2 or 4 SH.

### CSCI-599 Internship

Full-time employment in computer science or information systems at an industrial firm or a public service organization. Prerequisites: Senior standing, appropriate background courses in computer science and department internship coordinator's permission. S/U grade. 2, 4 or 8 SH.

### MATH-099 College Mathematics Preparation

Topics may include sets, radicals, polynomials, factoring, inequalities, linear and quadratic equations, functions, exponents, and simple descriptive statistics. Intended for students not ready for college credit math; placement in this course is determined by the Department of Mathematics. Grade is S/U. 0 SH.

### MATH-101 Precalculus Mathematics

Topics include algebra, functions, graphing, exponents, logarithms, exponential functions, trigonometry and solving word problems. Prerequisite: Based on placement results, some students may require a mathematics review course. 4 SH.

### MATH-105 Introductory Topics

This is a two-semester-hour course meant to help education majors satisfy the Pennsylvania state requirement for six credits of college mathematics. Each course will cover a topic of the instructor's choice at an introductory level. Topics so far have included symmetry, counting, and math and music. This course does not count toward a math major or minor, and particular topics may overlap enough with other math courses to bar a student from taking both. Education majors will be given priority. Prerequisites: Usually none. 2 SH.

### MATH-108 Introduction to Statistics

A basic introduction to data analysis, descriptive statistics, probability, Bayes' Theorem, distributions of random variables and topics in statistical inference. (Students may earn credit for only one of the introductory statistics courses offered by the departments of management, psychology or mathematics.) 4 SH. CC: Analytical Thought.

### MATH-109 Statistics for Social Sciences

This course covers basic descriptive and inferential statistical techniques used in analyzing social science research data. The student becomes familiar with ways to organize and analyze data, communicate research results, translate statistical jargon into meaningful English, and understand basic theories underlying statistics, e.g., elementary probability theory. 4 SH. CC: Analytical Thought.

### MATH-111 Calculus I

Differentiation and integration of polynomials, exponentials, logarithms and trigonometric functions rules of differentiation and applications. 4 SH. CC: Analytical Thought.

### MATH-112 Calculus II

Techniques of integration, area, volume and arc length. Also includes improper integrals, L'Hopital's rule and power series. Prerequisite: MATH-111 Calculus I or equivalent. 4 SH. CC: Analytical Thought.

### MATH-180 Statistical Methods

This course provides a broad overview of introductory statistical methods and data analysis. Topics include descriptive statistics, probability, probability distributions, statistical inferences on population means and population variances, multiple comparisons, categorical data, data analysis using linear regression and multiple regression, design of experiments, and analysis of variance. 4 SH. CC: Analytical Thought.

### MATH-201 Linear Algebra

An elementary introduction to linear algebra. Topics include vectors, matrices, determinants, systems of linear equations, linear transformations, eigenvalues and eigenvectors. Also covers applications to computer graphics. Placement at MATH-111 Calculus I level or higher is strongly recommended. 4 SH. CC: Analytical Thought.

### MATH-203 Math and Music

An exploration of the interplay of mathematics and music. Topics such as the Fourier theory of sound, consonance and dissonance scales, temperament, digital signal processing, sound synthesis, twelve tone music theory, and algorithmic composition will be covered in the course. Prerequisites: Sophomore standing and MATH-112 Calculus II. Some knowledge of music theory and computer programming would be helpful but is not required. 4 SH. CC: Interdisciplinary.

### MATH-211 Multivariate Calculus

Calculus of several variables, partial derivatives, critical points, multiple integrals, gradient, curl, divergence, Green's Theorem and Stokes' Theorem. Prerequisites: MATH-112 Calculus II and MATH-201 Linear Algebra. 4 SH.

### MATH-221 Discrete Structures

An elementary approach to fundamental algebraic concepts. Emphasizes logic, proof techniques, relations, functions, graphs, Boolean algebra and computer logic. Also stresses modular arithmetic, algebraic structures, counting principles, coding theory and finite state machines. Prerequisite: MATH-111 Calculus I. 4 SH. CC: Analytical Thought.

### MATH-231 Foundations of Analysis

A rigorous study of the theoretical basis of single-variable differential and integral calculus: limits, continuity, differentiation and integration. Prerequisite: MATH-112 Calculus II and MATH-221 Discrete Structures. 2 SH.

### MATH-235 Artificial Life

Science and mathematics describe natural phenomena so well that lines between real-world events and the corresponding theoretical-world events have become blurred. Can computer models simulate key characteristics of life, such as behavior, motivation, reproduction, adaptation, perception and even intelligence? Proponents of strong artificial life believe that computers will eventually serve not only to model life processes but will actually think and be alive. These contentions are compared and contrasted with an emphasis on the current status and future implications of strong artificial life. This course is meant to be accessible to both majors and nonmajors. Same as CSCI-235. Prerequisites: Sophomore standing and, to facilitate an elevated level of class discourse, completion of at least two of the following Central Curriculum requirements: Analytic Thought, Scientific Explanations or Ethics. 4 SH. CC: Ethics Intensive, Interdisciplinary.

### MATH-321 Abstract Algebra

A more detailed study of algebraic structures. Introduces fundamental concepts of groups, rings and fields. Prerequisites: MATH-201 Linear Algebra and MATH-221 Discrete Structures. 4 SH. CC: Writing Intensive.

### MATH-331 Geometry

A concentrated study of elementary geometry. Includes Euclidean and non-Euclidean geometries and selected topics such as symmetry, Penrose tilings, fractals, knots, mapmaking and the shape of the universe. Prerequisites: MATH-201 Linear Algebra and MATH-221 Discrete Structures. 4 SH.

### MATH-351 Numerical Computing

An introduction to the computational techniques for solving mathematical problems. Topics include roots of nonlinear equations, interpolation, numerical differentiation and integration, and numerical solutions of differential equations. Same as CSCI-351. Prerequisite: MATH-111 Calculus I; MATH-112 Calculus II is suggested. 2 SH.

### MATH-352 Numerical Analysis

A theoretical study of the standard numerical techniques for solving mathematical problems. Topics include roots of nonlinear equations, polynomial interpolation, solving systems of equations, numerical integration and numerical solutions of differential equations. Same as CSCI-352. Prerequisites: MATH-112 Calculus II, MATH-201 Linear Algebra and MATH-351 Numerical Computing. 2 SH.

### MATH-353 Differential Equations

Introduces theory, basic solution methods, qualitative analysis and applications of ordinary differential equations. Prerequisites: Sophomore standing, MATH-112 Calculus II and MATH-201 Linear Algebra or instructor's permission. 4 SH.

### MATH-355 Operations Research

Mathematical models and optimization techniques useful in decision making. Includes linear programming, game theory, integer programming, queuing theory, inventory theory, networks and reliability. Further topics, such as nonlinear programming and Markov chains, as time permits. Same as CSCI-355. Prerequisites: MATH-112 Calculus II, MATH-201 Linear Algebra, MATH-221 Discrete Structures, and either MATH-108 Introduction to Statistics or MATH-180 Statistical Methods or instructor's permission. 4 SH.

### MATH-370 Cryptology and Number Theory

Cryptology is the study of hiding the meaning of messages. Cryptology is an interesting venue for the study of its mathematical underpinnings (number theory, matrix algebra, probability and statistics) and as an opportunity to implement techniques by means of computer programs. We consider monoalphabetic and polyalphabetic encryptions, public key cryptography, security, and anonymity. Same as CSCI-370. Prerequisite: MATH-221 Discrete Structures. 4 SH.

### MATH-411 Real Analysis

A deeper look at the fundamentals of calculus. Real numbers, point set theory, limits and the theory of continuity, differentiation, and integration. Prerequisites: MATH-112 Calculus II and MATH-221 Discrete Structures. 4 SH. CC: Writing Intensive.

### MATH-415 Complex Analysis

Calculus using complex numbers. Includes power series, analytic functions, poles, residues, contour integrals and applications. Prerequisites: MATH-211 Multivariate Calculus and MATH-221 Discrete Structures. 4 SH.

### MATH-441 Mathematical Statistics

A more detailed study of statistics. Topics include probability, multivariate distributions, Bayes' Theorem, statistical inference, estimation, decision theory, hypothesis testing, linear models and experimental design. Prerequisites: MATH-211 Multivariate Calculus and either MATH-108 Introduction to Statistics or MATH-180 Statistical Methods. 4 SH.

### MATH-482 Theory of Computation

An introduction to the classical and contemporary theory of computation. Topics include the theory of automata and formal languages, computability by Turing machines and recursive functions, computational complexity, and possibly quantum computers. Same as CSCI-482. Prerequisites: MATH-221 Discrete Structures and CSCI-281 Data Structures. 2 SH.

### MATH-500 Senior Colloquium

Experience in individual research and presentation of topics in mathematics. The one-semester-hour version culminates in a presentation to an audience of faculty and students. The two-semester-hour version also includes a paper. Prerequisite: Senior major or department permission. 1 or 4 SH. The 4 SH version satisfies the capstone requirement. CC: Oral Intensive for the 4-SH.

### MATH-501 Topics in Mathematics

Subject depends on students' and instructor's interests. Possibilities include number theory, set theoretic foundations of mathematics, topology, graph theory, differential geometry and applied mathematics. Whether the course counts as a 400-level course for majors will be announced along with the course description. Prerequisite: Instructor's permission. 2 or 4 SH.

### MATH-502 Independent Study

Individual work for capable students under faculty supervision. Scheduled courses are approved for independent study only under extraordinary circumstances. Whether the course counts as a 400-level course for majors will be decided on an individual basis. Prerequisite: Department approval and instructor's consent. 2 or 4 SH.

### MATH-503 Independent Research

A research project leading to a substantive paper on a selected topic in mathematics. By arrangement with a department instructor. Prerequisites: Junior or senior standing and department permission. 2 or 4 SH.

### MATH-599 Mathematics Internship

Full-time mathematics-related employment at an industrial firm or a public service organization. Prerequisites: Senior standing, appropriate mathematics background courses and department internship coordinator's permission. S/U grade. 2, 4 or 8 SH.

Department: Mathematical Sciences

Professor of Mathematical Sciences

Department: Mathematical Sciences

Professor of Mathematical Sciences

Department: Mathematical Sciences

Associate Professor of Mathematics & Computer Science

Department: Mathematical Sciences

Associate Professor of Mathematics & Computer Science

Department: Mathematical Sciences

Assistant Professor Computer Science

Department: Mathematical Sciences

Assistant Prof of Mathematics & Coord of Analytical Thought

Department: Mathematical Sciences

Adjunct Faculty in Mathematics & Computer Science

**Departmental Honors.** The departmental honors program encourages and recognizes outstanding academic performance. To graduate with departmental honors, a mathematics major or computer science major must do the following:

- Have a minimum GPA of 3.50 in the department and 3.00 overall,
- Request admission to the program at the end of the junior year,
- Consult with a faculty adviser to design an honors-quality project and begin research as a first-semester senior taking MATH-503 Independent Research or CSCI-503 Independent Research,
- Complete the project during the second semester in MATH-500 Senior Colloquium or CSCI-500 Senior Colloquium,
- Successfully pass an oral exam covering a selection of math courses.

**Kappa Mu Epsilon.** Students who meet national standards for membership are eligible to join this national undergraduate mathematics honorary society.

### Mathematics

**Capstone. **The Capstone requirement may be satisfied by the four-semester-hour version of MATH-500 Senior Colloquium. Students need not fulfill the Capstone requirement in their major, but they usually do.

### Computer Science

**Capstone. **The capstone requirement may be satisfied with CSCI-472 Software Engineering Practicum, CSCI-483 Compiler Theory or CSCI-500 Senior Colloquium. Students need not fulfill the capstone requirement in their major, but they usually do. A capstone course taken as a junior does fulfill the requirement, but not as a sophomore.