# Mathematics and Computer Science

### Majors, Minors & Degrees:

Students intending to work in scientific professions are encouraged to pursue a Bachelor of Science degree. The Bachelor of Arts degree is for those who want a core of mathematics or computer science courses with a broader background in the humanities or the arts.

Majors preparing for graduate study should take as many courses as possible in the department. Seniors in all majors in the department will take an assessment exam and participate in an exit interview.

### Courses

CMPSC 010 Microcomputer Applications (2 hours)

A hands-on introduction to word processing, spreadsheets, databases, and presentation graphics.

(Normally offered each semester.)

An introduction to computational problem-solving using a programming language. Students learn the syntax and semantics of a language and apply these to the solution of mathematical problems. The course is recommended for all who wish to explore computer science. Students review mathematical concepts and use them as the basis of an algorithmic solution during a hands-on lab.

*Prerequisite(s): Appropriate placement score.*

CMPSC 040 Program Design (4 hours)

A disciplined approach to the development of programs to solve problems on a computer. Topics include data types, control structures, abstraction, and software development. A lab component introduces a high-level programming language and software tools.

*Corequisite(s): CMPSC 030 Introduction to Computational Problem Solving or permission of the instructor. *

(Normally offered each semester.)

CMPSC 100 Discrete Mathematics (3 hours)

An introduction to fundamental concepts of discrete mathematics with application to computer science. Topics include sets, relations, functions, sequences, Boolean algebra, difference equations, combinatorics, and graph theory.

*Prerequisite(s): Placement into MATH 105 Calculus I or grade of "C" or better in MATH 050 Pre-Calculus. *

(Normally offered each year.)

CMPSC 110 Unix (1 hours)

Introduction to the Unix operating system, Unix file system, Unix tools and utilities, and shell programming. A laboratory course.

(Normally offered each year.)

CMPSC 120 Imperative Problem-Solving (2 hours)

Students solve algorithmically complex problems using an imperative language and will have the opportunity to represent NWU in the ACM Programming Contest. A laboratory course. May be repeated.

*Prerequisite(s): CMPSC 040 Program Design with a grade of "C" or better. *

(Normally offered each year.)

CMPSC 140 Data Structures (4 hours)

A natural continuation of Computer Science 40 concentrating on the motivation, design, implementation, and utilization of abstract data types. Topics include linked lists, stacks, queues, trees, and recursion. A lab component is incorporated.

*Prerequisite(s): Grade of "C" or better in CMPSC 040 Program Design. *

(Normally offered each spring semester.)

CMPSC 190 Selected Topics (1-3 hours)

An intermediate-level course designed to treat subject matter not covered in other computer science courses. The title, content, and credit hours will be determined by current mutual interests of students and faculty and availability of resources.

*Prerequisite(s): Permission of the instructor and the department chair.*

CMPSC 200 Formal Languages and Automata (3 hours)

An overview of formal models of computation and complexity classes. Topics include formal languages (finite automata, regular expressions, push-down automata, context-free grammars, and Turing machines), Church's thesis, computability, non-determinism, and NP-completeness. Same as MATH 200 Formal Languages and Automata.

*Prerequisite(s): Grade of "C" or better in either CMPSC 100 Discrete Mathematics or MATH 111 Introduction to Higher Mathematics and junior standing.*

(Normally offered alternate years.)

CMPSC 205 Database Systems (3 hours)

An introduction to the design, implementation, and management of database systems. Topics include entity-relation, relational, and object-oriented databases. A client-server database project is assigned.

*Prerequisite(s): Grade of "C" or better in CMPSC 140 Data Structures. *

(Normally offered alternative years.)

CMPSC 210 Operating Systems (3 hours)

A study of the fundamental concepts of operating systems and distributed systems. Topics include process and storage management, protection and security, and the organization and coordination of systems having interacting processors. The material is illustrated by case studies.

*Prerequisite(s): Grade of "C" or better in CMPSC 140 Data Structures.*

(Normally offered alternate years.)

CMPSC 230 Software Engineering I (3 hours)

Topics include design objectives, life-cycle model, reliability and risk assessment, maintenance, specification and design tools, implementation issues and strategies, and verification and validation.

*Prerequisite(s): Grade of "C" or better in CMPSC 140 Data Structures.*

