# Mathematics and Computer Science

**Chair:** Professor Shank

**Professor: **Coleman, Fraboni, Schultheis

**Associate Professors: **Hartshorn, Talbott

**Assistant Professor: **Bush, Curley

**Visiting Associate Professor: **Schaper

**Instructor of Mathematics: **Nataro, Ward

**Computer Science (CSCI) Course Descriptions**

**Mathematics (MATH) Course Descriptions**

**Mathematics: **

**Mission:** The Mathematics program at Moravian College fosters a community of faculty and students who promote the aesthetic, theoretic, and pragmatic qualities of mathematics in order to develop in its students communication and problem solving skills applicable to many disciplines that prepare them for fulfilling careers.

**Pure Mathematics Track:**Student interested in a broad mathematics background or students who plan to attend graduate school in mathematics should consider the Pure Mathematics Track. The Pure Mathematics track also provides quantitative and analytical skills, which prepare students to enter the workforce after graduation. Early, Middle, and Secondary education students are encouraged to follow the Pure Mathematics Track.

**Applied Mathematics Track:**Students interested in working in business or industry or students who plan to attend graduate school in applied mathematics should consider the Applied Mathematics Track. The Applied Mathematics Track provides a strong foundation of mathematics and the tools required to solve real-world problems.

**Actuarial Science Track:**Students interested in becoming an actuary should follow the Actuarial Science Track. An actuary is a mathematician trained to analyze information to calculate the monetary value of risk. Actuaries progress in their professional career by passing a series of actuarial exams. The Actuarial Science Track prepares students for the first two actuarial exams (EXAM P and FM), giving them a solid foundation to begin a career as an actuary.

### The Major in Mathematics

The Mathematics program consists of three distinct tracks: Pure Mathematics, Applied Mathematics, and Actuarial Science. All mathematics majors are required to select a track when declaring their major.

All three tracks require the following four courses: MATH 170 (or its equivalent sequence MATH 106 and MATH 166), MATH 171, 211, and 212. In addition, all three tracks require a capstone experience. MATH 370 will serve as the capstone experience for most majors. Successful completion of MATH 400-401 (Honors) can serve as an alternative capstone experience, although students who plan to pursue an Honors project are encouraged to take MATH 370 in their junior year. In addition, students must have at least three courses numbered 310-384, 390-399, or 400-401. (One of these three may be MATH 370.)

In order that students may understand and experience the depth and breadth of mathematics, the department’s major courses (other than the required courses and MATH 370) have been grouped into two areas: pure mathematics courses and applied mathematics courses.

Current catalog courses in each of these areas are as follows:

Pure Mathematics Courses: MATH 220, 245, 324, 345, 347, 348, 365, and 366.

Applied Mathematics Courses: MATH 230, 231, 251, 254, 255, 258, 337, 355, and PHYS 343.

As special topics or new courses are offered, they will be placed in the appropriate group.

**Pure Mathematics Track:**

In addition to the four required courses and the capstone experience, the Pure Mathematics Track requires five additional courses in Mathematics. One of these courses is a required course, MATH 220. For the remaining four courses, students in this track will choose three Pure Mathematics Courses and one Applied Mathematics Course.

Students in the Pure Mathematics track must also choose two co-requisite courses from the following group of four courses: PHYS 111, PHYS 112, CSCI 120 and CSCI 121. Substitutions for this requirement may be made only with the approval of the Mathematics and Computer Science Department.

**Applied Mathematics Track: **

In addition to the four required courses and the capstone experience, the Applied Mathematics Track requires six additional courses in Mathematics. Two of these courses are required courses, MATH 220 and 221. For the remaining four courses, students in this track will choose three Applied Mathematics Courses and one Pure Mathematics Course.

Applied Mathematics students must also choose two co-requisite courses from the following group of four courses: PHYS 111, PHYS 112, CSCI 120 and CSCI 121. Substitutions for this requirement may be made only with the approval of the Mathematics and Computer Science Department.

