The undergraduate major requires 47 credits of courses from the disciplines of computational science, computer science, mathematics, and an application area of interest. In addition, six credits of elective courses are needed for the major.
Undergraduate Admission
Completion of The College at Brockport, State University of New York undergraduate application is required. Please refer to the College Undergraduate Studies Catalog for information on general admission. Students transferring from other programs or institutions are encouraged to contact faculty to discuss credits they can transfer to the new program.
Students already enrolled in the College at Brockport may obtain the major declaration form from the registrar or the department office, but should file it with the department office, after which they will be assigned a faculty advisor. Your advisor will then assist you in planning an academic program suitable to your individual educational goals.
Prerequisites (14 Credits)  Credits 

MTH 201 Calculus I  4 
MTH 202 Calculus II  4 
MTH 281 Discrete Mathematics  3 
CSC 120 Introduction to Computer Science  3 
Required Courses (47 credits):  
Mathematics courses (13 credits)  
MTH 203 Calculus III  4 
MTH 255 Differential Equations  3 
MTH 324 Linear Algebra  3 
MTH 346 Probability and Statistics  3 
Computer Science Courses (4 credits)  
CSC 203 Fundamentals of Computer Science I  4 
Computational science Courses (24 credits)  
CPS 201 Computational Tools I  3 
CPS 202 Computational Tools II  3 
CPS 303 High Performance Computing  3 
CPS 333 Scientific Computing  3 
CPS 304 Simulation and Modeling  3 
CPS 404 Applied and Computational Mathematics I  3 
CPS 405 Applied and Computational Mathematics II  3 
CPS 433 Scientific Visualization  3 
Electives (6 credits) 

Elective Courses (6 credits) (upperdivision courses) 
6 
TOTAL Credits (including electives) 
47 
The minor program requires 20 credits of courses from the disciplines of computational science, computer science, ,mathematics, and an application area of interest. This includes eight credits of elective and 12 credits of required courses.
Required Courses (12 credits):  Credits 