(Normally offered alternate years.)

CMPSC 235 Computer Networks (4 hours)

This course focuses on the communications protocols used in computer networks: their functionality, specification, verification, implementation, and performance. The course also considers the use of network architectures and protocol hierarchies to provide more complex services. Existing protocols and architectures will be used as the basis of discussion and study. Includes formal laboratory work.

*Prerequisite(s): Grade of "C" or better in CMPSC 140 Data Structures. *

(Normally offered alternate years.)

CMPSC 240 Compiler Construction (3 hours)

A capstone course in which students design and implement a compiler as an application of the principles of software engineering, formal language theory, algorithms and data structures. Topics include lexical analysis, parsing, symbol table management, code generation and optimization and use of compiler tools.

*Prerequisite(s): Grades of "C" or better in CMPSC 140 Data Structures and CMPSC 200 Formal Languages and Automata. *

(Normally offered alternate years.)

CMPSC 255 Algorithms (3 hours)

A systematic study of the analysis and design of algorithms, particularly those used for complex data structures and non-numeric processes. Topics include analysis of complexity, complexity classes, dynamic programming, automata-based algorithms, backtracking, and parallel algorithms.

*Prerequisite(s): Grades of "C" or better in CMPSC 100 Discrete Mathematics and CMPSC 140 Data Structures. *

(Normally offered alternate years.)

CMPSC 260 Programming Languages (3 hours)

A survey of the principles and paradigms of programming languages. Topics include data types, scope and run-time storage, control structures, syntax, semantics, translation, and implementation. Paradigms discussed include: procedural, functional, logic, and object-oriented programming.

*Prerequisite(s): Grade of "C" or better in CMPSC 140 Data Structures. *

(Normally offered alternate years.)

CMPSC 265 Artificial Intelligence (3 hours)

A study of the techniques and theory of artificial intelligence. Topics include the history and philosophy of AI, knowledge representation, state space search, logic programming, AI languages, expert systems, natural language understanding, machine learning, and neural networks.

*Prerequisite(s): Grade of "C" or better in CMPSC 260 Programming Languages.*

CMPSC 290 Selected Topics (1-3 hours)

An upper-level course designed to treat subject matter not covered in other computer science courses. The title, content, and credit hours will be determined by current mutual interests of students and faculty and availability of resources.

*Prerequisite(s): Permission of the instructor and department chair.*

CMPSC 295 Independent Study (1-12 hours)

Individual study of a specific computer science topic under the supervision of a faculty member. Independent study may not duplicate courses described in the catalog.

*Prerequisite(s): Permission of the instructor and the department chair.*

CMPSC 297 Internship (1-8 hours)

The student secures a firm to sponsor on-the-job training satisfactory to the sponsor, the department, and the student. The student submits a written report and the sponsor supplies a statement regarding the satisfactory completion of the internship.

Pass/Fail only.

*Prerequisite(s): 17 hours in computer science and permission of the department chair.*

CMPSC 299 Software Engineering II (3 hours)

A capstone course in which student teams undertake a large software project using contemporary software engineering techniques.

*Prerequisite(s): CMPSC 230 Software Engineering I with a grade of "C" or better and junior standing.*

(Normally offered alternate years.)

A course designed to deepen prospective elementary school teachers' understanding of mathematics. Using reasoning and logic to understand the connections between various mathematical ideas will be emphasized.

(Normally offered each fall semester.)

MATH 007 Statistics (3 hours)

A study of topics essential to an understanding of statistics and their applications. Topics include probability, discrete and normal probability distributions, sample variability, the central limit theorem, and linear regression.

(Normally offered each spring semester.)

MATH 008 Mathematics for Liberal Arts (3 hours)

An investigation of the application of mathematical reasoning and problem solving. Topics to be covered may include networks, linear programming, data sampling and analysis, voting systems, game theory, measurement analysis, and coding.

*Prerequisite(s): Appropriate placement score. *

(Normally offered each semester.)

MATH 010 College Algebra (3 hours)

A study of linear and quadratic equations and inequalities and their graphs; systems of equations and inequalities, algebraic exponential and logarithmic functions and their graphs. Other topics may be selected from sets, complex numbers, sequences and series, and probability.

*Prerequisite(s): Appropriate placement score. *

(Normally offered each semester.)