**Actuarial Science Track: **

In addition to the four required courses and the capstone experience, the Actuarial Science Track requires six additional courses in Mathematics; three required courses and three electives numbered 210 or higher. The additional required courses are MATH 231, 332 and 251. The three additional electives must include at least one Applied Mathematics Course and at least one Pure Mathematics Course.

Actuarial Science students must also take three co-requisite courses, which includes CSCI 120, ECON 152, and one ECON course chosen from the following group of three courses: ECON 225, 226 and 256. Substitutions for this requirement may be made only with the approval of the Mathematics and Computer Science Department.

**Secondary Education Certification:**

Students planning to teach mathematics in secondary schools who are interested in the Pure Mathematics Track must complete the following courses: MATH 170 (or its equivalent sequence MATH 106 and MATH 166), 171, 211, 212, 220, 231, 347, 348, 370, and one of the following: MATH 324, 365, or 366.

Students planning to teach mathematics in secondary schools who are interested in the Applied Mathematics Track must complete the following courses: MATH 170 (or its equivalent sequence MATH 106 and MATH 166), 171, 211, 212, 220, 221, 231, 347, 348, 370, and one of the following: MATH 230, 258, 251, 337, or PHYS 343.

**Middle Level Education Certification**:

Students who are seeking certification in middle level education with a major in mathematics can complete either the Pure or Applied Mathematics Track.

**Early Childhood Education Certification:**

Students who are seeking certification in early childhood education with a major in mathematics should take the Pure Mathematics Track and are required to complete PHYS 111. The second co-requisite course is waived for these students. Students who are pursuing early childhood teacher certification with a major in mathematics do not need to complete MATH 120.

**Courses in Mathematics** (MATH) are listed below.

### The Minor in Mathematics

The minor in mathematics consists of five course units in mathematics: MATH 170 (or the equivalent sequence Mathematics MATH 106 and MATH 166), MATH 171, and three MATH courses numbered 210 or above.

The Interdepartmental Major in Mathematics

The six mathematics courses that meet Set I requirements are MATH 170 (or its equivalent sequence MATH106 and MATH166), MATH 171, MATH 211, and three additional MATH courses chosen by the student with the approval of the advisor. Mathematics courses to be taken to satisfy Set II requirements will be determined by the student's prior preparation in mathematics and his or her educational objectives.

**Computer Science:**

Computer science is the study of information processes and the creative application of abstraction and formal reasoning to solve problems. With the ever-increasing ubiquity of computational devices, computer science is an important field of study with diverse applications. From the natural and social sciences to the arts and humanities, computer science has become woven into the fabric of business, research, and everyday life.

At Moravian, the computer science program prepares students for professional life or graduate study. The core curriculum integrates a study of the theoretical underpinnings of the discipline with the practice of programming. Elective offerings explore the breadth of the discipline and expose students to the applications of computer science.

### The Major in Computer Science

The major in computer science consists of nine course units: CSCI 120, CSCI 121, CSCI 222, CSCI 234, CSCI 244, CSCI 334, one of the following: CSCI 320, CSCI 333, CSCI 364; and two additional courses in computer science, one of which must be numbered CSCI 310-380 or CSCI 390-399. Courses numbered CSCI 286, CSCI 288, or CSCI 381-388 and courses from other schools may not be used to satisfy the major requirements without prior written departmental approval. The major also requires MATH 170 (or its equivalent sequence MATH 106 and MATH 166), MATH 171, MATH 212, and one additional MATH course numbered 210 or higher, or a two-semester laboratory sequence in science. Because analytic and abstract reasoning is important to the study and application of computer science, majors are encouraged to take additional coursework in science, mathematics, and logic.

**Courses in Computer Science** (CSCI) are listed below.

### The Minor in Computer Science

