On this page you will find information about
courses from past semesters.
| CMPSC 010 |
Microcomputer Applications - A hands-on
introduction to word processing,
spreadsheets, databases, and presentation
graphics.
|
| CMPSC 030 |
Introduction to Computing - An overview of
the main ideas of computer science: the
history of computer science, the role of
computers in society, computer
applications and programming, computer
architecture, the theory of computation,
and advanced topics. Appropriate for all
students. The course is recommended for
those who wish to explore computer
science. Hands-on labs use web-based
technologies such as HTML and Javascript.
|
| CMPSC 040 |
Program Design - 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.
|
| CMPSC 100 |
Discrete Mathematics - 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.
|
| CMPSC 110 |
Unix - Introduction to the Unix operating
system, Unix file system, Unix tools and
utilities, and shell programming. A
laboratory course.
|
| CMPSC 120 |
Imperative Problem Solving - Students
solve algorithmically complex problems
using an imperative language and will
represent NWU in the ACM Programming
Contest. A laboratory course. May be
repeated.
|
| CMPSC 130 |
Computer Architecture - See Physics 130.
|
| CMPSC 140 |
Data Structures - 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.
|
| CMPSC 190 |
Special Topics such as Internet
Programming, Technical Aspects of Digital
Media, or E-Commerce |
| CMPSC 200 |
Theory of Computation - 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 Mathematics 200.
|
| CMPSC 205 |
Database Systems - An introduction to the
design, implementation, and management of
database systems. Topics include
entityrelation, relational, and
object-oriented databases. A client-server
database project is assigned.
|
| CMPSC 210 |
Operating Systems - 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.
|
| CMPSC 230 |
Software Engineering I - Topics include
design objectives, life-cycle model,
reliability and risk assessment,
maintenance, specification and design
tools, implementation issues and
strategies, and verification and
validation.
|
| CMPSC 235 |
Computer Networks - 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.
|
| CMPSC 240 |
Complier Construction - 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.
|
| CMPSC 244 |
Algorithms - 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.
|
| CMPSC 260 |
Programming Languages - 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.
|
| CMPSC 265 |
Artificial Intelligence - 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.
|
| CMPSC 299 |
Software Engineering II - A capstone
course in which student teams undertake a
large software project using contemporary
software engineering techniques.
|
| MATH 002 |
Mathematics for Elementary Teachers - 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.
|
| MATH 007 |
Statistics - 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.
|
| MATH 008 |
Mathematics for Liberal Arts - 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.
|
| MATH 010 |
College Algebra - 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.
|
| MATH 050 |
Pre-Calculus - 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.
|
| MATH 060 |
Calculus for Management, Biology, and
Social Sciences - A calculus course for
non-mathematics majors. Topics include
limits, continuity, differentiation, and
integration with emphasis on relevant
applications.
|
| MATH 105 |
Calculus I - 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.
|
| MATH 106 |
Calculus II - 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.
|
| MATH 111 |
Introduction to Higher Mathematics - A
study of mathematical induction and other
methods of proof, recursion, formal logic,
and set theory.
|
| MATH 200 |
Theory of Computation - See Computer
Science 200
|
| MATH 204 |
Calculus III - 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.
|
| MATH 206 |
Statistics I - 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.
|
| MATH 207 |
Statistics II - A continuation of
Mathematics 206, 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.
|
| MATH 209 |
Number Theory - 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.
|
| MATH 210 |
Linear Algebra - A study of vector spaces,
determinants, linear transformations,
matrices, and matrix equations, and their
applications in the natural and social
sciences.
|
| MATH 212 |
Numerical Analysis - 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.
|
| MATH 221 |
Geometry - Selected topics from Euclidean
and non-Euclidean geometry, geometry as a
mathematical structure, and geometry as a
study of invariants of set
transformations.
|
| MATH 224 |
Differential Equations - 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.
|
| MATH 227 |
Mathematics Modeling - An introduction to
the process and techniques of modeling
“real-world” systems. Appropriate
mathematics, including numerical methods,
computer simulations, and advanced
analysis of differential equations will be
developed as needed. Models studied will
be drawn from the social, physical, and
life sciences.
|
| MATH 230 |
Abstract Algebra I - A study of various
algebraic systems arising in modern
mathematics, such as groups and rings.
|
| MATH 231 |
Abstract Algebra II - A continuation of
Mathematics 230. More study of groups,
rings, and fields. Additional topics may
be drawn from modules and finite fields.
|
| MATH 235 |
Mathematics Problem Solving - A seminar on
problem solving skills and their
application to nontrivial problems. The
course will culminate with the students
taking the Putnam Exam. May be repeated.
|
| MATH 240 |
Real Analysis - 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.
|
| MATH 299 |
Mathematics Seminar - A study of topics of
special interest in mathematics. Students
will be required to make at least three
presentations including individual study
of a specific mathematics topic under the
supervision of the faculty.
|