MATH 050 Pre-Calculus (4 hours)

A study of elementary functions, their graphs, and applications, including polynomial, rational, algebraic, exponential, logarithmic, trigonometric, and metric functions. Scientific calculators are required and graphing calculators are recommended.

*Prerequisite(s): Appropriate placement score or grade of "C" or better in MATH 010 College Algebra.*

(Normally offered each semester.)

A calculus course for non-mathematics majors. Topics include limits, continuity, differentiation, and integration with emphasis on relevant applications.

*P**rerequisite(s): Appropriate placement score or grade of "C" or better in MATH 010 College Algebra.*

(Normally offered each fall semester.)

MATH 065 Calculus for Biologists (4 hours)

A calculus course that emphasizes biological applications. Topics include Malthusian growth, limits, continuity, differentiation, optimization, differential equations, and integration. Assignments are given that involve spreadsheets and computer algebra systems.

*Prerequisite(s): Appropriate placement score or grade of "C" or better in **MATH 010 College Algebra. *

(Normally offered each spring semester.)

MATH 090 Selected Topics (1-5 hours)

A course designed to treat subject matter not covered in other standard courses. The title, content, and credit hours will be determined by mutual interests of faculty and students.

MATH 105 Calculus I (5 hours)

An introduction to calculus of a single variable. Topics include limits, continuity, differentiation, and beginning integration with applications. Assignments are given that help build proficiency in the use of a computer algebra system.

*Prerequisite(s): Appropriate placement score or grade of "C" or better in MATH 050 Pre-Calculus. *

(Normally offered each semester.)

MATH 106 Calculus II (5 hours)

A continuation of Mathematics 105. Topics studied include integration techniques and applications, differential equations, numerical approximations, sequences and series, and vectors. Assignments are given that help build proficiency in the use of a computer algebra system.

*Prerequisite(s): Permission of department or grade of "C" or better in MATH 105 Calculus I. *

(Normally offered each semester.)

A study of mathematical induction and other methods of proof, recursion, formal logic, and set theory.

*Prerequisite(s): Grade of "C" or better in MATH 105 Calculus I.*

(Normally offered each spring semester.)

MATH 135 Mathematical Problem Solving (1 hours)

A seminar of problem-solving skills and their application to nontrivial problems. Students will have the opportunity to represent NWU in the Putnam Exam. May be repeated.

*Prerequisite: Grade of "C" or better in MATH 106 Calculus II or permission of the instructor.*

MATH 190 Selected Topics (1-3 hours)

A course designed to treat subject matter not covered in other standard courses or to provide study of subject matter introduced in other courses. The title, content, and credit hours will be determined by mutual interests of faculty and students.

MATH 204 Calculus III (4 hours)

An introduction to multivariable calculus. Topics include vector-valued functions, functions of several variables, partial differentiation, multiple integrals, and analysis. Assignments are given that help build proficiency in the use of a computer algebra system.

*Prerequisite(s): Permission of department chair or grade of "C" or better in MATH 106 Calculus II.*

(Normally offered each fall semester.)

MATH 206 Mathematical Statistics I (3 hours)

Elementary mathematical theory and applications of basic probability to statistics. Topics studied include random variables, both discrete and continuous, and their probability distributions with applications of a practical nature to numerous fields. Also studied are multivariate probability distributions.

*Prerequisite(s): Grade of "C" or better in MATH 106 Calculus II. *

(Normally offered fall of even-numbered years.)

MATH 207 Mathematical Statistics II (3 hours)

A continuation of MATH 206 Mathematical Statistics I, with further applications of probability theory to statistical problems of estimation and hypothesis testing, including least squares estimation and correlation. Also studied is analysis of variance with numerous applications of this technique.

*Prerequisite(s): Grade of "C" or better in MATH 206 Mathematical Statistics I.*

MATH 209 Number Theory (3 hours)

A study of fundamental concepts in number theory, including divisibility and factorization of integers, linear and quadratic congruences, the quadratic reciprocity theorem, Diophantine equations, number-theoretic functions, and continued fractions. Additional topics may include Euler's theorem and cryptography, perfect numbers and Mersenne primes, Pythagorean triples, and Fermat's Last Theorem.

*Prerequisite(s): Grade of "C" or better in MATH 106 Calculus II.*