The minor in computer science consists of CSCI 120, CSCI 121, and three other CSCI course units numbered above 110. One of the following courses may, with departmental consent, be counted toward the computer science minor: MATH 230, MATH 258, MATH 231; PHIL 211. With departmental consent, one course with significant computing content from another program may be counted as one of the three elective course units towards the computer science minor.

### The Minor in Informatics

Informatics is the application of computing skills, statistical methods, and domain knowledge to obtain and analyze data in order to make decisions about organizations and society.

The minor in informatics consists of five courses: CSCI 120; CSCI 265; one course in statistical reasoning (MATH 107, HLTP 189, ECON 156, or MATH 231); one course in ethics (NURS 360, IDIS 215, or a PHIL course with “Ethics” in the title); and one course in applications (HLTP 230, MGMT 311, BIOL 363, ECON 256). Other courses in statistical reasoning, ethics, or applications may be accepted with approval of the program director.

### The Interdepartmental Major in Computer Science

The six courses that compose Set I of the interdepartmental major in computer science include CSCI 120, CSCI 121, and four other CSCI courses numbered above 110, at least one of which is expected to be numbered 310-380 or 390-399. The additional courses in computer science and the six courses of Set II are selected by the student with the approval of the advisor.

### Courses in Mathematics

**MATH 100.2. Applications in Mathematics.** Investigation of a variety of mathematical models. Models to be investigated will be chosen from the areas of game theory, network models, voting theory, apportionment methods, fair division, and probability and statistics. We will apply these models in such diverse fields as biology, sociology, political science, history, and psychology. Does not count towards the mathematics major or minor. One 100-minute period.

**MATH 101.2. A History of Infinity.** Human beings have always struggled with the concept of infinity. Philosophers and mathematicians have gone mad contemplating its nature and complexity—and yet it is a concept now routinely used by school children. We will trace the history of this mind-boggling concept from Archimedes to Cantor through the eyes of the mathematician. Does not count towards the mathematics major or minor.

**MATH 102.2. Mathematics and Origami.** In this course, we will use origami (paper-folding) to explore topics in mathematics such as trisecting angles, solving cubic equations, and creating 3-dimensional polyhedra. In the process, we will see how mathematics has revolutionized origami over the past 50 years. Does not count towards the mathematics major or minor.

**MATH 104. Quantitative Reasoning and Informed Citizenship.** Quantitative reasoning skills to interpret and assess numerical arguments, with emphasis on issues relevant for informed and effective citizenship. Topics include creating and interpreting graphs and charts; single- and multiple-variable functions; linear, exponential, and logarithmic growth; indexes; inductive and deductive reasoning; decision theory; measures of center and spread of data; correlation; probability; expected value; experimental design; sampling and surveys. Three 70-minute periods. (F2)

**MATH 106. Analytic Geometry and Calculus I with Review, Part 1.** Beginning calculus with extensive review of algebra and elementary functions. Topics include Cartesian plane, algebraic functions, limits and continuity, introduction to the concept of derivative as a limit of average rates of change, theorems on differentiation, and the differential. Continued in Mathematics 166. The course sequence of MATH 106 and MATH 166 is equivalent to MATH 170; credit may be earned for MATH 106 and MATH 166 or MATH 170, but not both. (F2) Prerequisite: Placement by the Mathematics and Computer Science Department.

**MATH 107. Elementary Statistics.** Introduction to statistical concepts and methods without the use of calculus. Topics include descriptive statistics, elementary probability, discrete and continuous probability distributions, correlation and regression, estimation, and hypothesis testing. MATH 107 may not be taken for credit by students who have earned credit for ECON 156 or MATH 231. Three 70-minute periods. (F2)

**MATH 108. Functions and Derivatives with Applications.** Emphasis on concepts and applications to business and social and natural sciences. Use of graphing calculators. Topics include linear functions, polynomial functions, exponential functions, average rate of change, instantaneous rate of change, the derivative, interpretations of the derivative, rules of differentiation, and applications of the derivative. Includes review of algebra and elementary functions. May not be taken for credit by students who have completed MATH 106 or MATH 170. (F2) Prerequisite: Placement by the Mathematics and Computer Science Department.

