Undergraduate

CMPSC401 Erlang Programming With Applications
Prerequisites:
CMPSCF132 & Permission of the Instructor
Credits:
1.00
Description:
Erlang is a generalpurpose, concurrent, functional programming language. It is designed to support distributed, faulttolerant, softrealtime, nonstop applications in the areas of telecommunications, online video games, social networking, highperformance Web development and databases. This course covers the language foundations, as well as intermediate topics such as distributed communications, clientserver systems, and working with ETS tables and Mnesia database. Special attention will be paid to recursive and asynchronous programming, which are the two core principles of the language.

CMPSC501 Software Development Internship
Prerequisites:
CMPSCF131,CMPSCF132 and at least one CMPSC course numbered 200 or above. Prior to registration, student must submit credit approval form and gain faculty approval.
Credits:
2.00 4.00
Description:
Student works in a qualified software development setting to gain practical experience in modern industrial software development. Student will apply lessons learned in the classroom within a supervised, professional development while developing a greater understanding of the job expectations and organizational culture. Internship may be taken for 24 academic credit hours, at 4 hours of company work per week per each credit. Additional academic reports with be required. Students may take more than one internship, but the total number of credits applied toward graduation cannot exceed 12.
Type:
Expanded Classroom Requirement

CMPSC510 Computer Science Independent Study
Credits:
1.00 4.00
Description:
Guided study on a topic at an advanced level.
Type:
Quantitative Reasoning

CMPSCF118 Computing With Words
Credits:
4.00
Description:
This course introduces students to aspects of Natural Language Processing involving computerbased analysis and comparison of texts written in natural languages (English and others). In addition to introductory computer programming in Python, the course also covers some basic statistics concepts. Intended for students at all levels.
Type:
Quantitative Reasoning

CMPSCF120 Programming for the World Wide Web
Credits:
4.00
Description:
This is a handson course aimed at nonCS students who want to learn how to build interesting and interactive web pages. We do not use any drag anddrop software for this purpose. Instead we cover the basics of HTML and PHP and, if time permits, we look at some ways of building web pages that interact with databases. Each student will have, for the duration of the course, an account on a server that permits individuals to have web pages that are visible on the World Wide Web.
Type:
Quantitative Reasoning

CMPSCF124 Game Programming
Credits:
4.00
Description:
This course introduces students to computer game development, including, but not limited to, game programming. We use Game Maker, a framework for personal computers that runs equally well on XP, Vista, and Linux. We learn about the foundational concepts of twodimensional (flat) games: graphics, sound, objects, actions, rooms, scores, levels, multiplayer support, artificial intelligence, and more. Game Maker has an intuitive interface that makes game development approachable for everyone, including those who have never written a single game or a single computer program. All games created by Game Maker can be saved as standalone applications and can be shared freely with classmates, friends, and family. This is not a course in graphics design, audio editing, or scriptwriting. Students are encouraged to use their creativity and imagination to design games and the correctness of game implementation is stressed throughout the course.
Type:
Quantitative Reasoning

CMPSCF130 Game Programming II
Prerequisites:
CMPSCF124;
Credits:
4.00
Description:
This course will be a continuation of CMPSC 124 and go more indepth into coding and the designing of different types of games or applications. Using the Game Maker framework, students will challenge their creativity by developing strategy, isometric, and platform scrolling games, among others. In this class, students will go beyond the drag and drop options of Game Maker and explore the possibilities within the Game Maker Language (GML), creating more complex games. We will make GUIs, program audio engines, and experience the rich learning process of taking a game from inspiration through implementation.
Type:
Quantitative Reasoning

CMPSCF131 Computer Science I
Prerequisites:
Must be taken concurrently with CMPSC R131
Credits:
4.00
Description:
This is a rigorous introduction to computer science in Java with an emphasis on problem solving, structured programming, objectoriented programming, and graphical user interfaces. Topics include expressions, input/output, control structures, intrinsic data types, classes and methods, iteration, topdown programming, arrays, graphical user interfaces, and elements of UML. Normally offered each semester.
Type:
Quantitative Reasoning

CMPSCF132 Computer Science II
Prerequisites:
CMPSC F131
Credits:
4.00
Description:
Computer Science II (CSII) is the continuation of Computer Science I. The purpose of CSII is to expand students' understanding of Computer Science and computer programming, assuming that they have the basic knowledge of the Java language. The course introduce another programming language  C  and also focuses on the pure ObjectOriented features of Java, such as inheritance, polymorphism, and exceptions, as well as on simple data structures (lists, stacks, and queues) and algorithms (searching and sorting). By the end of the semester students will be able to develop sizable (several pages long) computer programs in the C and Java languages. Efficient C and Java program development requires an Integrated Development Environment (IDE)  a collection of tools that make it possible to edit, compile, and debug C and Java programs. Our IDE of choice is Eclipse. Eclipse is free and available for many operating systems, including Microsoft Windows (all flavors), Linux, Unix, and Mac OS X.
Type:
Quantitative Reasoning

