Undergraduate
-
CMPSC-375 Introduction to Networks
Prerequisites:
CMPSC F331 & CMPSC 353
Credits:
4.00
Description:
This course explores the fundamentals of computer networks, protocols and layering, applications and their implications to everyday networking life.
-
CMPSC-401 Erlang Programming With Applications
Prerequisites:
CMPSC-F132 & Permission of the Instructor
Credits:
1.00
Description:
Erlang is a general-purpose, concurrent, functional programming language. It is designed to support distributed, fault-tolerant, soft-real-time, non-stop applications in the areas of telecommunications, online video games, social networking, high-performance Web development and databases. This course covers the language foundations, as well as intermediate topics such as distributed communications, client-server 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.
-
CMPSC-510 Computer Science Independent Study
Credits:
1.00- 4.00
Description:
Guided study on a topic at an advanced level.
Type:
Quantitative Reasoning
-
CMPSC-F120 Programming for the World Wide Web
Credits:
4.00
Description:
This is a hands-on course aimed at non-CS students who want to learn how to build interesting and interactive web pages. We do not use any drag- and-drop 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
-
CMPSC-F124 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 two-dimensional (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
-
CMPSC-F125 Introduction to Multimedia Programming
Credits:
4.00
Description:
This course provides an introduction to multimedia programming: developing programs that create and manipulate digital images and sound. Topics include creating negative and gray-scale images, reversing and splicing sounds, creating sound visualizations, and other related topics. The student will learn some of the concepts and techniques underlying software applications like Photoshop or SoundEdit as well as fundamental concepts underlying all of computing, such as algorithms, abstractions, and how computers represent numbers, text, images, and sound. There is no prerequisite for this course. It is recommended for students with little or no computer programming experience or who are not confident in their programming background. However, the student should be aware that hands-on programming is a central component of the course, embodied in frequent programming assignments.
Type:
Quantitative Reasoning
-
CMPSC-F128 Programming II for the World Wide Web
Credits:
4.00
Description:
This course is a continuation of Programming for the World Wide Web. Students are taught how to turn their home PC or laptop into a web server by downloading and installing XAMPP, a free program that bundles the Apache server, the MySQL database, and the programming language PHP. After learning PHP and MySQL, students are taught AJAX, a technology that improves client-server communication, and jQuery, a library that enhances JavaScript. The course finishes with an introduction to Content Management Systems. As in Web I, there will be several lab exercises, homework assignments, and a final project. Upon completion of this course, students will have been exposed to topics needed to work in industry as web developers. Prerequisite: CMPSC F120.
Type:
Quantitative Reasoning
-
CMPSC-F130 Game Programming II
Prerequisites:
CMPSC-F124;
Credits:
4.00
Description:
This course will be a continuation of CMPSC 124 and go more in-depth 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
-
CMPSC-F131 Computer Science I
Credits:
4.00
Description:
This is a rigorous introduction to computer science in Java with an emphasis on problem solving, structured programming, object-oriented programming, and graphical user interfaces. Topics include expressions, input/output, control structures, intrinsic data types, classes and methods, iteration, top-down programming, arrays, graphical user interfaces, and elements of UML. Normally offered each semester.
Type:
Quantitative Reasoning
-
CMPSC-F132 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 Object-Oriented 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
-
CMPSC-F253 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 higher-level languages such as C (including recursion and floating-point arithmetic) are studied.
Type:
Quantitative Reasoning
-
CMPSC-F265 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
-
CMPSC-F331 Object Oriented Programming
Prerequisites:
CMPSC-F265
Credits:
4.00
Description:
Object-Oriented Programming in C++ is taught using Trolltechs multi-platform Qt library and other open-source libraries and tools. Emphasis is placed on program design and code re-use. Topics include: encapsulation, inheritance and polymorphism, UML, refactoring, parent-child relationships, properties, event-driven 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 well-established discipline of refactoring and code reuse. Prerequisite: CMPSC F265 (which may be taken concurrently). Normally offered each semester.
Type:
Quantitative Reasoning
-
CMPSC-F333 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
-
CMPSC-F345 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
-
CMPSC-F353 Architecture of Computer Systems
Prerequisites:
CMPSC F253 and 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
-
CMPSC-F355 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, multi-threading, 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 low-level organization of a general-purpose operating system. Normally offered each spring.
Type:
Quantitative Reasoning
-
CMPSC-F363 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 Entity-Relationship (E/R) data model, Relational data model, object-oriented 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 in-depth understanding of modern database systems. Normally offered each fall semester.
Type:
Quantitative Reasoning
-
CMPSC-F541 Advanced Databases
Credits:
4.00
Description:
This course is an advanced continuation of Intro to Database Systems (CMPSC F363)
Type:
Quantitative Reasoning
-
CMPSC-R120 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 question-answer 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.
-
CMPSC-R131 Recitation for Intro to Computer Programming
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 question-answer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.
-
CMPSC-R132 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 question-answer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.
-
MATH-000 Mathshop - Bridge to College Math
Credits:
0.00
Description:
A NON-CREDIT, 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.
-
MATH-002 Preparing for College Math
Prerequisites:
Requirements: Internet access, Suffolk e-mail, 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 80-120.
-
MATH-104 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.
-
MATH-121 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.
-
MATH-130 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.
-
MATH-132 Math-Art, Tool and Human Side
Prerequisites:
MATH-000 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.
-
MATH-134 Calculus for Management & Social Sciences
Prerequisites:
MATH 104, MATH 121 or appropriate math placement score.
Credits:
4.00
Description:
A one-semester 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, anti-derivatives, 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.
-
MATH-165 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); anti-derivatives; indefinite integrals; applications (net change). 4 lecture hours plus 1 recitation session each week. Normally offered each semester.
-
MATH-166 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.
-
MATH-167 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.
-
MATH-220 Mathematics for Scientists and Engineers
Prerequisites:
Take MATH-166
Credits:
4.00
Description:
Topics mostly selected from the following list: complex numbers (i, arithmetic, Euler phi function, DeMoivres theorem, roots of unity); elementary computational linear algebra (matrices: addition, scalar multiplication, multiplication, adjoint, transpose, inverse, rank, Gaussian elimination, Cramers 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.
-
MATH-255 Probability and Statistics
Prerequisites:
MATH-166 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.
-
MATH-265 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 3-space, 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, Greens Theorem, curl and divergence, parametric surfaces, surface integrals). 4 lecture hours plus 1 recitation session each week. Normally offered each semester.
-
MATH-267 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.
-
MATH-285 Discrete Mathematics
Prerequisites:
MATH-166 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.
-
MATH-290 Financial Mathematics I
Prerequisites:
MATH-166 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
-
MATH-331 Introduction to Abstract Math
Prerequisites:
MATH-165 and MATH-166 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 students 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.
-
MATH-351 Geometry
Credits:
4.00
Description:
Topics chosen from such areas as foundations of geometry, non-Euclidean geometry, projective geometry and convexity. Prerequisite: MATH 331. 1 term - 3 credits. Offered as the need arises.
-
MATH-373 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.
-
MATH-391 Advanced Honors Seminar
Credits:
1.00
Description:
Intended for students with a substantial level of mathematical maturity who wish to investigate advanced topics. This seminar fulfills one of the Honors Math lab requirements. Prerequisite: Permission of instructor; 1 term, 1 credit; offered in response to need and interest.
-
MATH-431 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, Cramers 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, Cayley-Hamilton theorem, diagonalization.
-
MATH-432 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.
-
MATH-462 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, Bolzano-Weierstrass theorem; the topology of Euclidean spaces, compactness and the Heine-Borel theorem, connectedness, continuity and uniform continuity and uniform continuity, pointwise and uniform convergence of functions, and an introduction to metric spaces.
-
MATH-463 Real Analysis II
Prerequisites:
MATH 462 with at least a grade of C
Credits:
4.00
Description:
Continuation of the basics of analysis including integration and measure theory.
-
MATH-481 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 instructors consent.
-
MATH-510 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.
-
MATH-R104 Recitation for Pre-Calculus 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 question-answer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.
-
MATH-R130 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 question-answer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.
-
MATH-R132 Recitation for Math-Art, Tool and Humanside
Prerequisites:
MATH-000 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 question-answer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.
-
MATH-R134 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 question-answer time and group project work. On alternate weeks students do on line work such as lecture demonstration of additional examples or homework projects.
Graduate
-
CMPSC-647 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.
-
CMPSC-910 CMPSC Independent Study
Prerequisites:
instructors consent
Credits:
1.00- 6.00
Description:
Guided study on a topic at an advanced level.
Type:
Quantitative Reasoning
-
CMPSC-F600 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,object-oriented programming, and graphical user interfaces. Topics include expressions, input/output, control structures, intrinsic data types, classes and methods, iteration, top-down programming, arrays, graphical user interfaces, and elements of UML. Normally offered each semester.
Type:
Quantitative Reasoning
-
CMPSC-F601 Intermediate Programming
Prerequisites:
CMPSC F131 or CMPSC F600
Credits:
3.00
Description:
The second course in Java programming emphasizes object-oriented 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
-
CMPSC-F602 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 higher-level languages such as C (including recursion and floating point arithmetic) are studied.
Type:
Quantitative Reasoning
-
CMPSC-F603 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
-
CMPSC-F604 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
-
CMPSC-F605 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, multi-threading, 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 low-level organization of a general-purpose operating system. Students need a strong working knowledge of C or C++. Normally offered each spring.
Type:
Quantitative Reasoning
-
CMPSC-F606 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
-
CMPSC-F607 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
-
CMPSC-F608 Object Oriented Programming
Prerequisites:
CMPSC F601 and CMPSC F603, which may be taken concurrently
Credits:
3.00
Description:
Object-Oriented Programming in C++ is taught using Trolltechs multi-platform Qt library and other open-source libraries and tools. Emphasis is placed on program design and code re-use. Topics include: encapsulation, inheritance and polymorphism, UML, refactoring, parent-child relationships, properties, event-driven 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 well-established discipline of refactoring and code reuse. Normally offered each semester.
Type:
Quantitative Reasoning
-
CMPSC-F615 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
-
CMPSC-F623 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
-
CMPSC-F629 Bioinformatics
Prerequisites:
CMPSC-F331 and MATH-285 or CMPSC-M612
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 medium-size bioinformatics solution to one of todays problem field.
-
CMPSC-F633 Software Engineering
Prerequisites:
Foundational Courses, especially CMPSC-F608 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
-
CMPSC-F635 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 network-oriented and distributed OS, real-time 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
-
CMPSC-F641 Advanced Databases
Prerequisites:
CMPSC F607
Credits:
3.00
Description:
Data models, query languages, query optimization, concurrency control, recovery and distributed databases.
Type:
Quantitative Reasoning
-
CMPSC-F665 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
-
CMPSC-F667 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, super-computers and parallel computers.
Type:
Quantitative Reasoning
-
CMPSC-F671 Networks
Prerequisites:
Foundational courses, and CMPSC F605.
Credits:
3.00
Description:
Network topologies, ISO reference model, physical network layer, data-link layer, communication layer and routing, transport and session layers, transport protocols, network security and privacy, distributed network applications.
Type:
Quantitative Reasoning
-
CMPSC-F672 Multimedia Networking
Prerequisites:
Take CMPSC F671
Credits:
3.00
Description:
The course will cover concepts that underlie the transport of continuous media across the Internet. Emerging networked multimedia applications will be surveyed, along with audio and video coding and compression techniques. Network service requirements of streaming and interactive real-time applications
Type:
Quantitative Reasoning
-
CMPSC-F673 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
-
CMPSC-F675 Wireless Networking
Prerequisites:
CMPSC F671
Credits:
3.00
Description:
This course focuses on wireless networking technologies and mobile computing principles from the viewpoint of a computer scientist. Wireless communications, wireless networking, mobility management technologies, and protocols for wireless LANs and WANs will be surveyed. Selected mobile computing models, service discovery architectures, and mobile application development environments will be evaluated. Intermediate programming projects and problem-sets will be assigned. A significant term project involving an investigation and the development of a prototype will also be completed.
Type:
Quantitative Reasoning
-
CMPSC-F677 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 graduate-level 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 ad-hoc networks). Grades will be based on class participation, homework, exams, and a course project.
Type:
Quantitative Reasoning
-
CMPSC-F679 Network Design
Credits:
3.00
Description:
Hands-on, lab oriented course in the typical designs, architectures, and protocols of computer networks including routers and end-systems in the areas of single segment IP networks, multiple segment IP networks and static routing, dynamic routing protocols (RIP, OSPF and BGP), LAN switching, transport layer protocols such as UDP and TCP, NAT, DHCP, DNS, and SNMP. Prerequisite: CMPSC671 or permission of the instructor.
-
CMPSC-M611 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, DeMoivres theorem, roots of unity); elementary computational linear algebra (matrices: addition, scalar multiplication, multiplication, adjoint, transpose, inverse, rank, Gaussian elimination, Cramers 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
-
CMPSC-M612 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