**MATH 109. Mathematics for Design.** Provides mathematical background and techniques useful to aspects of artistic design in the plane and in space. Essential mathematical concepts and tools applied to solve design problems. Topics include ratio and proportion, similarity, geometric constructions with Euclidean tools and dynamic geometry soft ware, properties of polygons and polyhedra, isometries and other geometric transformations in the plane and space, symmetry, and periodic designs, projections from space onto a plane. Spring. Three 70-minute periods. (F2)

**MATH 120. Math for Teaching I. ** Mathematics for Teaching 1 is specifically designed for students pursuing a career in elementary and middle level education. The purpose of the course is to provide the mathematical background necessary for teaching elementary mathematics concepts, including: estimation, measurement, fractions and decimals, patterns and relationships, number systems, number relations, and number theory. This course will emphasize the development of conceptual understanding, mathematical connections, critical thinking, and problem-solving strategies across mathematics content. (F2)

**MATH 121.2 Math for Teaching II. ** Mathematics for Teaching 2 is specifically designed for students pursuing a career in elementary and middle level education. The purpose of this course is to provide the mathematical background necessary for teaching with confidence and imagination the basic concepts of mathematics as well as techniques of problem-solving. Topics included in this course: statistics, probability, geometry and measurement. Throughout, the emphasis will be on basic ideas, problem-solving, and the larger historical and cultural contexts of mathematics.

**MATH 125. Topics in Mathematics for Teaching.** Problem-solving, communication, and reasoning. Topics include estimation, geometry and spatial sense, measurement, statistics and probability, fractions and decimals, patterns and relationships, number systems, number relations, and number theory. Designed for prospective early childhood and middle level education teachers. Three 70-minute periods. (F2)

**MATH 150.2. Introduction to Mathematical Research I.** Wonder what is beyond Calculus? Haven’t we solved everything already? Curious about mathematical research? This course will answer these questions by serving as an introduction to mathematical research. This group based seminar course will require students to develop a project, do a literature review, investigate a mathematical problem, and prepare a mathematical paper, poster, and presentation. NOTE: This course is pass/no credit. This course is also a repeatable course. Prerequisite: MATH 170 or MATH 108 or MATH 166 with a grade of “C-” or better and no Senior standing.

**MATH 166. Analytic Geometry and Calculus I with Review, Part 2.** Topics include exponential and trigonometric functions and their derivatives, related rates, extremum problems, logarithmic curve sketching, antidifferentiation, the definite integral, the fundamental theorem of calculus, area under a curve, and applications to business and economics. The course sequence of MATH 106 and MATH 166 is equivalent to Mathematics 170; credit may be earned for MATH 106 and MATH 166 or MATH 170, but not both. (F2) Prerequisite: MATH 106 with a grade of “C-” or better.

**MATH 170. Analytic Geometry and Calculus I. **Review of real numbers, analytic geometry and algebraic and transcendental functions. Limits and continuity. Definition, interpretations, and applications of the derivative. Definite and indefinite integrals, including the fundamental theorem of calculus. May not be taken for credit by students who have earned credit for MATH 166. (F2) Prerequisite: Placement by the Mathematics and Computer Science Department.

**MATH 171. Analytic Geometry and Calculus II.** Applications of the definite integral. Techniques of integration of both algebraic and transcendental functions. Indeterminate forms and improper integrals. Separate differential equations. Infinite sequences and series. (F2). *Prerequisite*: Placement by the Mathematics and Computer Science Department or completion of MATH 170 or MATH 166 with a grade of “C-” or better. *Note: *Students who are placed by the department into MATH 171 and complete it with a grade of “B” or better will automatically receive credit for Math 170 if their transcript does not show credit for an equivalent course.