MATH 210 Linear Algebra (3 hours)

A study of vector spaces, determinants, linear transformations, matrices, and matrix equations, and their applications in the natural and social sciences.

*Prerequisite(s): Grade of "C" or better in MATH 106 Calculus II. *

(Normally offered each spring semester.)

MATH 212 Numerical Analysis (3 hours)

An introduction to the numerical approximation of solutions of various types of problems. Topics include rootfinding, interpolation and numerical differentiation, and integration. Additional topics may be drawn from numerical solutions of ordinary differential equations and linear systems.

*Prerequisite(s): Grade of "C" or better in MATH 106 Calculus II.*

MATH 221 Geometry (3 hours)

Selected topics from Euclidean and non-Euclidean geometry, geometry as a mathematical structure, and geometry as a study of invariants of set transformations.

*Prerequisite(s): Grade of "C" or better in MATH 111 Introduction to Higher Mathematics. *

(Normally offered fall of even-numbered years.)

MATH 224 Differential Equations (4 hours)

A study of ordinary differential equations. Topics include first and higher order, and linear and nonlinear differential equations with applications. Additional topics may be chosen from systems of differential equations, transform techniques, and numerical methods. Use will be made of a computer algebra system.

*Prerequisite(s): Grade of "C" or better in MATH 106 Calculus II. *

(Normally offered each spring semester.)

MATH 227 Mathematical Modeling (3 hours)

A course that explores applications of mathematics to real-world problems. One or more topics may be chosen from the non-inclusive list: dynamical systems, linear programming, queueing theory, game theory, numerical analysis, wavelets, coding theory, and partial differential equations. Computer-based exercises will be a component of the course.

MATH 230 Abstract Algebra I (3 hours)

A study of various algebraic systems arising in modern mathematics, such as groups and rings.

*Prerequisite(s): Grades of "C" or better in MATH 111 Introduction to Higher Mathematics and any 200-level mathematics course.*

(Normally offered fall of even-numbered years.)

MATH 231 Abstract Algebra II (3 hours)

A continuation of MATH 230 Abstract Algebra I. More study of groups, rings, and fields. Additional topics may be drawn from modules and finite fields.

*Prerequisite(s): Grade of "C" or better in MATH 230 Abstract Algebra I.*

A seminar on problem solving skills and their application to nontrivial problems. Students will be required to take the Putnam Exam. May be repeated.

*Prerequisite(s): Grade of "C" or better in MATH-111 or permission of the instructor. *

(Normally offered each fall semester.)

MATH 240 Real Analysis (3 hours)

A formal approach to limits, continuity, differentiation, and integration with emphasis on the proofs of theorems. Additional topics may include topology, uniform continuity, and uniform convergence.

*Prerequisite(s): Grade of "C" or better in MATH 111 Introduction to Higher Mathematics and MATH 204 Calculus III.*

(Normally offered spring of even-numbered years.)

MATH 290 Selected Topics (1-3 hours)

Further study of a topic selected by the department, the selection based partially upon student demand. The title, content, and credit hours will be determined by current mutual interests of faculty and students. Possible topics include complex analysis, measure theory, topology, logic and set theory, advanced modeling, algebraic number theory, group theory and ring theory.

MATH 295 Independent Study (1-12 hours)

Individual study of a specific mathematical topic under the supervision of a faculty member. Independent Study may not duplicate courses described in the catalog.

*Prerequisite(s): Permission of the instructor and the department chair.*

MATH 297 Internship (1-8 hours)

The student secures a firm to sponsor on-the-job training satisfactory to the sponsor, the faculty coordinator, and the student. The student submits a written report and the sponsor supplies a statement regarding the satisfactory completion of the internship. May be repeated up to a maximum of 4 credit hours.

Pass/Fail only.

*Prerequisite(s): 17 hours of mathematics courses and permission of the instructor.*

MATH 299 Mathematics Seminar (3 hours)

A study of special interest topics in mathematics. The student will study independently under the supervision of a faculty member and present their work in oral and written form. As a culmination of the course, the student will write an in-depth paper of a research or expository nature.

*Prerequisite(s): Major in mathematics, senior standing, grade of "C" or better in either MATH 230 Abstract Algebra I or MATH 240 Real Analysis, and permission of the instructor.*

(Normally offered each spring semester.)