Computer Science
Total minimum number of credits required for a major in Computer Science leading to
the B.A. degree — 120.
Total minimum number of credits required for a major in Computer Science leading to
the B.S. degree — 120.
Total minimum number of credits required for a minor in computer science — 17.
The Department of Mathematics, Physics and Computer Science offers a program study leading to the B.A. or B.S degree with a major in Computer Science. Interested students may also pursue Computer Science as a minor area of study.
Computer Science Major
The Computer Science curriculum consists of theoretical as well as application-oriented courses and is based on a strong foundation in mathematics. The B.A. degree is intended for those interested in management and social sciences, whereas the B.S. degree requires greater concentration in the engineering, natural, and physical sciences. The Computer Science prepares students for graduate study and research in the discipline or for employment in government or industry. Students are encouraged, through the pursuit of a minor or second major, to acquire competence in an area that lends itself to meaningful computer applications.
Because certain required and elective courses are offered in either alternative semesters or alternative years, or when demand warrants, degree candidates are strongly encouraged to meet with their advisors on a regular basis to discuss their academic schedule to ensure satisfactory progress toward the degree.
Computer Science Major - Required Courses and Recommended Course Sequence
First Semester |
B.A. |
B.S. |
CS-125 Computer Science I |
4 |
4 |
FYF-101 First-Year Foundations |
3 |
3 |
ENG-101 Composition or |
4/3 |
4/3 |
MTH-111 Calculus I |
4 |
4 |
|
14-15 |
14-15 |
Second Semester |
B.A. |
B.S. |
CS-126 Computer Science II |
4 |
4 |
MTH-112 Calculus II |
4 |
4 |
CS-246 C and Unix |
3 |
3 |
ENG-101 Composition or |
4 |
4 |
|
14-15 |
14-15 |
Third Semester |
B.A. |
B.S. |
CS-225 Computer Science III |
3 |
3 |
MTH-231 Discrete Mathematics |
3 |
3 |
Laboratory Science Sequence |
0 |
4 |
Distribution Requirements |
9 |
6 |
|
16 |
17 |
Fourth Semester |
B.A. |
B.S. |
CS-226 Computer Science IV |
3 |
3 |
MTH-232 Discrete Mathematics II |
3 |
3 |
Laboratory Science Sequence |
0 |
4 |
Distribution Requirement(s) |
6 |
3 |
ENG-202 Tech. & Prof. Writing |
3 |
3 |
|
15 |
16 |
Fifth Semester |
B.A. |
B.S. |
CS-326 Operating System Principles or CS-328Analysis of Algorithms |
3 |
3 |
MTH-150 Elementary Statistics or |
3 |
3 |
Laboratory Science Elective |
0 |
4 |
Distribution Requirements or Free Electives |
9 |
6 |
|
15 |
16 |
Sixth Semester |
B.A. |
B.S. |
CS-334 Software Engineering |
3 |
3 |
CS Elective or CS-330 Computer Arch. |
3 |
3 |
CS Elective or |
3 |
3 |
Free Electives |
6 |
6 |
|
15 |
15 |
Seventh Semester |
B.A. |
B.S. |
CS-391 Senior Projects 1 |
1 |
1 |
CS Elective |
3 |
3 |
CS-326 Operating System |
3 |
3 |
Free Electives |
6-9 |
6-9 |
|
13-16 |
13-16 |
Eighth Semester |
B.A. |
B.S. |
CS-392 Senior Projects II |
2 |
2 |
CS Elective or CS330 |
3 |
3 |
CS Elective or CS-319 Programming Languages or |
3 |
3 |
Free Electives |
6-9 |
6-9 |
|
14-17 |
14-17 |
Science Electives for Computer Science Majors
B.A. candidates
see General Education Curriculum requirements
B.S. candidates
A laboratory science sequence, which must be one of the following:
BIO-121; BIO-122
CHM-113 & CHM-115; CHM-114 & CHM-116
EES-211; EES-230
PHY-201 & PHY204; PHY-202 & PHY-205
and
one additional four-credit course in Biology, Chemistry, Earth and Environmental Sciences, Physics, or any Engineering course not cross-listed in Computer Science. The course must be number above 200, except that BIO-121, BIO-122, CHM-113 and CHM-115, CHM-114 and CHM-116 are also acceptable in fulfilling this requirement.
Computer Science Electives for Computer Science Majors
CS-319 or CS-323 or CS-327 and three additional 300-level CS courses not listed as a required course excluding CS399.
Summary of the minimum credit distribution for the major in Computer Science:
B.A. and B.S.
CS-125 – Computer Science I 4
CS-126 – Computer Science II 4
CS-225 – Computer Science III 3
CS-226 – Computer Science IV 3
CS-246 – C and Unix 3
CS-326 – Operating System Principles 3
CS-328 – Algorithms 3
CS-330 – Computer Architecture 3
CS-334 – Software Engineering 3
CS-391 – Senior Projects I 1
CS-392 – Senior Projects II 2
CS-319 – Principles of Programming Languages or
CS-323 – Theory of Computation or
CS-327 – Compiler Design 3
CS Electives 9
MTH-111 – Calculus I 4
MTH-112 – Calculus II 4
MTH-231 – Discrete Mathematics I 3
MTH-232 - Discrete Mathematics II 3
MTH-150 – Elementary Statistics or
MTH-351 – Probability and Statistics I 3
ENG-101 – Composition 4
ENG-202 – Technical and Professional Writing 3
FYF-101 – First-Year Foundations 3
Science Electives (B.A.) 6 (B.S.) 12
Distribution Requirements 18
Free Electives (B.A.)25 (B.S.) 19
Total minimum number of credits required for degree completion 120
Summary of the minimum credit distribution for the major in Computer Science – 120
Computer Science
CS-198, CS-298, CS-398. Topics in Computer Science
Study of one or more special topics in computer science. May be repeated for credit
if different topics are emphasized. Offered when demand warrants.
CS-115. Computers and Applications
An introduction to computers and computing, with emphasis on personal computing in both the Windows and OS X operating systems. Extensive hands-on experience will involve the application of current commercial software (including word processing, database, and spreadsheet). Not open to students who have received credit in any 200-level CS course. Students majoring in either Computer Science or Computer Information Systems will not receive credit for this course.
CS-125. Computer Science I
Introduction to information technology and programming (history of computing, text
editors, word processing, spreadsheets, introduction to programming), basic data types,
functions, decision structures, loops, one- and two-dimensional list structures, testing,
debugging, and an introduction to computer graphics. Three hours of lecture and two
hours of lab per week. Offered every fall and spring.
Click here for course fee.
CS-126. Computer Science II
A study of advanced programming concepts, structures, and techniques (professional
and ethical issues, testing and debugging, fundamentals of programming, basic data
structures—strings, lists, multidimensional arrays, objects, hashes, inheritance,
polymorphism, recursion, divide and conquer, machine representation of data, hardware
components, machine instructions). Three hours of lecture and two hours of lab per
week. Offered every fall and spring.
Click here for course fee.
CS-225. Computer Science III
A study of the use of a high-level language to implement basic data structures such
as strings, lists, arrays, objects, and hashes, and their application to searching,
sorting, and hashing. Representation of numbers and strings at the machine level.
The course will also include an introduction to the concepts of algorithm design and
problem solving with an emphasis on algorithm development, analysis, and refinement.
Offered every fall.
Click here for course fee.
CS-226. Computer Science IV
A continuation of CS-225. Topics include programming language paradigms, advanced use of word processors and spreadsheets, including macros, linked data structures, and an introduction to discrete mathematics, including counting, probability, and graphs. Offered every spring.
Click here for course fee.
CS-246. C and Unix
An introduction to using Unix operating systems, including shells, file manipulation,
text editors, filters, and regular expressions. Fundamentals of C programming, including
loops, arrays, functions, recursion, pointers, structures, unions, input/output, and
system calls.
Click here for course fee.
CS-265. Medical Informatics
This course will cover basic principles of computer use and information management
in health care (including general medicine, dentistry, optometry, and pharmacy). Topics
will include basic computing concepts, the characteristics of medical data, and the
use of computers in the administrative, diagnostic, and research oriented medical
tasks. The course is primarily directed towards students who intend to pursue careers
in health-related fields. Offered every spring.
Click here for course fee.
CS-283. Web Development I
An introduction to the development of interactive web sites, including HTML, JavaScript,
forms and CGI programs; server side includes cookies, web server configuration and
maintenance. Offered in the fall semester of odd-numbered years when demand warrants.
Click here for course fee.
CS-285. Mobile Applications
An introduction to programming mobile application development. Topics will include cross-platform development; user interface design; touchscreen, GPS, and motion sensing input; memory management; cloud services and network utilization; security and trust considerations; data privacy and ethics.
CS-317. Software Integration
An introduction to the integration of application programs, including email clients,
word processors, spreadsheets, and database systems using Microsoft Office and Visual
Basic.
Click here for course fee.
CS-319. Principles of Programming Languages
A study of the principles that govern the design and implementation of programming
languages. Topics include language structure, data types, and control structures.
Programming projects will familiarize students with features of programming languages
through their implementation in interpreters.
Click here for course fee.
CS-321. Simulation and Data Analysis
Methods of handling large databases, including statistical analysis and computer simulations.
The emphasis will be upon discrete simulation models with a discussion of relevant
computer languages: ARENA, GPSS, and SIMSCRIPT.
Click here for course fee.
CS-323. Theory of Computation
This course formalizes many topics encountered in previous computing courses. Topics
include languages, grammars, finite automata, regular expressions and grammars, context-free
languages, push-down automata, Turing machines, and computability.
Click here for course fee.
CS-324. Systems Analysis
A study of the design and implementation of large computer projects. Special emphasis
is placed on applications to business systems. Students will use a CASE tool for automated
systems analysis and design.
Click here for course fee.
CS-325. Database Management
Practical experience involving the fundamental concepts of database systems including
data modeling; query languages; database management system implementation; management
of semi-structured and multimedia data; distributed and noSQL databases
Click here for course fee.
CS-326. Operating System Principles
Analysis of the computer operating systems, including Batch, Timesharing, and Realtime
systems. Topics include sequential and concurrent processes, processor and storage
management, resource protection, processor multiplexing, and handling of interrupts
from peripheral devices.
Click here for course fee.
CS-327. Compiler Design
A study of compiler design, including language definition, syntactic analysis, lexical
analysis, storage allocation, error detection and recovery, code generation, and optimization
problems.
Click here for course fee.
CS-328. Algorithms
Theoretical analysis of various algorithms. Topics are chosen from sorting, searching,
selection, matrix multiplication of real numbers, and various combinatorial algorithms.
Click here for course fee.
CS-330. Computer Architecture
A study of the design, organization, and structure of computers, ranging from the
microprocessors to the latest 'supercomputers.' An emphasis will be placed on machine
language, instruction formats, addressing modes, and machine representation of numbers.
Click here for course fee.
CS-334. Software Engineering
A course in 'programming in the large.' Topics include software design, implementation,
validation, maintenance, and documentation. There will be one or more team projects.
Click here for course fee.
CS-335. Data Science and Information Retrieval
Practical experience involving unstructured data collections. Topics cover big data,
data mining, predictive modeling, decision analysis and indexing and retrieval including
probabilistics, clustering, thesauri and passage based retrieval strategies.
Click here for course fee.
CS-340. Artificial Intelligence
This course will provide an overview of artificial intelligence (AI) application areas
and hands-on experience with some common AI computational tools. Topics include search,
natural language processing, theorem proving, planning, machine learning, robotics,
vision, knowledge-based systems (expert systems), and neural networks.
Click here for course fee.
CS-350. Object-Oriented Programming
Object-oriented concepts and their application to human-computer interaction. Concepts
to be covered include objects, classes, inheritance, polymorphism, design patterns,
GUI interface guidelines, and design of interfaces. There will be programming projects
in one or more object-oriented languages using one or more GUI interface guidelines.
Click here for course fee.
CS-355. Computer Networks
This course introduces basic concepts, architecture, and widely used protocols of
computer networks. Topics include the Open System Interconnection (OSI) model consisting
of physical link layer, data layer, network layer, transport layer, session layer,
presentation layer, and application layer, the medium access sublayer and LAN, various
routing protocols, Transmission Control Protocol (TCP), and Internet Protocol (IP)
for internetworking.
Click here for course fee.
CS-363. Operations Research
A survey of operations research topics such as decision analysis, inventory models, queuing models, dynamic programming, network models and linear programming. Cross-listed with MTH-363.
Click here for course fee.
CS-364. Numerical Analysis
An introduction to numerical algorithms as tools to providing solutions to common problems formulated in mathematics, science, and engineering. Focus is given to developing the basic understanding of the construction of numerical algorithms, their applicability, and their limitations. Cross-listed with MTH-364. Offered Spring odd years.
CS-366. 3 Dimensional Environments and Animation
This course will explore the foundations of 3-dimensional animation processes as they apply to multiple mediums. Students will build computer-based models and environments, texture, light, animate, and render content for Integrative Media projects or as stand-alone pieces. Cross-listed with IM-350.
Click here for course fee.
CS-367. Computer Graphics
Introduction to equipment and techniques used to generate graphical representation
by computer. Discussion of the mathematical techniques necessary to draw objects in
two- and three-dimensional space. Emphasis on application programming and the use
of a high-resolution color raster display.
Click here for course fee.
CS-368. 3 Dimensional Game Development
An overview of simulation, engine-based, and real-time game systems with a focus on theory, creation, and animation of three-dimensional models used within a game context. Cross-listed with IM-368.
Click here for course fee.
CS-370. Special Projects
Requirements: Senior standing and approval of the department chairperson.
CS-383. Web Development II
An introduction to the development of dynamic, database-driven sites, including active
server pages, PHP, authentication, session tracking and security, and the development
of shopping cart and portal systems.
Click here for course fee.
CS-391. Senior Projects I
Design and implementation of a software project under the direction of a faculty member.
Students will normally work in teams. Detailed requirements and design documents are
required and will be presented at the end of the semester. Offered every fall.
Click here for course fee.
CS-392. Senior Projects II
Design and implementation of a software project under the direction of a faculty member.
Students will normally work in teams. Production of a finished product, including
software and documentation, is required. There will be an open forum presentation
of the project at the end of the semester. Offered every spring.
Click here for course fee.
CS-399. Cooperative Education
Professional cooperative education placement in a private or public organization related to the student’s academic objectives and career goals. In addition to their work experiences, students are required to submit weekly reaction papers and an academic project to a Faculty Coordinator in the student’s discipline. See the Cooperative Education section of this bulletin for placement procedures. Requirements: Sophomore standing; minimum 2.0 cumulative GPA; consent of the academic advisor; and approval of placement by the department chairperson.
Mathematics
MTH-198, MTH-289, MTH-398, MTH-498. Topics in Mathematics
A study of topics of special interest. It may be a continuation of intensive study of topics begun in the upper-level courses in analysis, topology, algebra, and probability. May be repeated for credit for a different topic.
Varies with topic
MTH-94. College Algebra
Designed for students who need to review basic algebra before taking MTH-100 or MTH-150. Topics include polynomials, solution of equations and inequalities, exponents and radicals, graphing, and solution of systems of equations. Offered every fall.
MTH-100. Precalculus
A course in advanced algebra and trigonometry designed to prepare students for calculus. Topics include functions, inverse functions, logarithms, exponentials, and trigonometry.
MTH-101. Solving Problems Using Mathematics
An introduction to the methodology of mathematical modeling as a technique in working towards the solution to real world problems. In an effort for the non-specialist to gain an appreciation of the use of mathematics in our society, topics are selected from among the following: basic voting theory, fair division schemes, routing problems, population growth, and descriptive statistics and probability.
MTH-103. Mathematics for Elementary School Teachers
A study of the theory of arithmetic, structure of the number systems, and other topics relevant to the teaching of mathematics in elementary schools. Offered every fall.
MTH-104. Mathematics for Elementary School Teachers II
A continuation of MTH-103. Topics include elementary probability, statistics, and geometry. Offered every spring.
MTH-111. Calculus I
Calculus of functions of one variable. Topics include functions, limits and continuity, derivatives and integrals. Course will focus on applying conceptual aspects of calculus to modeling and solving problems from across the sciences and engineering.
MTH-112. Calculus II
A continuation of MTH-111. Topics include inverse functions, techniques of integration, applications of the integral, and infinite sequences and series.
MTH-114. Calculus and Modeling for the Biological and Health Sciences
A continuation of MTH 111 for students in the biological and environmental sciences. Topics include integrals, differential equations and continuous dynamical systems, stochastic models and Markov chains, and discrete and continuous probability models. Course will focus on applying ideas from calculus to modeling and solving problems drawn from the biological and environmental sciences. Major credits cannot be granted for both MTH 112 and MTH 114.
MTH-150. Elementary Statistics
Elementary statistical inference, with an emphasis on ideas, techniques, and applications in the life, physical, and social sciences. Topics include descriptive statistics, confidence intervals, hypothesis testing, contingency tables, multiple regression, and analysis of variance. Not open to mathematics majors or students with credit in MTH 351.
MTH-211. Introduction to Ordinary Differential Equations
First-order and linear higher order differential equations; matrices, determinants,
and systems of differential equations; numerical and power series methods of solution;
the Laplace transform. Offered every fall.
MTH-212. Multivariable Calculus
Differential and integral calculus of real and vector valued functions. Topics include continuity, partial differentiation, implicit functions, Taylor’s Theorem, gradient, curl, line, surface, and multiple integrals, inverse functions, theorems of Green and Stokes.
MTH-214. Linear Algebra
An axiomatic approach to vector spaces, linear transformations, systems of linear equations, Eigen values, and Eigen vectors. Offered every spring.
MTH-231. Discrete Mathematics I
An introduction to logic, sets, relations, and counting for students in the mathematical and computing sciences. Topics include: Introduction to symbolic logic; types of proof including direct proof and proof by contradiction; introduction to mathematical induction; elementary set theory including sets, equivalence and partial order relations and functions; basic counting principles including permutations and combinations with and without multiplicity, the Binomial Theorem, an introduction to combinatorial proof and the Pigeonhole Principle; Introduction to recursive definition, solving first-order recurrences using iteration; solving linear homogeneous and non-homogeneous recurrences with constant coefficients.
MTH-232. Discrete Mathematics II
A continuation of MTH-231 providing background in discrete mathematics. Emphasis will be placed on the development of mathematical algorithms and their usage in computer science. Topics include: Introduction to divisibility, the integers, and the Euclidean Algorithm; growth rates of functions, big OH notation and an introduction to algorithm analysis including analyzing iterative and recursive algorithms; basics of graph theory including paths, cycles, graph isomorphism, and graph colorings; introduction to greedy algorithms and their use; trees, spanning trees, binary trees and related algorithms; introduction to combinatorial circuits and Boolean algebra, introduction to finite state machines.
MTH-234. Financial Mathematics
This is an introductory course in Financial Mathematics. students will learn about the different types of interest (simple interest, discount interest, compound interest), annuities, debt retirement methods, investing in stocks and bonds. If time is permissible, more advanced topics will also be covered.
MTH-302. Introduction to Higher Mathematics
A continuation of MTH-231 which provides foundational background for upper-level courses in pure mathematics. Topics include advanced studies of relations including a review of equivalence relations, an introduction to partial order and total order relations; properties of the integers including divisibility, the notion of congruence, the Euclidean Algorithm, and the Fundamental Theorem of Arithmetic; properties of the real number system including axioms for the real numbers, subsets of the real number system (including the integers, rational numbers, and irrational numbers), the completeness of the real number system; properties of sets and functions including cardinality, countable vs uncountable sets, the cardinal hierarchy of infinite sets and the Continuum Hypothesis.
MTH-303. The Teaching of Mathematics in Middle Level and Secondary Schools
This course deals with educational perspectives that pertain to the teaching of mathematics at the middle and secondary levels (grades 4 through 12). Topics of discussion include recommendations by the National Council for Teachers of Mathematics (NCTM) regarding instructional methods, assessment, techniques, and curricular issues. The course includes a 40-hour practicum. Offered in the fall semester of odd-numbered years.
MTH-311. Real Analysis
A rigorous study of the topology of the real line, limits, continuity, differentiation, integration, and series of functions. Offered in the fall semester of even-numbered years.
MTH-314. Complex Analysis
Complex functions, limit, continuity, analytic functions, power series, contour integration, Laurent expansion, singularities, and residues. Offered when demands warrants.
MTH-331. Abstract Algebra I
A rigorous study of elementary number theory, groups, rings, and fields. Offered in the fall semester of odd-numbered years.
MTH-343. Geometry
A study of selected topics from Euclidean and non-Euclidean geometry. Offered in the fall semester of even-number years.
MTH-351. Probability and Mathematical Statistics I
Random variables, probability distributions, expectation and limit theorems, introduction to confidence intervals and hypotheses testing. Offered every fall.
MTH-352. Probability and Mathematical Statistics II
Hypothesis testing, non-parametric methods, multivariate distributions, introduction to linear models. Offered in the spring semester of odd-numbered years when demand warrants.
MTH-353. Actuarial Mathematics
Actuarial science is the discipline that applies mathematical and statistical methods to assess risk in the insurance and finance industries. Actuarial science includes a number of interrelating subjects, including probability and statistics, finance, and economics. This course will provide basic aspects of the theory of insurance, concentrating on the part of this theory related to life insurance.
MTH-354. Statistical Methodology
This course emphasizes applications, using statistical computer packages, such as BMDP, SPSS, and JMP, and real data sets from a variety of fields. Topics include estimation and testing, stepwise regression, analysis of variance and covariance, design of experiments, contingency tables, and multivariate techniques, include logistic regression. Offered in the spring semester of even-numbered years when demand warrants.
MTH-356. Actuarial P Exam Preparation
This is a seminar course with the aim of helping students prepare for the actuarial exams as needed.
MTH-361. Partial Differential Equations
Partial differential equations and boundary value problems, inner product spaces,
orthogonal functions, eigenvalue problems, Sturm-Liouville equations, Fourier series,
Fourier transforms, Green's functions, and classical equations of engineering and
physics. Offered fall of even years.
Click here for course fee.
MTH-362. Advanced Calculus
Topics from advanced calculus including matrix representation of differentials and
the multivariable chain rule, vector calculus, curvilinear coordinates, tensors, change
of variables in higher dimensions, improper multiple integrals, applications of line
and surface integrals, differential forms and the general Stokes theorem, potential
theory, and Taylor's formula for functions of several variables. Offered Fall of odd
years.
Click here for course fee.
MTH-363. Operations Research
A survey of operations research topics such as decision analysis, inventory models, queuing models, dynamic programming, network models and linear programming. Cross-listed with CS-363. Offered in the spring semester of odd-numbered years when demand warrants.
Click here for course fee.
MTH-364. Numerical Analysis
Numerical techniques for solving equations, interpolation and function approximation, numerical integration, and differentiation, and solution of differential equations. Error analysis and applications. Cross-listed with CS-364. Offered spring of odd-numbered years.
MTH-365. Numerical Linear Algebra
Direct and iterative methods for the solution of systems of linear equations, matrix
decompositions, computation of eigenvalues and eigenvectors, and relaxation techniques.
The theoretical basis for error analysis, including vector and matrix norms. Applications
such as least squares and finite difference methods. Offered spring semester of even-numbered
years.
Click here for course fee.
MTH-391. Senior Seminar
Presentations and discussions of selected topics in mathematics, conducted by students and faculty.
MTH-392. Senior Seminar
Presentations and discussions of selected topics in mathematics, conducted by students and faculty.
MTH-397. Seminar
Presentations and discussions of selected topics.
MTH-399. Cooperative Education
Professional cooperative education placement in a private or public organization related to the student’s academic objectives and career goals. In addition to their work experiences, students are required to submit weekly reaction papers and an academic project to a Faculty Coordinator in the student’s discipline. See the Cooperative Education section of this bulletin for placement procedures. Requirements: Sophomore standing; minimum 2.0 cumulative GPA; consent of the academic advisor; and approval of placement by the department chairperson.
MTH-413. Functions of Several Variables
A modern treatment of the calculus of functions of several real variables. Topics include Euclidean spaces, differentiation, integration of manifolds leading to the classical theorems of Green and Stokes. Offered when demand warrants.
MTH-432. Abstract Algebra II
A continuation of MTH-331. Polynomial rings, ideals, field extensions, and Galois Theory. Offered when demand warrants.
MTH-442. Topology
Metric spaces, topological spaces, countability and separation axioms, compactness, connectedness, product spaces. Offered when demand warrants.
MTH-470. Reading Course
Requirements: Senior standing in mathematics and approval of the department chairperson.