**MATH 211. Analytic Geometry and Calculus III. **Vectors in the plan and three-space. Parametric equations and space curves. Polar, cylindrical and spherical coordinates. Calculus of functions of more than one variable, including limits, partial derivatives, directional derivatives, multiple integration, and applications. Prerequisite: Completion of Math 171 with a grade of “C-” or better. *Note: *Students who are placed by the department into MATH 211 and complete it with a grade of “B” or better will automatically receive credit for Math 171 if their transcript does not show credit for an equivalent course.

**MATH 212 **(*formerly *216)**. Discrete Mathematical Structures and Proof.** Elementary mathematical logic and types of mathematical proof, including induction and combinatorial arguments. Set theory, relations, functions, cardinality of sets, algorithm analysis, basic number theory, recurrences, and graphs. Writing intensive. Prerequisite: MATH 171. Fall.

**MATH 220. Linear Algebra.** Vector spaces and linear transformations, matrices, systems of linear equations and their solutions, determinants, eigenvectors and eigenvalues of a matrix. Applications of linear algebra in various fields. Prerequisite: MATH 171. Spring.

**MATH 230 **(*formerly* 214)**. Mathematical Methods in Operations Research.** Introduction to mathematical techniques to model and analyze decision problems. Linear programming, including sensitivity analysis and duality, network analysis, decision theory, game theory, queuing theory. Prerequisites: MATH 171. Spring, alternate years.

**MATH 231. Mathematics Statistics I.** A calculus-based introduction to probability and statistical concepts and methods. Topics include descriptive statistics, probability, discrete and continuous probability distributions, regression analysis, sampling distributions and the central limit theorem, estimation and hypothesis testing. Prerequisite: MATH 171. Fall.

**MATH 250.2. Introduction to Mathematical Research II.** Wonder what is beyond Calculus? Haven’t we solved everything already? Curious about mathematical research? This course will answer these questions by serving as an introduction to mathematical research. This group based seminar course will require students to develop a project, do a literature review, investigate a mathematical problem, and prepare a mathematical paper, poster, and presentation. NOTE: This course is pass/no credit. This course is also a repeatable course. Prerequisite: MATH 212 and no Senior standing.

**MATH 251** **. ****Actuarial Mathematics****.** This course includes an introduction to interest theory; the time value of money. Topics include introduction to interest, valuation of annuities, loan payments, bond valuation, depreciation, amortization schedules, and other topics related to the theory of interest. This course is intended for those students interested in taking the Financial Mathematics (FM) Actuarial Exam. Prerequisite: MATH 171. Spring, alternate years.

**MATH 254** (*formerly* 221)**. Differential Equations.** Various methods of solution of ordinary differential equations, including first-order techniques and higher-order techniques for linear equations. Additional topics include applications, existence theory, and the Laplace transform. Prerequisite: MATH 211. Spring.

**MATH 258 **(*formerly *225)**. Numerical Analysis.** Numerical techniques for solving applied mathematical problems. Topics include interpolation and approximation of functions, solution of non-linear equations, solution of systems of linear equations, and numerical integration, with error analysis and stability. Prerequisites: MATH 171 and a course in computer science. Spring, alternate years.

**MATH 324 **(*formerly *327)**. Advanced Calculus. **Differential and integral calculus of scalar and vector functions. Differential calculus includes differentials, general chain rule, inverse and implicit function theorems, and vector fields. Integral calculus includes multiple integrals, line integrals, surface integrals, and theorems of Green and Stokes. Prerequisite: MATH 211. Fall, alternate years.

**MATH 337 **(*formerly *332)**. Mathematical Statistics II.** Development of statistical concepts and methods. Multivariate probability distributions, point and interval estimation, regression analysis, analysis of variance, chi-square goodness-of-fit and contingency table analysis, and nonparametric tests. Prerequisite: MATH 231. Spring, alternate years.

