Computer Science
The paradigm below is one example of how this major may be completed. Students may use their elective credits to explore other majors or to enroll in skillbuilding courses in mathematics, reading, writing and/or study skills. With planning, students may use these credits to complete a minor, enroll in a practicum or internship, or study abroad.
















*  Elective may be used Jr./Sr. year to complete a CS internship for 3 upperlevel CS credits.  
Note: Students with strong mathematics aptitude are advised to consider earning a Multidisciplinary Scientific Computing Minor. These students are required to complete Calculus I and Calculus II.  
+  M148 Calculus with Precalculus I or M151 Calculus I highly recommended. 
It is the responsibility of the student to complete all major and university requirements. Please refer to the university catalog for additional information regarding this major. Course title and content is subject to change. Not all courses are offered each semester or year. Please consult with your major advisor for the most current information.
**Students enrolled in the Lasallian Honors Program should consult the program director for the appropriate sequence of courses.
(From the 1315 Catalog)
A. All of the following:
CS101  Computer Science Fundamentals (3 credits)
This course provides a foundation in computing and algorithmic principles. Students are introduced to the basic conceptual building blocks of computer hardware and software systems. The tools and principles of algorithmic problem solving and systems design are explored. In the second half of the semester, students gain experience with simple programming challenges.
Offered fall semester. Prerequisite: mathematics competency.
CS110  Computer Science I: Introduction to Programming (3 credits)
This course introduces students to the practice of software development. Students learn the fundamentals of programming, algorithm development, and basic design principles.
Offered spring semester. Prerequisite: CS101; concurrent with CS111.
CS111  Computer Science I Laboratory (1 credit)
The laboratory course complements CS110 by using programming exercises to reinforce concepts and practices covered in CS110 lectures.
Offered spring semester. Prerequisite: CS101; concurrent with CS110.
CS210  Computer Science II: Advanced Programming and Data Structures (4 credits)
This course is a continuation of CS110/111. CS210 expands on the programming techniques covered in CS1, adding discussion of recursion and data structures such as lists, stacks, queues, balanced trees, graphs and heaps. Specific algorithms that use these structures efficiently and general algorithm techniques and their analysis are also covered. Class lab time is used to reinforce concepts and practices covered in lectures.
Offered fall semester. Prerequisite: grade of C or better in CS110/111.
CS220  Discrete Mathematics (3 credits)
This course provides the theoretical foundation of modern computer hardware and software. It provides that foundation in the form of mathematical tools and concepts geared toward computer science applications. Topics covered include: logic and set theory; functions and relations; simple algorithm analysis; and an introduction to graph theory.
Offered fall semester. Prerequisite: mathematics competency.
CS301  Computers and Society (3 credits)
This course covers a wide array of current topics related to social, legal, and ethical issues arising from the pervasive use of current and emerging computerrelated technologies. Through discussion and writing, students are expected to thoughtfully explore the covered topics. This course is part of the Collegeﾒs Intensive Writing Program and satisfies the upperlevel writing requirements for computer science majors.
Offered fall semester. Prerequisite: E120 or equivalent.
CS325  Computer Science III Software Design and Testing (4 credits)
This third course in the three semester programming sequence emphasizes the principle and practices of software design and testing which result in quality software. Objectoriented design is covered in conjunction with refactoring, unit testing and continuous integration. This class highlights the connection between software design and software reliability. Class lab time is used to introduce new concepts and explore ones described during lecture.
Offered spring semester. Prerequisites: grade of C or better in CS210 and CS220.
CS355  Database Management Systems (3 credits)
A study of fundamental database management systems. Course topics include: data modeling, database design and structured query language (SQL), transaction management, data integrity and security. Objectrelational mapping techniques and technologies will also be covered.
Offered spring semester. Prerequisite: CS325.
CS380  Web Systems Analysis, Design, and Implementation (3 credits)
This course introduces students to the design and implementation of web applications. Using ntier architectures as a starting point, students learn the concepts and practices involved in the development of dynamic and stateful web applications integrated with a database system. Both serverside and clientside web technologies are discussed.
Offered fall semester. Prerequisites: grade of C or better in CS355 and CS325.
CS400  Programming Paradigms, Theory and Translation (4 credits)
This course introduces the formal study of programming language syntax, data types, and control structures; methods of executing higherlevel constructs at runtime; and, data structures and algorithms used in compilation and interpretation. Laboratory work emphasizes acquisition of skill in a variety of programming paradigms.
Offered fall semester.
CS415  Systems Software and Hardware Interface (4 credits)
This course provides an introduction to computer hardware organization, systems programming and the hardware/ software interface. Students learn the basic combinational and sequential logic components of computer processors along with their functional organization and operation. Students also learn how systems software such as operating systems, assemblers, linkers and loaders interact with hardware to in order to run application programs. Students apply their learning by writing and/or modifying systems code.
Offered spring semester. Prerequisite: grade of C or better in CS325.
CS485  Systems Development Practice I (46 credits)
This course is the first semester course of a two semester project experience wherein students apply the principles of design and development learned in earlier courses toward the implementation of a largescale software system. Working in teams, students explore software lifecycle models, software development methodologies, software revision control, and project management as applied to a real world project.
Offered fall semester. Prerequisites: senior status, department major, and grade of C or better in CS380, CS400 and CS415.
CS490  Systems Development Practice II (46 credits)
A continuation of CS485.
Prerequisite: CS485
B. Two courses from the following list of electives:
CS288  Programming and Designing for Mobile Devices I (3 credits)
This course will bring together Computer Science and Graphic Design students to work together in teams, referencing the way most interactive web based work is created in a professional context. Students will explore and create several major projects working in group format with a range of technologies, including creating an app, a mobile site, and an integrated mobile shopping cart feature.
CS388  Programming the Mobile Device II (3 credits)
This course exposes students to development of a native application on a mobile platform. Elements of programming for the android platform will be covered. After covering the basics of Android development, students will build their own mobile application for the Android Market. Students must submit an Android application proposal for approval when registering.
CS390397  Special Topics in Computer Science (14 credits)
Designed to permit instruction in specialized fields of computer science, explore new topics and utilize the expertise of the faculty and other resource persons. Topics include (but not limited to): simulation and modeling; cryptography and network security; human factors; and advanced data structures and algorithms.
Prerequisite: CS325.
CS397  Computing for Good (3 credits)
This course engages students in the design and implementation of practical solutions for socially relevant problems. Students learn, through active involvement with diverse communities and realworld challenges, that cuttingedge computing has the ability to advance the human condition. Students join a project team composed of community outreach organizations, underserved populations, and a team of interdisciplinary faculty. They are expected to apply their computer skills and knowledge, in responsible ways, to new settings and complex problems.
Prerequisite: CS320.
C. Electives
CS102  Business Computer Applications (3 credits)
This course provides indepth coverage of Microsoft Excel and Access in the context of business applications. Excel topics include formulas and functions, charting, large datasets, pivot tables and whatif analysis. Access topics include relational database concepts, database design, basic query construction, and report generation. This course combines online and handson learning.
Prerequisite: AC222 for business majors.
CS106  Introduction to Programming for Sciences (3 credits)
This course teaches introductory programming within a problem solving framework applicable to the sciences. The course emphasizes technical programming, introductory data storage techniques, and the processing of scientific data. There is an emphasis on designing and writing correct code using an easy to learn scientific programming language such as Python. Advanced excel spreadsheet concepts will be taught and utilized during the programming process.
Prerequisite: mathematics competency.
CS290299  Special Topics: Programming Languages and Environments (13 credits)
Designed to permit the exploration of various languages not used in earlier courses (e.g., JavaScript, XML, C/C++, Perl) as well as to introduce the students to various programming environments and other CS applications (e.g. debugging tools, LaTeX, UNIX). Course offerings are driven by student and faculty interest.
CS356  Introduction to Scientific Computing (3 credits)
A course designed to provide undergraduates students with the basic computational tools and techniques needed for their study in science and mathematics. Students learn by doing projects that solve problems in physical sciences and mathematics using symbolic and compiled languages with visualization. By use of the Sage problemsolving environment and the Python programming language, the students learn programming and numerical analysis in parallel with scientific problem solving.
Also offered as M356 and P356. Prerequisites: CS106, M251, M252, and ST232.
CS456  Scientific Computing Project (1 credit)
This course is required for all Scientific Computing minors. Its purpose is to provide students the opportunity to develop a research project or participate in an ongoing research project under direction of a faculty advisor. The project must combine scientific computing tools and techniques with a substantive scientific or engineering problem. It is also intended to give students experience in experimental design, record keeping, and scientific writing. Also offered as M456 and P456.
Prerequisites: consent of both the faculty advisor and the minor supervisor, and CS/M/P 356.
M100  Elementary Mathematical Ideas (3 credits)
Successful completion of this course satisfies the mathematics competency requirement for graduation. This course prepares students for M108, M109, M145, and ST132. Topics include algebra concepts, including solving equations, systems of equations, and graphing; geometry concepts; and some concepts from probability and statistics. Students use graphing calculators to solve problems involving numerical, graphical, and symbolic data. Students planning to take M148 and M149 should not take this course; they should take M102 to satisfy their mathematics competency, if necessary. Credit is not granted for both this course and M102.
Prerequisite: departmental placement.
M102  Intermediate Algebra (3 credits)
Successful completion of this course satisfies the mathematics competency requirement for graduation. This course is especially recommended for students who intend to take M148 and M149 and need a good review of algebra. Topics include: algebraic expressions, firstdegree equations and inequalities, systems of equations in two variables, polynomials, rational expressions, exponents and radicals, and quadratic equations. Credit is not granted for both this course and M100.
Offered fall semester. Prerequisite: departmental placement.
M108  Mathematical Concepts I: Systems (3 credits)
This course includes concepts essential to mathematics and is required for elementary education majors. Topics include: set theory, numbers and numeration, operations, number theory, rational numbers, and problem solving. This course is open only to elementary education majors.
Offered spring semester. Prerequisite: mathematics competency.
M109  Mathematical Concepts II: Geometry (3 credits)
This course includes concepts essential to mathematics and is required for elementary education majors. Topics include: informal geometry, measurement, problem solving, descriptive statistics, and elementary probability. This course is open only to elementary education majors.
Offered fall semester. Prerequisite: mathematics competency.
M145  Finite Mathematics (3 credits)
This course provides an introduction to noncalculus mathematical modeling methods prevalent in business. Topics include: matrix methods, systems of linear equations and inequalities, linear programming by the geometric method and by the simplex method, and the mathematics of finance.
Prerequisite: mathematics competency.
M148  Calculus with Precalculus I (4 credits)
This course, followed by M149, provides a twosemester sequence that covers the material of a traditional Calculus I course along with builtin coverage of precalculus topics. Topics in M148 include: solving equations, functions, classes of functions (polynomial, rational, algebraic, exponential, logarithmic), right triangle trigonometry, angle measure, limits and continuity, derivatives, rules for derivatives. Credit is not granted for this course and M151 or courses equivalent to college algebra and college trigonometry.
Prerequisite: mathematics competency satisfied.
M149  Calculus with Precalculus II (4 credits)
This course completes the twosemester sequence that begins with M148, and together with M148 provides a twosemester sequence that covers the material of a traditional Calculus I course along with builtin coverage of precalculus topics. Topics in M149 include: trigonometric and inverse trigonometric functions, rules for derivatives, applications of derivatives, and definite and indefinite integrals. Credit is not granted for this course and M151.
Prerequisite: M148.
This course provides an introduction to the differential and integral calculus. Topics include: the concepts of function, limit, continuity, derivative, definite and indefinite integrals, and an introduction to transcendental functions. Credit is not granted for this course and M148 and M149.
Prerequisites: departmental placement or courses equivalent to college algebra and college trigonometry.
M152  Calculus II (4 credits)
This course is a continuation of M151. Some of the topics of M151 are revisited at a higher mathematical level. Topics include: applications of the definite integral, techniques of integration, improper integrals, introduction to differential equations, numerical methods for integration and approximation, curves in the plane given parametrically, polar coordinates, and vectors in 2space and 3space.
Prerequisite: Minimum grade of C in either M149 or M151 or departmental placement.
M251  Calculus III (4 credits)
This course continues the development of Calculus from M151 and M152. Topics include: sequences and series, and differentiation and integration of vectorvalued functions and functions of several variables.
Offered fall semester. Prerequisite: Minimum grade of C in M152.
M252  Linear Algebra (4 credits)
This course provides an introduction to techniques and applications of linear algebra. Topics include: systems of linear equations, matrices, determinants, Euclidean nspace, real vector spaces, basis and dimension, linear transformations, inner products, and eigenvalues and eigenvectors.
Offered spring semester. Prerequisite: Minimum grade of C in M152.
M301  Foundations of Advanced Mathematics (2 credits)
This course looks at topics central to further study in mathematics. Topics include symbolic logic, especially as it applies to mathematical proof; methods of mathematical proof such as direct proof, indirect proof, proof by induction; use and meaning of mathematical quantifies and predicates; sets; relations; equivalence relations and partitions; order relations; functions and their properties; and complex numbers. A junior assessment test is administered as part of this course.
Offered fall semester. Prerequisite: M251 (may be concurrent).
M310  Combinatorics and Graph Theory (3 credits)
This course provides an introduction to combinatorial and graph theoretical techniques in mathematics. It is also designed for students in computer science. Topics include: sets, functions, combinatorial techniques, graph theory, searching algorithms, and trees.
Prerequisites: CS106 or CS110/111, and M152.
M315  Number Theory (3 credits)
This course provides an introduction to elementary number theory. Topics include: divisibility, prime and composite numbers, congruences, arithmetical functions, primality testing, factorization techniques, and applications to cryptography.
Prerequisite: M152.
M321  Modern Geometry (3 credits)
This course is required for the Mathematics Education major. The course is designed to be an introduction to the foundations of geometry. Topics include: Euclidean geometry, nonEuclidean geometry, projective geometry, and geometric transformations.
Offered in alternate spring semesters. Prerequisite: M152.
M332  Probability (2 credits)
This calculusbased course is designed to provide mathematics majors and minors with an introduction to the mathematical underpinnings of statistics. Topics include: probability axioms, probability, Bayesﾒ Theorem, random variables, discrete and continuous probability distributions, and expected value.
Offered spring semester. Prerequisite: M152.
M341  Differential Equations with Applications (3 credits)
This course provides an introduction to the theory, methods, and applications of ordinary differential equations. Topics include: first order differential equations, linear differential equations with constant coefficients, and systems of differential equations.
Prerequisites: M251 and M252.
M342  Numerical Analysis (3 credits)
This course provides an introduction to the theory and methods of numerical analysis. Topics include: numerical methods for solving linear and nonlinear equations, polynomial approximation of functions, numerical integration and differentiation, numerical approximation to solutions of differential equations, direct and iterative methods for solving systems of equations.
Prerequisites: either CS106 or CS110/111, and M251, M252.
M344  Applied Mathematics (3 credits)
This course serves physics majors as well as those mathematics majors whose area of interest is analysis. Topics include: Fourier series, the complex numbers, analytic functions, and derivatives and integrals of complex functions. Other topics may include Laurent series and residues, partial differential equations and boundary value problems.
Prerequisites: M251 and M252.
M348  Complex Analysis (3 credits)
This course provides an introduction to the theory of functions of one complex variable. Topics include: the complex numbers, the complex derivative, analytic functions, power series, complex integration, Cauchyﾒs Theorem and Cauchyﾒs Integral Formula, Laurent series, and residues and poles.
Prerequisite: M251.
M356  Introduction to Scientific Computing (3 credits)
A course designed to provide undergraduates students with the basic computational tools and techniques needed for their study in science and mathematics. Students learn by doing projects that solve problems in physical sciences and mathematics using symbolic and compiled languages with visualization. By use of the Sage problemsolving environment and the Python programming language, the students learn programming and numerical analysis in parallel with scientific problem solving.
Also offered as CS356 and P356. Prerequisites: CS106, M251, M252, and ST232.
M361  Operations Research (3 credits)
This course is required for the mathematics education major, providing an introduction to techniques and applications of operations research. Topics include: linear programming, game theory, queuing theory, Markovian decision processes, and decision theory.
Offered in alternate spring semesters. Prerequisites: M252 and M332.
M380389  Special Topics (3 credits)
Special topics in mathematics may be offered depending on student interest.
M401  Abstract Algebra (3 credits)
This course provides an introduction to algebraic structures. Topics include: groups, subgroups, quotient groups, group homomorphisms, rings, ideals, and fields.
Offered in alternate spring semesters. Prerequisites: M251, M252, and M301.
M408  Topics in Mathematics (3 credits)
This course is designed to strengthen the mathematical background of students in elementary education. It is required for the endorsement in mathematics for elementary education. The course consists of a selection of mathematical topics of wide interest and applicability. Topics include: graph models, linear programming, scheduling and packing problems, allocation problems, and social decision problems. This course may not be used as an upperdivision elective for the mathematics major or minor or the mathematics education major.
Offered in alternate spring semesters. Prerequisites: M109 and elementary education major.
M411  Introduction to Analysis (3 credits)
This course provides a rigorous treatment of topics in calculus. Topics include: sequences, functions, limits, continuity, derivatives, and integration.
Offered in alternate spring semesters. Prerequisites: M251, M252, and M301.
M456  Scientific Computing Project (1 credit)
This course is required for all Scientific Computing minors. Its purpose is to provide students the opportunity to develop a research project or participate in an ongoing research project under direction of a faculty advisor. The project must combine scientific computing tools and techniques with a substantive scientific or engineering problem. It is also intended to give students experience in experimental design, recordkeeping, and scientific writing. Also offered as CS456 and P456.
Prerequisites: consent of both the faculty advisor and the minor supervisor, and CS/M/P 356.
M490  Actuarial Science Capstone (2 credits)
This course consists of student research on a topic from finance, mathematics, mathematical modeling, or statistics. Each student chooses a topic in consultation with the instructor, do appropriate background reading, and prepare an oral presentation and written paper on the topic. An exam covering material from Actuarial Exam P Probability and Actuarial Exam FMFinancial Mathematics is administered as part of this course.
Offered spring semester. Prerequisite: senior actuarial science major.
M491  Senior Seminar (2 credits)
This course consists of student presentations from mathematics, mathematical modeling, mathematics education, or statistics. Each student chooses a topic in consultation with the instructor, do appropriate background reading, and prepare an oral presentation and written paper on the topic. A senior assessment test is administered as part of this course.
Offered spring semester. Prerequisite: senior mathematics major.
M496/497  Mathematics Internship (117 credits)
This opportunity provides the student with experience in mathematical research or applications. The internship must be approved by the department and, depending on the nature of the internship, may be counted towards the major. Students generally are expected to give a presentation following the internship.
ST132  Reasoning with Statistics (3 credits)
This course is designed to develop student facility in the use of statistical methods and the understanding of statistical concepts. The course takes a practical approach based on statistical examples taken from everyday life. Topics include: descriptive and inferential statistics, an intuitive introduction to probability, estimation, hypothesis testing, chisquare tests, regression and correlation. Appropriate technology is used to perform the calculations for many applications, and correspondingly an emphasis is placed on interpreting the results of statistical procedures. Credit is not granted for this course and any of the following: BU215, B392 or ST232.
Prerequisite: mathematics competency.
ST232  Introduction to Statistics (2 credits)
This course is designed to provide the basic ideas and techniques of statistics. Topics include: descriptive and inferential statistics, an intuitive introduction to probability, estimation, hypothesis testing, chisquare tests, regression and correlation. This course makes significant use of appropriate technology. Topics in this course are treated at a higher mathematical level than they are treated in ST132. Credit is not granted for this course and any of the following: BU215, B392 or ST132.
Offered fall semester. Prerequisite: departmental placement or minimum C grade in M148.
Prerequisites:
M115 College Algebra
ST350359  Special Topics (3 credits)
Selected topics in statistics may be offered depending on student interest.
ST371  Applied Regression Analysis (3 credits)
This course provides students with an introduction to linear and nonlinear models in statistics. Topics include: linear regression, multiple regression, one, two, and higherway analysis of variance, and popular experimental designs. Realworld problems are analyzed using appropriate technology.
Prerequisites: M251, M332, and ST232.
ST373  Design of Experiments (3 credits)
This course provides an introduction to the principles of the design of experiments from a statistical perspective. Topics include: Analysis of variance, covariance, randomization, completely randomized, randomized block, Latinsquare, factorial, response surface methods and other designs.
Prerequisites: M152 and ST232.
ST431  Mathematical Statistics I (3 credits)
This course provides a mathematical treatment of probability and statistics. Topics include: several descriptions of the concept of probability, univariate and bivariate probability distributions, joint and marginal probability distributions, covariance, hypothesis testing, estimation, data analysis, and sampling distributions.
Prerequisites: M332 (may be concurrent) and ST232.
ST496/497  Statistics Internship (117 credits)
This opportunity provides the student with experience and training in statistical techniques. The internship must be approved by the department and, depending on the nature of the internship, may be counted towards the major. Students usually are expected to give a presentation following the experience.