### Why study computer science and mathematics at CMU?

These dynamic programs offered by the Department of Computer Science will prepare you for some of the fastest growing professions in America. Consider some of the key features of these programs:

- Advanced facilities that include a UNIX/LINUX workstation lab and other special purpose labs
- Faculty with expertise and practical technology experiences in a variety of computer science and information technology fields
- Professional development, resources, and contacts through the Computer Science Society and the student chapter of the Association of Information Technology Professionals
- Practical experience through a wide range of internship opportunities in computer science and information technology fields

### Career outlook

According to the Bureau of Labor Statistics Occupational Outlook Handbook, for all occupations through the year 2014:

- Job increases will be driven by very rapid growth in computer system design and related services, which is projected to be among the fastest growing industries in the U.S. economy.
- The computer systems design and related services industry remains one of the 25 fastest growing industries in the nation.
- Employment of computer systems analysts is expected to grow 18 to 26 percent as organizations continue to adopt and integrate increasingly sophisticated technologies.
- In addition, wage and salary employment is expected to grow 40 percent.

### Career options

Graduates of the computer science and information technology programs will find a variety of career opportunities. Some of these may require additional education.

- Applications Programmer
- Computer Communications Specialist
- Consultant
- Database Manager
- Programmer
- Software Designer
- Systems Analyst
- Systems Programmer

Introductory topics from mathematical theory of statistics: population distributions, sampling distributions, point and interval estimation, tests of hypotheses. Prerequisite: STA 584.

### Program Overview

The course listings below are a **representation** of what this academic program requires. For a full review of this program in detail please see our official online academic bulletin AND consult with an academic advisor. This listing does not include the General Education courses required for all majors and may not include some program specific information, such as admissions, retention, and termination standards.

**(Click on the course name or number for a complete course description.)**

###
Computer Science - Mathematics Major

This major offers a coordinated program of coursework for students planning careers which require extensive knowledge of both computing and mathematics. The student will have an advisor in both the Mathematics and the Computer Science Departments.

Total: 59 semester hours
For additional information, see the list of advisors in the Class Schedule Booklet.

Required Courses

(48 hours)

CPS 180

Principles of Computer Programming

3

Algorithm development and problem solving methods. Design and development of computer programs in a structured programming language. Pre/Co-requisite: One of MTH 130, 132, 133, 217. (University Program Group II-B)

CPS 181

Introduction to Data Structures

3

Continuation of CPS 180. Dynamic storage allocation, recursion, abstract data types (such as stacks, queues, linked lists, and binary trees), sorting and searching. Prerequisites: CPS 180; Corequisite: MTH 175.

CPS 210

Assembly Language and Computer Organization

3

Topics in assembly language concepts, introduction to computer organization, machine representation of information, models of computer architecture, instruction and addressing fundamentals, control structures. Pre/Co-Requisite: CPS 181. Recommended: One of: MTH 132 or MTH 216.

CPS 340

Advanced Data Structures and Algorithms

3

Theory of and advanced techniques for representation of information; lists, trees, graphs; analysis of algorithms; sorting, searching and hashing techniques. Prerequisites: CPS 181, CPS 210 or EGR 396; MTH 223 or 232.

CPS 360

Computer Design and Architecture

3

Logic gates, design and analysis of digital circuits, clocked digital circuits, processor micro-architecture, instructions sets and addressing modes, virtual memory. Prerequisite: CPS 210.

CPS 410

Software Engineering

3

Software specification, design methods, programming and testing techniques and CASE tools. Developing large software systems in a group environment using modern software engineering techniques. Prerequisites: CPS 340; Recommended: CPS 370.

CPS 450

Programming Language Concepts

3

Formal definition of programming languages including specification of syntax and semantics. Prerequisite: CPS 340.

Limits, continuity, interpretations of the derivative, differentiation of elementary functions, applications of derivatives, antiderivatives, Riemann sums, definite integrals, fundamental theorem of calculus. This course is approved for offering in a distance learning format. Recommended: MTH 106, 107; or MTH 130. (University Program Group II-B)

Techniques of integration, applications of definite integrals, improper integrals, elementary differential equations, infinite series, Taylor series, and polar coordinates. Prerequisite: MTH 132.