**MATH 347 **(*formerly* 313)**. Modern Algebra.** Group theory, including structure and properties: subgroups, co-sets, quotient groups, morphisms. Permutation groups, symmetry groups, groups of numbers, functions, and matrices. Brief study of rings, subrings, and ideals, including polynomial rings, integral domains, Euclidean domains, unique factorization domains, and fields. Prerequisite: MATH 212 or permission of instructor. Fall.

**MATH 348 **(*formerly* 340)**. WI:Higher Geometry.** Topics in Euclidean two- and three-dimensional geometry from classical (synthetic), analytic, and transformation points of view. Transformations include isometries, similarities, and inversions. Construction and properties of two- and three-dimensional geometric figures. Brief study of some non-Euclidean geometries. Prerequisite: MATH 212 or MATH 220. Fall, alternate years. Writing-intensive.

**MATH 350.2. Introduction to Mathematical Research III.** Wonder what is beyond Calculus? Haven’t we solved everything already? Curious about mathematical research? This course will answer these questions by serving as an introduction to mathematical research. This group based seminar course will require students to develop a project, do a literature review, investigate a mathematical problem, and prepare a mathematical paper, poster, and presentation. NOTE: This course is pass/no credit. This course is also a repeatable course. Prerequisite: permission of instructor.

**MATH 365 **(*formerly *329)**. Complex Analysis.** Analytic functions, complex integration, application of Cauchy's theorem. Prerequisite: MATH 211. Spring, alternate years.

**MATH 366** (*formerly* 328)**. Introduction to Analysis.** Rigorous study of real-valued functions, metric spaces, sequences, continuity, differentiation, and integration. Prerequisites: MATH 211 and MATH 212 or MATH 220. Spring, alternate years.

**MATH 370. Mathematics Seminar.** A capstone course designed to review, unify, and extend concepts developed in previous mathematics courses. Students will read historical, cultural, and current mathematical material. They will express their mathematical understanding through writings, oral presentations, and class discussions. Assignments will include both expository and research-oriented styles of writing, including a significant individual research project. Prerequisite: MATH 212 and any 300-level course in mathematics. Fall.

**MATH 190-199, 290-299, 390-399. Special Topics.
MATH 286, 381-384. Independent Study.
MATH 288, 386-388. Internship.
MATH 400-401. Honors.**

### Courses in Computer Science

**CSCI 105. Fundamental Ideas in Computer Science.** Emphasis on contributions that computer science has made to contemporary society. Topics include physical and logical aspects of computers, algorithms and problem-solving, introduction to programming, and simple computer architecture, supplemented by laboratory exercises in which students create programs or utilize existing programs. Recommended for those not intending a major or minor in the department. (F2)

**CSCI 107.2. Introduction to 3D Printing and Design. **This course provides an introduction to using 3D fused deposition modeling (FDM) printers. Additionally the course will cover the basics of creating models with a variety of software packages such as Tinkercad, Sculptris, OnShape, and OpenJSCAD, each of which presents a very different approach to creating models to be printed. No experience is necessary. All materials will be provided. Students will be expected to spend time outside of class in the 3D printing lab.

**CSCI 120. Computer Science I.** Introduction to the discipline with emphasis on algorithm design and program development. Emphasis on problem-solving activity of developing algorithms. Topics include computer organization, computer usage and application, programming languages, software engineering, data structures, and operating systems. Recommended for students intending to develop or maintain software in their own area of concentration. (F4)

**CSCI 121. Computer Science II.** Emphasis on data and procedural abstraction. Basic organizations of instructions and data in hardware design and software development. Topics include encoding schemes for instructions and data, representative machine architectures, data representations in computer memory and in high-level languages. Prerequisite: CSCI 120 (final grade of at least C– or better).

**CSCI 217. Digital Electronics and Microprocessors.** (Also Physics 217) Laboratory-oriented course in computer hardware for science, mathematics, and computer-science students. Topics include logic gates, Boolean algebra, combinational and sequential logic circuits, register-transfer logic, microprocessors, addressing modes, programming concepts, microcomputer system configuration, and interfacing.