CMPSCF253 Assembly Language and Computer Structure
Prerequisites:
CMPSC F132
Credits:
4.00
Description:
Introduction to computer architecture and machine language programming, internal representation of data and programs, and assembly language programming. Machine and assembly language implementations of constructs from higherlevel languages such as C (including recursion and floatingpoint arithmetic) are studied.
Type:
Quantitative Reasoning

CMPSCF265 Data Structures & Algorithms
Prerequisites:
CMPSC F132
Credits:
4.00
Description:
Includes topics such as strings, stacks, queues, lists, trees, graphs, sorting, searching, hashing, dynamic storage allocation, and analysis of algorithms. Most programming will be done in the C language. Normally offered each semester.
Type:
Quantitative Reasoning

CMPSCF331 Object Oriented Programming
Prerequisites:
CMPSCF265
Credits:
4.00
Description:
ObjectOriented Programming in C++ is taught using Trolltech's multiplatform Qt library and other opensource libraries and tools. Emphasis is placed on program design and code reuse. Topics include: encapsulation, inheritance and polymorphism, UML, refactoring, parentchild relationships, properties, eventdriven programming, test cases, regular expressions, constraints, XML, design patterns, and graphical user interfaces. We deal with some operating system and programming environment issues and also with code packaging. C++ is a very large language, so we do not attempt to cover it all. Instead we work with a carefully selected subset of language elements that permits students to exploit the powerful Qt libraries and write robust, idiomatic, and interesting code. By the end of the course, the student should have a good command of C++, facility using and building libraries, an understanding and appreciation of the design patterns that we covered, and a wellestablished discipline of refactoring and code reuse. Prerequisite: CMPSC F265 (which may be taken concurrently). Normally offered each semester.
Type:
Quantitative Reasoning

CMPSCF333 Organization of Programming Languages
Prerequisites:
CMPSC F253, F265
Credits:
4.00
Description:
An introduction to functional programming and to the meaning and implementation of various programming language features. The course begins with a brief introduction to the Scheme language, which is then used to write interpreters for small languages that contain features typical of larger, more realistic languages. Normally offered each spring semester.
Type:
Quantitative Reasoning

CMPSCF345 Software Engineering
Credits:
4.00
Description:
This course introduces the fundamental principles of software engineering. Requirement specification and life cycles are emphasized. Topics include requirements analysis and specification, analysis and design, architecture, implementation, testing and quality, configuration management. Professional ethics considerations will be explored and emphasized throughout the course. Prerequisite: CMPSC F265. 1 term  4 credits. Normally offered each year.
Type:
Quantitative Reasoning

CMPSCF353 Architecture of Computer Systems
Prerequisites:
CMPSC F265.
Credits:
4.00
Description:
This course deals with the structure and operation of the major hardware components of a computer. Topics include basic logic design, basic datapath construction, basic pipelining, I/O system design, issues in memory hierarchy and network interface design. Normally offered each fall semester.
Type:
Quantitative Reasoning

CMPSCF355 Operating Systems
Prerequisites:
CMPSC F353 & CMPSC F265 and Working knowledge of C++.
Credits:
4.00
Description:
This course presents an overview of modern operating systems, from the points of view of an application developer and of a system developer. It covers process management, scheduling, concurrency management, multithreading, memory management, and file system organization. Intensive programming assignments in the C language and in an assembly language help students to learn the POSIX application programming interface (API) and the lowlevel organization of a generalpurpose operating system. Normally offered each spring.
Type:
Quantitative Reasoning

CMPSCF363 Intro to Database Systems
Prerequisites:
CMPSC 265 and MATH 285
Credits:
4.00
Description:
This is an introduction to the design and use of database systems  systems that manage very large amounts of data. Topics covered include EntityRelationship (E/R) data model, Relational data model, objectoriented model, and the conversion of E/R and relational models. We shall also learn some database languages, both concrete and abstract, including Structured Query Language (SQL), Object Query Language (OQL), relational algebra, etc. We will introduce the semistructured data, such as the popular Extensible Markup Language (XML), and their usage in database systems as well. The course is intended for computer science students who need to have an indepth understanding of modern database systems. Normally offered each fall semester.
Type:
Quantitative Reasoning

CMPSCF541 Advanced Databases
Credits:
4.00
Description:
This course is an advanced continuation of Intro to Database Systems (CMPSC F363)
Type:
Quantitative Reasoning

CMPSCR120 Programming for WWW Recitation
Credits:
0.00
Description:
Taken simultaneously with CMPSC 120. Students work with lab instructors to do work that enhances the course understanding. Such work can include practice problems, supervised programming time, as well as questionanswer time and group project work. The hybrid version of the recitation: Once every two weeks students meet with an instructor to do work that enhances understanding of the course material. On alternate weeks students do individual programming and reading.