Prerequisites: CPS 101 Introduction to Computational science 
3 
Computational science Courses (12 credits)  
CPS 201 Computational Tools I  3 
CPS 202 Computational Tools II  3 
CPS 303 High Performance Computing  3 
CPS 304 Simulation and Modeling  3 
Elective Courses (8 credits) 200 and higherlevel courses from computational science, computer science, math, or application sciences. 
8 
TOTAL Credits (including electives) 
23 
Undergraduate Course Listings
CPS 101 Introduction to Computation (A,N). Prerequisites: MTH 121 or instructor's approval. An introduction to computation as used in science and engineering. Emphasizes practical applications of formulas to reallife problems and on tools for their solution. Topics include: (1) some basic techniques used in computational modeling (linear regression for datafitting, determination of areas and volumes, rate of change, and use of graphical calculator), (2) essentials of programming in FORTRAN 90; and (3) essentials of the UNIX operating system (basic commands, editors, file manipulation). 3 Cr.
CPS 201 Computational Tools I (A). Prerequisites: CSC 120 or CPS 101. An introduction to fundamental concepts of computational science using the Fortran 90 programming language, and the clear and concise written presentation of scientific results. Topics include: the Fortran 90 language, program construction and debugging, consequences of finite precision arithmetic, basic machine constants, and modeling of simple physical situations. May also include other modeling tools such as Stella, Agent Sheets, and Project Interactivate. Extensive programming required. 3 Cr.
CPS 202 Computational Tools II (A). Prerequisite: CPS 201. A continuation of CPS 201. Emphasizes commonly encountered scientific programming libraries (BLAS, LAPACK, ATLAS). Model problems in numerical linear algebra are heavily utilized. Topics include: advanced topics in Fortran 90 Programming (data structures, overloaded functions, dynamic memory allocation), programming in MATLAB, use of the UNIX operating system, use of the BLAS, LAPACK and ATLAS libraries, optimization of programs (by hand and via compiler optimization), and technical writing. Extensive programming in Fortran 90 and MATLAB required. 3 Cr.
CPS 300 Internet and Technology Ethics (A,I). The Internet has rapidly become a primary source of information, communication and entertainment for society. However, the rapid expansion has resulted in numerous issues that can adversely affect all Internet users. More importantly, new regulations are being passed that can expose users to significant legal risks. Fundamental legal principles that affect all users of the Internet will be discussed and analyzed. 3 Cr.
CPS 301 Issues in Criminal and Forensic Computing (A,I). A discussion of issues related to the use of computers in the criminal justice system. Discussions of growing capabilities in and ramifications of such areas as forensic computing, criminal profiling, fingerprint identification, video image processing, and simulation of crime scenes. In addition, discussions of emerging and future trends in the use of computers as a crime fighting tool. 3 Cr.
CPS 302 Society, Science and Technology (A,I). Discusses ways society and science have affected each other. Introduces a historical perspective of this relation for the past several decades, including the contemporary society. Identifies trends and changes within science and technology in relation to the larger society. Students will attend lectures, discuss issues, and write essays. 3 Cr.
CPS 303 High Performance Computing (A). Prerequisite: CPS 202. An introduction in applied parallel computing, using the Message Passing Interface (MPI) standard for parallel communication. Topics include: parallel architectures, problem decomposition, extracting parallelism from problems, benchmarking and performance of parallel programs, applications to the sciences, and technical writing. Extensive programming in Fortran 90 and/or C/C++ required. 3 Cr.
CPS 333 Scientific Computing (A). Prerequisite: CPS 202. A survey of programming methods and the use of UNIX for practical scientific computing. (1) Advanced features of FORTRAN 90/95 such as modules, operator and function overloading and practical strategies for their use; (2) Bookkeeping; (3) Shell scripting and other methods for automation of scientific computing; (4) numerical libraries (for example, BLAS and LAPACK) and their use and creation of libraries; (5) Advanced programming in MATLAB and other scientific computing packages. 3 Cr.
CPS 304 Simulation and Modeling (A). Prerequisites: CPS 202 and MTH 203; and either MTH 243 or MTH 346. An introduction to stochastic and deterministic methods used to simulate systems of interest in a variety of applications, with emphasis on problem setup and analysis and programming methods. Part I: discrete event simulation and statistical analysis of results. Part II: other examples of stochastic simulations such as the spread of forest fires. Part III: deterministic methods for particle simulations, with examples from astronomical and molecular simulation. In addition, a brief discussion of the simulation of continuous media. Extensive programming required. 3 Cr.
CPS 404 Applied and Computational Mathematics I(A). Prerequisites: CPS 304, CPS 333; MTH 203, MTH 255 and either MTH 243 or MTH 346. The first in a twosemester sequence. A survey of scientific computing methods, emphasizing programming methods, interpretation of numerical results, and checks for sensibility and selfconsistency. This course is divided into several modules, including (1) representation of floating point data, truncation and rounding error, and basic considerations for accurate numerical computing; (2) iterative numerical methods; (3) numerical differentiation and integration; (4) interpolation methods; (5) random number generation. Extensive programming required. 3 Cr.
CPS 405 Applied and Computational Mathematics II (A). Prerequisites: CPS 404 or 504. A continuation of Applied and Computational Mathematics I. Topics include: (1) iterative methods in numerical linear algebra; (2) least squares methods; (3) the Fast Fourier Transform; (4) special functions and their computation; (5) numerical solution of ordinary differential equations. Extensive programming required. 3 Cr.
CPS 417 Introduction to Computational Chemistry (A). Crosslisted as CHM 417. An introduction to classical and quantum simulation methods as applied to chemistryrelated problems and computational chemistry software packages. Part I: introductory material, potential energy surfaces, vibrational and electronic properties of molecules, and capabilities/limitations of computational chemistry. Part II: classical molecular simulation methods, molecular dynamics, molecular mechanics, Monte Carlo calculations, normal coordinate analysis, computer "measurement" of materials properties. Part III: the Schrodinger equation, common electronic structure methods, basic sets, geometric optimization, and molecular properties. 3 Cr.
CPS 433 Scientific Visualization (A). Prerequisites: MTH 324 and either CSC 203 or CPS 202. Examination of scientific visualization as a critical portion of the analysis and interpretation of numerical simulations, and an introduction to a wide variety of methods used for scientific visualization. Topics include: basic 2 and 3 dimensional graph types, visualization of 3D data, interpretation of simulation results, grid generation and visualization, problem solution via graphical techniques, image processing, rendering and animation. Extensive programming in MATLAB required. 3 Cr. Spring
CPS 461 Introduction to Computational Biology (A). Prerequisites: CPS 202, BIO 111 and CHM 206. An introductory survey of the applications of high performance computer modeling and simulation to biological problems. Includes topics such as molecular simulation for structure determination and dynamical properties of biological molecule, and bioinformatics. Uses computational tools such as Biology Benchmark, MATLAB, and AMBER. 3 Cr.