**CSCI 222. Computer Organization. **A study of what happens when a computer program is executed. We examine the organization of a modern computer from the perspective of a programmer; our examination focuses on the layers of abstraction between a high-level language program and its execution. Topics include the set of instructions that a processor supports, how a high-level language program is translated into this instruction set, how a processor carries out instructions, concurrency, the memory hierarchy, and storage systems. Prerequisite: CSCI 121.

**CSCI 234. Introduction to Software Engineering.** An introduction to professional software development using object-oriented techniques. Topics include the use of object-oriented design as a tool for building correct and maintainable software systems, test-driven development, best-practices in object-oriented design and development informed by component-based engineering, advanced object oriented language features, and languages for communicating design. Prerequisite: CSCI 244 (final grade of at least C– or better).

**CSCI 244. Data Structures and Analysis of Algorithms. **Issues of static and dynamic aggregates of data. Topics include logical characteristics of various data organizations, storage structures implementing structured data, design and implementation of algorithms to manipulate storage structures, and classical applications of data structures. Representative data structures include stacks, queues, ordered trees, binary trees, and graphs. Implementation and performance issues of contiguous and linked storage. Prerequisites: CSCI 121 (final grade of at least C– or better) and MATH 170 (or MATH 106 and MATH 166).

**CSCI 260. Artificial Intelligence. **Topics and methods for emulating natural intelligence using computer-based systems. Topics include learning, planning, natural-language processing, machine vision, neural networks, genetic algorithms. Prerequisite: CSCI 120.

**CSCI 265. Database Systems. **Data file organization and processing, indexed data files and indexing techniques, database design; database applications; query languages; relational databases, algebra, and calculus; client-server models and applications; database system implementation and web programming. Prerequisite: CSCI 120 or permission of the instructor.

**CSCI 320. Networking and Distributed Computing.** Theory and practice of concurrent programming. We examine the difference between shared- and distributed-memory models of computation, what problems are computable in parallel and distributed systems, the principle differences between concurrent and sequential programming, as well as data structures and algorithms for concurrent programming. Prerequisite: CSCI 244.

**CSCI 330. Game Programming.** Focus on the mathematics and algorithms necessary to create computer games and the software engineering principles used to manage the complexity of these programs. Topics include advanced programming in an object-oriented language, the mathematics of game programming, artificial intelligence, event-loop programming, and 2D graphics. Prerequisite: CSCI 244.

**CSCI 333. Operating Systems. **The structure and organization of operating systems, how modern operating systems support multiprogramming (e.g., processes, threads, communication and synchronization, memory management, etc.), files systems, and security. Programming projects involve both using operating system services as well as the implementation of core operating system components. Prerequisites: CSCI 222 and CSCI 244.

**CSCI 334. Systems Design and Implementation.** Project-oriented study of ideas and techniques for design and implementation of computer-based systems. Topics include project organization, interface design, documentation, and verification. Prerequisites: CSCI 234 and senior standing. Writing-intensive.

**CSCI 335. Simulation. **When real-world experiments are either too dangerous or too expensive to perform, computer simulation is used as an alternative. In addition to considering how to model real-world problems using computer simulation, this course studies other relevant topics including how to generate random data using a deterministic machine and how to collect and display data in a meaningful way.

**CSCI 364. Foundations of Computing. **Theoretical aspects of computing. Topics include formal languages (regular, context-free, and context-sensitive grammars), automata (finite-state machines, push-down automata, and Turing machines), limitations of respective computational models, and unsolvable problems. Prerequisite: CSCI 244.

**CSCI 190-199, 290-299, 390-399. Special Topics.
CSCI 286, 381-384. Independent Study.
CSCI 288, 386-388. Internship.
CSCI 400-401. Honors.**