CMPSCR131 Recitation from Computer Science I
Prerequisites:
Must be taken concurrently with CMPSC F131
Credits:
0.00
Description:
Taken simultaneously with CMPSC 131. The recitation is a hybrid course. Once every two weeks students meet with an instructor to do work that enhances understanding of the course material. Such work can include practice problems and programming, homework problems and sometimes quizzes on a laptop as well as questionanswer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.

CMPSCR132 Recitation for Computer Science II
Prerequisites:
Must be taken concurrently with CMPSC 132
Credits:
0.00
Description:
Taken simultaneously with CMPSC 132. The recitation is a hybrid course. Once every two weeks students meet with an instructor to do work that enhances understanding of the course material. Such work can include practice problems and programming, homework problems and sometimes quizzes on a laptop as well as questionanswer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.

MATH000 Mathshop  Bridge to College Math
Credits:
0.00
Description:
A NONCREDIT, full semester workshop designed for students who need substantial review before starting MATH 104, MATH 106, OR MATH 121. Similar to a course, MATHSHOP meets three hours per week throughout the semester. Topics covered are tailored to the needs of students and include basic math material, basic algebra, graphing use of calculators, ways of dealing with math fears and study methods. Several sections normally offered each semester.

MATH002 Preparing for College Math
Prerequisites:
Requirements: Internet access, Suffolk email, computer headset with microphone and earphones. MyMathLab or WebAssign access key (obtained after registration for course)
Credits:
0.00
Description:
This course is designed for students who want a refresher of some real numbers and algebra topics before taking MATH 130 and MATH 134 or MATH 121. Topics covered in each section will be adjusted based on students' needs but will include real number arithmetic, lines, graphs and some basic algebra. Designed for students with math placement scores 80120.

MATH075 Review of Math Concepts for Calculus
Credits:
0.00
Description:
The purpose of this noncredit course is to help engineering students review basic math contents and topics that will be used frequently in their major engineering courses. The course will cover basic algebra (for example, order of operations, exponents, simplifying algebraic expressions, combinations of operations and complex fractions), functions and graphs (including linear, polynomial, and rational, exponential and logarithmic functions) and basic knowledge in trigonometric functions (for example angles and radian measures, right triangle trigonometry, graphs of Sine and Cosine functions)

MATH104 Precalculus for Management & Social Sciences
Prerequisites:
Appropriate Math Placement Exam score.
Credits:
4.00
Description:
A selection of topics in algebra and elementary analytic geometry including, (but not restricted to): properties of real numbers, linear equations and inequalities, absolute value equations and inequalities, polynomials, rational expressions, exponents and radicals, quadratic equations, functions, linear, quadratic and polynomial models, rational, exponential and logarithmic functions. Applications and graphs are stressed throughout the course. This course is intended to prepare students who have only had one year of high school algebra to take MATH 134. Students may not use this course alone to satisfy the C.A.S. math requirement. Qualifying math placement exam score required. Students who are not prepared for this course should take MATHSHOP. Several sections offered each semester. *This course cannot be applied toward a departmental concentration in Mathematics by Sawyer Business School students. This course cannot be taken for credit by a student who already has credit for a more advanced course.

MATH121 Precalculus With Elements of Calculus
Prerequisites:
MATH 104 or MATH 108 with a B or higher or appropriate math placement score
Credits:
4.00
Description:
A review of topics in algebra, trigonometry and analytic geometry intended for students needing one additional semester of preparation before taking MATH 165. Students may not use this course alone to satisfy the CAS math requirement. Prerequisites: MATH 104 with B or MATH 108 with B or higher or qualifying placement exam score indicating solid grounding in intermediate algebra. 4 lecture hours plus 1 recitation session per week. Normally offered every semester. *This course cannot be applied toward a departmental concentration in Mathematics by Sawyer Business School students. This course cannot be taken for credit by a student who already has credit for a more advanced course.

MATH128 Math for the Modern World
Prerequisites:
MATH000 or appropriate Math Placement Exam score.
Credits:
4.00
Description:
From the ISBN on a book, to buying a car, from the size of small chips in a cell phone, to the size of the national debt, or just reading a graph in the daily newspaper, mathematics plays an important and vital role in countless areas of life and your future career and courses included. Mathematics is both an art and a tool created by humans. The common bond is a way of thinking and a way of reasoning to describe and solve problems of many types. This course uses the context of modern real life problems to introduce math needed for literacy and problem solving in contemporary life and work. It uses a minimal amount of algebra and focuses on math models, concepts and basic math manipulations. It encourages students to move from anxiety about math, to using formulas well, to thinking critically in the math context to use math to solve problems and pose new problems. Topics include scientific notation, basic financial math, linear, exponential and polynomial models and an introduction to probability. (Formerly Math 132)