MTH 175

Discrete Mathematics

3

Topics in discrete mathematics including sequences, graphs, mathematical induction, recursion, number theory, combinatorial counting, difference equations, algorithms, and Boolean Algebra. No credit in MTH 175 after credit in MTH 375 or MTH 332. Prerequisite: MTH 130 or 132 or 133.

MTH 223

Linear Algebra and Matrix Theory

3

Systems of linear equations, matrices, determinants, vectors, vector spaces, eigenvalues, linear transformations, applications and numerical methods. Prerequisite: MTH 132.

Vectors and surfaces in R3, vector-valued functions, functions of several variables, partial differentiation and some applications, multiple integrals, vector calculus. Prerequisites: MTH 133. Pre/Co-Requisites: MTH 223 or 232.

MTH 332

Introduction to Mathematical Proof

3

Study of several basic concepts in mathematics including logic, set theory, relations and functions, cardinality, number systems, sequences. Pre/Co-requisite: MTH 223 or 232.

MTH 438

Numerical Analysis I

3

Computational methods for solving non-linear equations and systems of linear equations. Interpolation, numerical differentiation and integration. Prerequisites: MTH 133, 223.

MTH 523

Modern Algebra I

3

Groups, rings, integral domains, fields, and fundamental homomorphism theorems. Prerequisite: MTH 332 or graduate status.

Electives

(11 hours)

Electives,approved by an advisor, from the following:

CPS 282

Introduction to Multimedia Design

3

Introduction to multimedia concepts. Survey of multimedia applications in fields such as education, business and entertainment. Introduction to multimedia authoring tools. Hands-on projects.

CPS 370

File Manipulation Techniques

3

Creation and manipulation of program and data files, scientific and industrial applications of file-oriented systems, prominent computer languages having file processing capabilities. Prerequisite: CPS 181.

CPS 380

Microcomputer Architecture

3

Concepts and operation of microprocessors and microcomputers to include input/output, mass storage, memory, and small read-only memory operating systems. Prerequisites: CPS 210, CPS 360.

CPS 395

Internship in Computer Science

1-9

Supervised work experience in computer science. Only 3 hours may count toward the major. Any additional hours must provide a significantly different educational experience. CR/NC only. Prerequisites: CPS 210 or ITC 291; permission of department chairperson.

CPS 420

Windows Programming

3

Introduction to programming for windowing systems. Graphical User Interfaces, object-oriented programming, shared data and program libraries. Mixed-language programming. Relationships among windowing systems. Prerequisites: CPS 340 or ITC 320.

CPS 468

Systems Programming and Software

3

Systems concepts--filesystem, shell, system calls; software such as assemblers, linkers, loaders; systems programming in a modern programming environment such as UNIX. Prerequisites: CPS 340.

CPS 470

Introduction to Operating Systems

3

Operating systems as resource manager. Study of the strategies used to manage system resources such as devices, files, memory, processors. Prerequisites: CPS 340, CPS 360.

CPS 480

Introduction to Artificial Intelligence

3

Automated reasoning, search strategies, knowledge representation, game playing, expert systems, machine learning and perception; applications. Prerequisites: CPS 340.

CPS 482

Advanced Multimedia Design

3

Interactive multimedia projects will be designed using advanced authoring tools. Issues concerning representation, storage, compression, transmission, and manipulation of various multimedia components will be discussed. Prerequisites: CPS 282.

CPS 496

Special Topics in Computer Science

1-6

Selected topics in computer science not otherwise available in a course regularly offered. Topic(s) are listed in Course Search and Registration. Repeatable up to 6 credits when content does not duplicate previous special topic studies. Pre/Co-requisites: See Course Search and Registration. Determined by the specific topics presented.

CPS 530

Simulation of Discrete Event Systems

3

Development of computer models for discrete systems using computer simulation languages. Performance evaluation of computer, industrial and engineering systems. Prerequisite: CPS 181; STA 282 or STA 382.

Physical and logical organizations of databases, database management systems, project involving a student-designed database. Prerequisites: CPS 340 and CPS 370; or ITC 441 and permission of instructor.