MATH130 Topics in Finite Mathematics
Prerequisites:
MATH 104, MATH 108, MATH121 or appropriate math placement score.
Credits:
4.00
Description:
Linear Modeling (for example, using linear functions to model supply/demand situations), graphing, linear programming, financial functions (compound interest, annuities, and amortization of loans) sets, Venn diagrams, counting and combinatorics, discrete probability, conditional probability, Bernoulli experiments, Bayes theorem. Several sections offered each semester. *This course cannot be applied toward a departmental concentration in Mathematics by Sawyer Business School students.

MATH132 MathArt, Tool and Human Side
Prerequisites:
MATH000 or appropriate Math Placement Exam score. Course does not fulfill math requirement for SBS majors.
Credits:
4.00
Description:
Mathematics is both an art and a tool. It has been used in many ways in contemporary and ancient society. The common bond is a way of thinking and a way of using reason to solve problems and describe things of all sorts. The course is designed to cultivate an appreciation of the significance of mathematics in daily life and develop students' mathematical reasoning. Topics will vary from section to section. Examples of topics that might be included are: the real meaning of a newspaper graph, methods to tally votes, fair division, routes and networks, consumer mathematics, the 'real' cost of a house, shapes and patterns, fractals, soap film surfaces, prime numbers and encryption, new discoveries in mathematics.

MATH134 Calculus for Management & Social Sciences
Prerequisites:
MATH 104, MATH 121 or appropriate math placement score.
Credits:
4.00
Description:
A onesemester introduction to differential and integral calculus. Theory is presented informally and topics and techniques are limited to polynomials, rational functions, logarithmic and exponential functions. Topics include a review of precalculus, linear regression, limits and continuity, derivatives, differentiation rules, implicit differentiation, related rates, applications of derivatives to graphing, minima/maxima, applications of the derivative, marginal analysis, differential equations of growth and decay, antiderivatives, the definite integral, the Fundamental Theorem of Calculus, area measurements. This course cannot be used to satisfy core or complementary requirements by students majoring in chemistry, computer science, engineering, mathematics, or physics. Several sections offered each semester. *This course cannot be applied toward a departmental concentration in Mathematics by Sawyer Business School students.

MATH165 Calculus I
Prerequisites:
Math Placement score or MATH 121 with a grade of C or better
Credits:
4.00
Description:
Functions, limits and continuity; instantaneous rate of change, tangent slopes, and the definition of the derivative of a function; power, product, and quotient rules, trig derivatives, chain rule, implicit differentiation; higher order derivatives; applications(curve sketching, limits at infinity, optimization, differentials); other transcendental functions (inverse trig functions, exponential and log functions, hyperbolic trig functions); antiderivatives; indefinite integrals; applications (net change). 4 lecture hours plus 1 recitation session each week. Normally offered each semester.

MATH166 Calculus II
Prerequisites:
MATH 165 with grade of C or better
Credits:
4.00
Description:
Riemann sums and definite integrals; Fundamental Theorem; applications (areas); integration of exponential functions, trig functions, and inverse trig functions; techniques of integration (by parts, trig substitution, partial fractions); area, volume, and average value applications; differential equations (separable, exponential growth, linear); infinite sequences and series; convergence tests; power series; Taylor and Maclaurin series (computation, convergence, error estimates, differentiation and integration of Taylor series). 4 lecture hours plus 1 recitation session each week. Normally offered each semester.

MATH167 Honors Calculus Seminar I
Credits:
1.00
Description:
Intended for students who are simultaneously taking Math 165 or Math 166,this seminar meets once per week to investigate some of the more theoretical and challenging aspects of the topics covered in MATH 165 and 166. Normally offered each spring.

MATH220 Mathematics for Scientists and Engineers
Prerequisites:
Take MATH166
Credits:
4.00
Description:
Topics mostly selected from the following list: complex numbers (i, arithmetic, Euler phi function, DeMoivre's theorem, roots of unity); elementary computational linear algebra (matrices: addition, scalar multiplication, multiplication, adjoint, transpose, inverse, rank, Gaussian elimination, Cramer's rule, linear functions, transformations of 2 and 3 space; vectors: definition, addition, subtraction, dot product, cross product, basis vectors, change of bases, eigenvalues, eigenvectors); combinatorics (counting principles, permutations and combinations); finite probability (basic definitions, sample spaces, events, probabilities of unions and intersections). Normally offered once per year.

MATH255 Probability and Statistics
Prerequisites:
MATH165 with a grade of C or better
Credits:
4.00
Description:
Topics include: random variable and distribution; expectation and variance; special discrete/continuous distributions (uniform, binomial, negative binomial, geometric, hypergeometric, Poisson, normal, and exponential distributions); joint distribution, marginal distribution and conditional distribution; covariance; limit theorems (law of large numbers and central limit theorem); introduction to confidence interval and hypothesis testing; regression analysis. Offered as needed.