CPS 560

Digital Computer Design

3

Design of basic components of a general purpose computer such as CPU, memory, I/O systems. Instruction set design. CISC versus RISC debate. Parallel Architectures. Prerequisite: CPS 360.

CPS 575

Computer Graphics

3

Representation of line drawings, handwritings, and three-dimensional surfaces in computers. A plotter and graphics terminal are used. Prerequisites: CPS 181 or MTH 223.

CPS 596

Special Topics In Computer Science

1-6

Selected topics in computer science not otherwise available in a course regularly offered. Topic(s) are listed in Course Search and Registration. Repeatable up to 6 credits when content does not duplicate previous special topic studies. Prerequisite: See Course Search and Registration. Determined by the specific topics presented.

CPS 597

Independent Study

1-6

Open to students with permission of instructor. May be taken for credit more than once, total credit not to exceed 6 hours.

MTH 334

Differential Equations

3

Definition and solution of first, second, and higher order differential equations. Prerequisites: MTH 133, MTH 223.

MTH 375

Discrete Structures

3

Relation between set theoretic operations and computer operations, applications of graph theory, graphical algorithms, discrete algebraic structure. Prerequisites: MTH 133 or MTH 223; MTH 175 or MTH 332.

MTH 439

Numerical Analysis II

3

Continuation of MTH 438. Solutions to ordinary differential equations. Study of approximation theory and solutions to nonlinear systems of equations. Prerequisite: MTH 438.

MTH 520

Optimization Theory

3

An introduction to the theory, practical applications and algorithms of nonlinear programming. Prerequisites: MTH 233.

MTH 521

Theory of Numbers

3

Properties of integers, congruences, greatest common divisors and prime factorization, applications of number theory to computer science and cryptology. Prerequisite: MTH 332.

MTH 532

Advanced Calculus I

3

Rigorous development of calculus for functions of one variable. Sequences, limits, continuity, differentiation, integration, exponential and logarithmic functions, arc length, series. Credits will not count towards M.A. or Ph.D. degree requirements in mathematics. Prerequisites: MTH 233 and MTH 332, or graduate status.

MTH 533

Advanced Calculus II

3

Continuation of MTH 532. Rigorous development of calculus for functions of several variables. Limits, continuity, differentiation, and integration. Prerequisite: MTH 532.

MTH 545

Introduction to Point-Set Topology

3

Development of elementary point-set topology. Sets, functions, metric spaces, topological spaces, quotient surfaces, compactness, and connectedness. Prerequisite: MTH 332 or graduate status.

MTH 578

Combinatorics I

3

Introduction to the basic principles of combinatorics and graph theory with applications to problems of nonmathematical origin. Prerequisites: MTH 523.

MTH 586

Operations Research I

3

Mathematical theory and applications of mathematical programming. Linear programming duality, integer programming, mixed integer programming, and dynamic programming. Prerequisites: MTH 133

MTH 587

Operations Research II

3

Continuation of MTH 586. Theory and application of stochastic models in operations research. Inventory models, queuing theory. Markov chains, stochastic programming. Prerequisites: STA 382, MTH 586.

STA 382

Elementary Statistical Analysis

3

An introduction to statistical analysis. Topics will include descriptive statistics, probability, sampling distributions, statistical inference, and regression. Greater emphasis than in STA 282 will be placed on probability theory and probability distribution. Credit may not be earned in both STA 282 and STA 382. Prerequisite: MTH 130 or 132 or 133.

STA 580

Applied Statistical Methods I

3

Applications of statistical methods including the usage of computer packages. Topics include forecasting, simple and multiple regression, and analysis of variance. This course is approved for offering in a distance learning format. Prerequisites: STA 282 or STA 382; or graduate standing.

STA 584

Mathematical Statistics I

3

Probability defined on finite and infinite samples spaces, conditional probability and independence, random variables, expectations, moment-generating functions, probability models, limit theorems. Prerequisite: MTH 233.

STA 585

Mathematical Statistics II

3

Introductory topics from mathematical theory of statistics: population distributions, sampling distributions, point and interval estimation, tests of hypotheses. Prerequisite: STA 584.