MATH256 Statistics With R
Prerequisites:
MATH 255 or permission of instructor
Credits:
1.00
Description:
The course uses free software R to introduce key concepts in statistics. Topics include Descriptive statistics and graphics, One and twosample tests, Regression and correlation, and Analysis of variance. Data from financial markets or computer networks will be used for homework assignments and projects. We will focus on hands on experiences with R rather than theoretical details about statistical analysis.

MATH265 Calculus III
Prerequisites:
MATH 166 with grade of C or better
Credits:
4.00
Description:
Parametric equations and polar coordinates (curves, areas, conic sections); vectors and the geometry of space (the dot product, vector arithmetic, lines and planes in 3space, the cross product, cylinders and quadratic surfaces); vector functions (limits, derivatives and integrals, motion in space); partial derivatives (functions of several variables, limits and continuity, tangent planes and differentials, chain rule, directional derivatives, gradient, extrema, Lagrange multipliers); multiple integrals (double integrals, applications); vector calculus (vector fields, line integrals, fundamental theorem for line integrals, Green's Theorem, curl and divergence, parametric surfaces, surface integrals). 4 lecture hours plus 1 recitation session each week. Normally offered each semester.

MATH267 Honors Calculus Seminar II
Prerequisites:
Intended for students simultaneously taking MATH 265
Credits:
1.00
Description:
This seminar meets once per week to investigate some of the more theoretical and challenging aspects of the topics covered in MATH 265. Normally offered once per year.

MATH285 Discrete Mathematics
Prerequisites:
MATH165 with a grade of C or better
Credits:
4.00
Description:
Topics mostly selected from the following list: Logic and set theory, elementary number theory, relations and functions and their properties (equivalence relations, partial order relations, recurrence relations and their solutions); computational complexity of algorithms (big O notation); graphs and their properties (isomorphisms of graphs, Euler and Hamilton paths, shortest path problem, graph coloring) trees (tree traversal, minimum spanning trees); finite state machines; methods of proof (proof by induction, proof by contradiction). Prerequisite: MATH 220 or permission of instructor. 1 term  4 credits (4 lecture hours per week). Normally offered at least once each year.

MATH290 Financial Mathematics I
Prerequisites:
MATH166 with a grade of C or better
Credits:
4.00
Description:
This course is mainly designed for students who are interested in financial mathematics and/or actuarial sciences, especially if they plan to take the second actuarial exam, and/or if they plan to study more in financial mathematics. The materials covered include time value of money, annuities, loans, bonds, cash flows and portfolios, general derivatives, options, hedging and investment strategies, forwards and futures, and swaps.
Type:
Expanded Classroom Requirement

MATH331 Introduction to Abstract Math
Prerequisites:
MATH165 and MATH166 with a grade of C or better
Credits:
4.00
Description:
this course is intended to provide a firm foundation for and a taste of the study of advanced mathematics. While the course content varies somewhat, it is designed to give students a deeper understanding of the algebraic and analytical structure of the integers, the rational numbers and the real numbers and how they act as a building block to a variety of fields of mathematics. Students are introduced to the process of mathematical discovery and the language of mathematics. Exercises and projects are designed to illustrate the need for proof and to further refine the student's ability to analyze, conjecture and write mathematical proofs. This course is a prerequisite for most upper level mathematics courses and, after completing it a student will be in a position to determine realistically if he or she ought to major or minor in mathematics.

MATH351 Geometry
Credits:
4.00
Description:
Topics chosen from such areas as foundations of geometry, nonEuclidean geometry, projective geometry and convexity. Prerequisite: MATH 331. 1 term  3 credits. Offered as the need arises.

MATH373 Ordinary Differential Equations
Prerequisites:
MATH 262
Credits:
4.00
Description:
A first course in differential equations. Topics generally include separable, homogenous, exact, and linear first order differential equations; variations of parameters, differential operators, the Laplace transform, inverse transforms, systems of differential equations, power series solutions, Fourier series, and applications.

MATH431 Linear Algebra
Prerequisites:
Math 331 must have grade C or higher
Credits:
4.00
Description:
System of linear equations, Gaussian elimination, matrices and their algebra, inverse of a matrix, determinants, cofactor expansion, Cramer's rule, vectors in and their algebra, abstract vector spaces, subspaces, linear independence, basis and dimension, linear transformations, isomorphism of vector spaces, rank and nullity, matrix of a linear transformation, inner product spaces, angle and orthogonality, eigenvalues and eigenvectors of a linear transformation, characteristic equation, CayleyHamilton theorem, diagonalization.

MATH432 Abstract Algebra
Prerequisites:
MATH 431
Credits:
4.00
Description:
An introduction to elementary group theory, including properties of groups, subgroups, first isomorphism theorem for groups, normal subgroups, finite group classification; elementary properties of rings, such as homomorphisms of rings, ideals, fields, Euclidean algorithm, rings of polynomials, factorization theory, integral domains, associates, primes and units in domains, and other topics in number theory. Prerequisite: MATH 431 with a grade of C or higher.

MATH462 Real Analysis
Prerequisites:
MATH 331 with at least a grade of C
Credits:
4.00
Description:
A detailed treatment of the basic concepts of analysis including the real numbers; completeness and its equivalence to other properties of the reals such as monotone convergence, Archimedean property, BolzanoWeierstrass theorem; the topology of Euclidean spaces, compactness and the HeineBorel theorem, connectedness, continuity and uniform continuity and uniform continuity, pointwise and uniform convergence of functions, and an introduction to metric spaces.

MATH481 Complex Analysis I
Prerequisites:
MATH 462
Credits:
4.00
Description:
Construction and properties of complex numbers, calculus in the complex plane, analytic functions, contour integrals and the basics of Cauchy theory, power series representations. Prerequisite: MATH 331 or instructor's consent.

MATH503 Internship in Mathematics
Prerequisites:
MATH 165 MATH 166 MATH 265 and at least one MATH courses 200 or above. Student must submit credit approval form and gain faculty approval.
Credits:
2.00 4.00
Description:
Student works in a qualified mathematical corporation, industrial or educational setting gain practical experience in math related areas such as actuarial sciences, finance, math education. Student will apply lessons learned in the classroom within a supervised, professional development while developing a greater understanding of the job expectations and organizational culture. Internship may be taken for 24 academic credit hours, at 4 hours of company work per week per each credit. Additional academic reports with be required. Students may take more than one internship, but the total number of credits applied toward graduation cannot exceed 12.
Type:
Expanded Classroom Requirement

MATH510 Independent Study
Credits:
4.00
Description:
Members of the department will hold conference hours with students and will direct their readings and study of topics in mathematics which may be of interest to them. Prerequisite: Consent of instructor. 1 term  credits to be arranged.

MATHR104 Recitation for PreCalculus for Management and Social Sciences
Prerequisites:
Appropriate Math Placement Exam score. Must be taken concurrently with MATH 104
Credits:
0.00
Description:
Taken simultaneously with Math 104. The recitation is a hybrid course. Once every two weeks students meet with an instructor to do work that enhances understanding of the course material. Such work can include practice problems, homework problems and sometimes quizzes on a laptop as well as questionanswer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.

MATHR128 Recitation for Math for the Modern World
Prerequisites:
MATH000 or appropriate Math Placement Exam score. Must be taken concurrently with MATH 128. This course cannot be applied toward a departmental concentration in Mathematics by Sawyer Business School students.
Credits:
0.00
Description:
Hands on problem solving, discussion and examples of Math for the Modern World.

MATHR130 Recitation for Finite Mathematics
Prerequisites:
MATH 104 or appropriate math placement score. Must be taken concurrently with MATH 130
Credits:
0.00
Description:
Taken simultaneously with Math 130. The recitation is a hybrid course. Once every two weeks students meet with an instructor to do work that enhances understanding of the course material. Such work can include practice problems, homework problems and sometimes quizzes on a laptop as well as questionanswer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.

MATHR132 Recitation for MathArt, Tool and Humanside
Prerequisites:
MATH000 or appropriate Math Placement Exam score. Must be taken concurrently with MATH 132. This course cannot be applied toward a departmental concentration in Mathematics by Sawyer Business School students.
Credits:
0.00
Description:
Taken simultaneously with Math 132. The recitation is a hybrid course. Once every two weeks students meet with an instructor to do work that enhances understanding of the course material. Such work can include practice problems, homework problems and sometimes quizzes on a laptop as well as questionanswer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.

MATHR134 Recitation for Calculus for Management And Social Sciences
Prerequisites:
MATH 104 or appropriate math placement score. Must be taken concurrently with MATH 134.
Credits:
0.00
Description:
Taken simultaneously with Math 134. The recitation is a hybrid course. Once every two weeks students meet with an instructor to do work that enhances understanding of the course material. Such work can include practice problems, homework problems and sometimes quizzes on a laptop as well as questionanswer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.
Graduate

CMPSC647 Storage and Cloud Computing
Credits:
3.00
Description:
This course covers concepts, principles, and deployment considerations across storage and cloud computing technologies that are used for storing and managing information.

CMPSC910 CMPSC Independent Study
Prerequisites:
instructor's consent
Credits:
1.00 6.00
Description:
Guided study on a topic at an advanced level.
Type:
Quantitative Reasoning

CMPSCF600 Computer Science
Prerequisites:
Prior coursework in computer programming.
Credits:
3.00
Description:
This is a rigorous introduction to computer science in Java with an emphasis on problem solving, structured programming,objectoriented programming, and graphical user interfaces. Topics include expressions, input/output, control structures, intrinsic data types, classes and methods, iteration, topdown programming, arrays, graphical user interfaces, and elements of UML. Normally offered each semester.
Type:
Quantitative Reasoning

CMPSCF601 Intermediate Programming
Prerequisites:
CMPSC F131 or CMPSC F600
Credits:
3.00
Description:
The second course in Java programming emphasizes objectoriented programming, data structures and algorithms, and programming techniques. Topics include inheritance, polymorphism, exception handling, recursion, simple data structures (linked lists, stacks, queues, trees), sorting, searching, and files. Students learn how to use debugging and documentation tools. Normally offered each semester.
Type:
Quantitative Reasoning

CMPSCF602 Assembly Language
Prerequisites:
CMPSC F132 or F601 (which may be taken concurrently)
Credits:
3.00
Description:
Introduction to computer architecture and machine language programming, internal representation of data and programs and assembly language programming. Machine and assembly language implementations of constructs from higherlevel languages such as C (including recursion and floating point arithmetic) are studied.
Type:
Quantitative Reasoning

CMPSCF603 Data Structures & Algorithms
Prerequisites:
CMPSC F601 or CMPSC F132
Credits:
3.00
Description:
Includes topics such as strings, stacks, queues, lists, trees, graphs, sorting, searching, hashing, dynamic storage allocation and analysis of algorithms. Most programming will be done in the C language.
Type:
Quantitative Reasoning

CMPSCF604 Introduction to Computer Architecture
Prerequisites:
CMSPSC F132 or CMPSC F601 and CMPSC F253 or CMPSC F602
Credits:
3.00
Description:
This course deals with the structure and operation of the major hardware components of a computer. Topics include basic logic design, basic datapath construction, basic pipelining, I/O system design, issues in memory hierarchy, and network interface design.
Type:
Quantitative Reasoning

CMPSCF605 Operating Systems
Prerequisites:
CMPSC F353 or CMPSC F604 and CMPSC F265 or CMPSC F603.
Credits:
3.00
Description:
This course presents an overview of modern operating systems, from the points of view of an application developer and of a system developer. It covers process management, scheduling, concurrency management, multithreading, memory management, and file system organization. Intensive programming assignments in the C language and in an assembly language help students to learn the POSIX application programming interface (API) and the lowlevel organization of a generalpurpose operating system. Students need a strong working knowledge of C or C++. Normally offered each spring.
Type:
Quantitative Reasoning

CMPSCF606 Organization of Program Languages
Prerequisites:
CMPSC F253 and CMPSC F265 or CMPSC F602 and CMPSC F603
Credits:
3.00
Description:
An introduction to functional programming and to the meaning and implementation of various programming language features. The course begins with a brief introduction to the Scheme language, which is then used to write interpreters for small languages that contain features typical of larger, more realistic languages.
Type:
Quantitative Reasoning

CMPSCF607 Introduction to Database Systems
Prerequisites:
CMPSC F265 or CMPSC F603 and MATH 282 or CMPSC M612
Credits:
3.00
Description:
Introduction to the purpose and nature of database systems. Topics covered include major database models, relational database design, internals of database systems, concurrency control and recovery.
Type:
Quantitative Reasoning

CMPSCF608 Object Oriented Programming
Prerequisites:
CMPSC F601 and CMPSC F603, which may be taken concurrently
Credits:
3.00
Description:
ObjectOriented Programming in C++ is taught using Trolltech's multiplatform Qt library and other opensource libraries and tools. Emphasis is placed on program design and code reuse. Topics include: encapsulation, inheritance and polymorphism, UML, refactoring, parentchild relationships, properties, eventdriven programming, test cases, regular expressions, constraints, XML, design patterns, and graphical user interfaces. We deal with some operating system and programming environment issues and also with code packaging. C++ is a very large language, so we do not attempt to cover it all. Instead we work with a carefully selected subset of language elements that permits students to exploit the powerful Qt libraries and write robust, idiomatic, and interesting code. By the end of the course, the student should have a good command of C++, facility using and building libraries, an understanding and appreciation of the design patterns that we covered, and a wellestablished discipline of refactoring and code reuse. Normally offered each semester.
Type:
Quantitative Reasoning

CMPSCF615 Software Engineering
Credits:
3.00
Description:
This course introduces the fundamental principles of software engineering. Requirement specification and life cycles are emphasized. Topics include requirements analysis and specification, analysis and design, architecture, implementation, testing and quality, configuration management. Professional ethics considerations will be explored and emphasized throughout the course. Normally offered each year.
Type:
Quantitative Reasoning

CMPSCF623 Analysis of Algorithms
Prerequisites:
Foundational courses, CMPSC F603 and CMPSC M612
Credits:
3.00
Description:
Basic techniques of design for sequential, parallel and probabilistic algorithms including divide and conquer, greedy method, dynamic programming, etc.
Type:
Quantitative Reasoning

CMPSCF629 Bioinformatics
Prerequisites:
CMPSCF331 and MATH285 or CMPSCM612
Credits:
3.00
Description:
This course will cover challenges of computational aspect of data acquisition, validation, and visualization in bioinformatics. Data mining approaches with focus of similarity search algorithms will be discussed. As a part of the course, each student will design, implement and present mediumsize bioinformatics solution to one of today's problem field.

CMPSCF633 Software Engineering
Prerequisites:
Foundational Courses, especially CMPSCF608 or permission of instructor
Credits:
3.00
Description:
Course dealing with issues concerning long term, large scale programming projects: problem specification, system design, documentation, testing and maintenance, software environments.
Type:
Quantitative Reasoning

CMPSCF635 Advanced Operating Systems
Prerequisites:
Foundational Courses and CMPSC F605
Credits:
3.00
Description:
This course is intended to be a continuation of CMPSC 605. The emphasis is on modern classes of operating systems, such as networkoriented and distributed OS, realtime OS, secure and trusted OS, etc. Classic textbooks and research papers will be used. Programming exercises will focus on the development of system programming skills in Linux and QNX environments.
Type:
Quantitative Reasoning

CMPSCF641 Advanced Databases
Prerequisites:
CMPSC F607
Credits:
3.00
Description:
Data models, query languages, query optimization, concurrency control, recovery and distributed databases.
Type:
Quantitative Reasoning

CMPSCF665 Compilers
Prerequisites:
Foundational courses and CMPSC F606
Credits:
3.00
Description:
Basic techniques in lexical analysis, parsing, storage allocation, translation systems, code generation and optimization.
Type:
Quantitative Reasoning

CMPSCF667 Computer Architecture
Prerequisites:
Foundational courses, CMPSC F604
Credits:
3.00
Description:
Architecture of sequential and parallel computers including topics in data path design, memory organization, instruction set design, pipelining, supercomputers and parallel computers.
Type:
Quantitative Reasoning

CMPSCF671 Networks
Prerequisites:
Foundational courses, and CMPSC F605.
Credits:
3.00
Description:
Network topologies, ISO reference model, physical network layer, datalink layer, communication layer and routing, transport and session layers, transport protocols, network security and privacy, distributed network applications.
Type:
Quantitative Reasoning

CMPSCF673 Parallel Processing
Prerequisites:
Foundational courses or permission of instructor.
Credits:
3.00
Description:
Topics in programming models, architectures, algorithms and compilation techniques for parallel computers.
Type:
Quantitative Reasoning

CMPSCF677 Computer and Network Security
Prerequisites:
CMPSC F671, or a familiarity with IP networks and Unix/Linux programming, or permission of the instructor
Credits:
3.00
Description:
This graduatelevel course is an introduction to the fundamentals and practice of computer and networking security, with a focus on the current state of networking security issues including attack and defenses. The topics of this course include cryptography (including ciphers, hashes, key exchange), basic security services (integrity, availability, confidentiality, etc.), typical attacks on networks (such as denial of service attacks, viruses, and worms) and defense mechanisms (such as firewalls, intrusion detection), common security protocols (such as IPsec, SSL, and Kerberos), the security and privacy of various applications (such as Web, DNS, email, Voice Over IP, and P2P), secure wireless networks (especially mobile adhoc networks). Grades will be based on class participation, homework, exams, and a course project.
Type:
Quantitative Reasoning

CMPSCM611 Math for Scientists and Engineers
Prerequisites:
MATH 166
Credits:
3.00
Description:
Topics mostly selected from the following list: complex numbers (i, arithmetic, Euler phi function, DeMoivre's theorem, roots of unity); elementary computational linear algebra (matrices: addition, scalar multiplication, multiplication, adjoint, transpose, inverse, rank, Gaussian elimination, Cramer's rule, linear functions, transformations of 2 and 3 space; vectors: definition, addition, subtraction, dot product, cross product, basis vectors, change of bases, eigenvalues, eigenvectors); combinatorics (counting principles, permutations and combinations); finite probability (basic definitions, sample spaces, events, probabilities of unions and intersections). Normally offered once per year.
Type:
Quantitative Reasoning

CMPSCM612 Discrete Mathematics
Prerequisites:
CMPSC M611 or MATH 281
Credits:
3.00
Description:
Topics mostly selected from the following list: Logic and set theory, elementary number theory, relations and functions and their properties (equivalence relations, partial order relations, recurrence relations and their solutions); computational complexity of algorithms (big O notation); graphs and their properties (isomorphisms of graphs, Euler and Hamilton paths, shortest path problem, graph coloring) trees (tree traversal, minimum spanning trees); finite state machines; methods of proof (proof by induction, proof by contradiction). Normally offered at least once each year.
Type:
Quantitative Reasoning