Undergraduate Department of
College of Arts and Sciences
Chair: Erlebacher; Professors: Beerli, Erlebacher, Gunzburger, Meyer-Baese, Peterson, Plewa, Shanbhag; Associate Professors: Lemmon, Wang; Assistant Professors: Huang, Quaife; Professor Emeritus: Navon; Courtesy Faculty: Barbu, Duke, Hussaini, Ke, Mascagni, Mendoza Cortes, Ridley, Roeder, Ye
Over the last few decades, computation has joined theory and experimentation to form the three pillars of scientific discovery and technological design. Moreover, many of the critical problems facing society can only be solved by teams of individuals from a variety of disciplines. Integral to these teams are computational scientists, who provide the simulation, optimization, and visualization algorithms used to solve problems on computers. The main activity of scientific computing is the development of computational tools that have applicability over a range of scientific disciplines.
The Department of Scientific Computing consists of faculty interested in the invention, analysis, implementation, and application of computational algorithms that can be applied to problems arising in traditional disciplines. Examples include biology and ecology, chemical engineering, chemistry, computer science, geology and geophysics, material science, mathematics, mechanical engineering, and physics and astrophysics. An increasing number of algorithms involve machine learning and data science. Faculty and graduate students are supported in their research by several federal, state, laboratory, and commercial organizations. Further breadth and depth are added to the research and educational missions of the department through faculty from other departments at Florida State University and individuals from several national laboratories who interact closely with our faculty. These faculty members ensure that the department is ideally positioned to offer innovative degree programs that impart a synergy between the mathematical and application-driven aspects of scientific computing, thus providing the student with extensive interdisciplinary training.
Students are trained in a truly interdisciplinary environment. The undergraduate program offered by the Department of Scientific Computing is designed to provide broad training in the core methods of computational science across disciplines, followed by in-depth specialization in areas of particular interest to students. Even within specializations, the focus remains on interdisciplinary approaches to solving science and engineering problems. All students are also exposed to research-type experiences as part of the undergraduate degree program.
The Department of Scientific Computing offers the Bachelor of Science (BS) degree program in Computational Science. It also offers a minor in computational science. Please refer to the Department of Scientific Computing Website at https://www.sc.fsu.edu for updates about the status of the minor and certificate programs.
The Department of Scientific Computing oversees a diverse computing infrastructure in support of research and education. Computing resources include clusters and computational servers. To best accommodate research, education, and application development, the department maintains a heterogeneous desktop and workstation environment, as well as a state-of-the-art computer classroom. The department also maintains the Computational Intelligence Laboratory which provides high-powered visualization resources to the FSU community for research, analysis of large data collections, and research in machine learning and education.
The Department of Scientific Computing offers the Bachelor of Science (BS) degree program in Computational Science and a minor in computational science.
State of Florida Common Program Prerequisites
The state of Florida has identified common program prerequisites for this University degree program. Specific prerequisites are required for admission into the upper-division program and must be completed by the student at either a community college or a state university prior to being admitted to this program. Students may be admitted into the University without completing the prerequisites, but may not be admitted into the program.
At the time this document was published, some common program prerequisites were being reviewed by the state of Florida and may have been revised. Please visit https://dlss.flvc.org/admin-tools/common-prerequisites-manuals for a current list of state-approved prerequisites.
The following lists the common program prerequisites or their substitutions, necessary for admission into this upper-division degree program:
- MAC X311 (4) Calculus I
- MAC X312 (4) Calculus II
- ISC X313 (3), or COP X014 (3), or COP XXXX (3) [an introductory programming course in C, C++, Java, or an equivalent high-level programming language] or other approved high-level programming course
- BSC XXXXC or CHM XXXXC or GLY XXXXC or MET XXXXC or PHY XXXXC
Computer Skills Competency
All undergraduates at Florida State University must demonstrate basic computer skills competency prior to graduation. As necessary computer competency skills vary from discipline to discipline, each major determines the courses needed to satisfy this requirement. Undergraduate majors in computational science satisfy this requirement by earning a grade of "C–" or higher in ISC 3313 or COP 3014.
A grade of "C–" or better is required in all courses required for the BS Degree in Computational Science.
All State Common Program Prerequisites listed as Term 1–4 Milestones must be completed with a "C" range (C–, C, or C+) grade or better. Students earning less than the necessary grade in any of these courses will be required to retake those courses until the standard is met. Note: retaking a course may delay graduation and incur increased fee liability (i.e., repeat course surcharge and excess credit surcharge).
A student who has received more than three unsatisfactory grades (U, F, D–, D, D+) in courses required for the major, excluding the Term 1–4 State Common Prerequisite milestone courses, taken after enrolling at FSU, will not be permitted to graduate with a degree in computational science.
Requirements for the Baccalaureate Degree in Computational Science
Note: Please review all University and college-wide degree requirements summarized in the "College of Arts and Sciences" chapter of this General Bulletin.
Students should refer to the Department of Scientific Computing Website at https://www.sc.fsu.edu or obtain, from the department office, revisions to the degree guidelines implemented since this printing.
Students should complete the State of Florida Common Program Prerequisites during their first two college years. In order to obtain final graduation clearance from the Department of Scientific Computing, all computational science majors are strongly encouraged to complete an exit survey.
Requirements for the BS Degree in Computational Science are provided as follows:
- ISC 3222 Symbolic and Numerical Computations (3)
- ISC 4220C Continuous Algorithms for Science Applications (4)
- ISC 4221C Discrete Algorithms for Science Applications (4)
- ISC 4223C Computational Methods for Discrete Problems (4)
- ISC 4232C Computational Methods for Continuous Problems (4)
- ISC 4304C Programming for Science Applications (4)
- ISC 4931r Junior Seminar in Scientific Computing (1–2)
- ISC 4932r Senior Seminar in Scientific Computing (1–2)
- ISC 4943r Practicum in Scientific Computing (3)
- MAS 3105 Applied Linear Algebra I (4)
- Approved statistics course designed for statistics majors: STA 3XXX (3) or STA 4XXX (3)
- Approved Department of Scientific Computing electives (9)
- Approved electives from the Department of Scientific Computing or other departments (9)
Requirements for a Minor in Computational Science
A minor in computational science requires a minimum of fourteen hours of coursework, including ISC 3222 and ISC 4304C. The student must take at least one Computational Science Algorithms course (ISC 4220C or ISC 4221C) as well as a Computational Science course from the approved list. Students must also satisfy stated prerequisites before enrolling in each course accepted for minor credit. Grades below "C–" will not be accepted for minor credit.
Definition of Prefixes
CGS—Computer General Studies
GFD—Geophysical Fluid Dynamics
ISC—Interdisciplinary Natural Science
Note: Additional undergraduate courses are being developed. Please refer to the Department of Scientific Computing Website at https://www.sc.fsu.edu for an up to date list of undergraduate courses offered.
CGS 2821. Introduction to Website Design (3). This course teaches proper website design techniques to students from all degree programs. Topics include visual design and graphics, information architecture, usability and accessibility, communication, adaptation to audience, markup languages, and development tools and processes. Coursework is focused on applying Website design principles and techniques to projects in the students' disciplines. The course is gauged for beginners who are computer competent; it does not teach computer programming.
CGS 2835. Interdisciplinary Web Development (3). Prerequisite: Computer fluency. This interdisciplinary course provides basic training in project management, communication, information architecture, interface design, graphic design, Web technologies, content editing, and subject-area expertise, thus empowering students across disciplines to effectively communicate their subject-area expertise through today's most popular publishing medium, the Web.
COP 2258. Problem Solving with Object Oriented Programming (3). This interdisciplinary course is designed for students who are interested in understanding the principles that govern Object-Oriented Programming (OOP) and software development in order to assist with problem-solving in their own disciplines. The course addresses algorithm building principles, problem-solving strategies, how to analyze problems to identify requirements, and how to design an object-oriented solution. Students design, write, and debug computer programs.
DIG 3725. Introduction to Game and Simulator Design (3). This course introduces basic techniques used to design and implement computer games and/or simulation environments. Topics include a historic overview of computer games and simulators, game documents, description and use of a game engine, practical modeling of objects and terrain, as well as the use of audio. Physics and artificial intelligence in games are covered briefly. Programming is based on a scripting language. The course is divided between lectures and practical assignments. Course topics are assimilated through the design of a 3D game to be designed and implemented in a team environment.
IDC 2930r. Special Topics in Interdisciplinary Computing – Beginning Level (1-4). This course covers current issues and topics in interdisciplinary computing that are not discussed in other courses. Topics vary. May be repeated within the same term, to a maximum of nine semester hours.
IDC 3931r. Special Topics in Interdisciplinary Computing – Intermediate Level (3). This course covers current issues and topics in interdisciplinary computing that are not discussed in other courses. Topics vary. May be repeated to a maximum of nine (9) credit hours.
ISC 1057. Computational Thinking (3). This course introduces students to the process of creating a representation of a task so that it can be performed by a computer. The course investigates strategies behind popular computational methods that are shaping our daily lives and our future. Students practice logical thinking by applying versions of these computational methods to problems in science and society.
ISC 2310. Introduction to Computational Thinking in Data Science with Python (3). Prerequisite: MAC 1105 or equivalent. This course investigates strategies behind popular computational methods used in data science. In addition, many of the algorithms are implemented using the programming language Python. No prior programming experience is required so the course presents the basics of the Python language as well as how to leverage Python's libraries to solve real-world problems in data science.
ISC 3222. Symbolic and Numerical Computations (3). Prerequisite: MAC 2311. This course introduces state-of-the-art software environments for solving scientific and engineering problems. Topics include solving simple problems in algebra and calculus; 2-D and 3-D graphics; non-linear function fitting and root- finding; basic procedural programming; methods for finding numerical solutions to DE's with applications to chemistry, biology, physics, and engineering.
ISC 3313. Introduction to Scientific Computing (3). Prerequisites: MAC 2311 or instructor permission. This course introduces the student to the science of computation. Topics cover algorithms for standard problems in computational science, as well as the basics of an object-oriented programming language, to facilitate the students' implementation of algorithms.
ISC 4220C. Continuous Algorithms for Science Applications (4). Prerequisite: MAC 2312. This course provides basic computational algorithms, including interpolation, approximation, integration, differentiation, and linear systems solution presented in the context of science problems. The laboratory component includes algorithm implementation for simple problems in the sciences and applying visualization software for interpretation of results.
ISC 4221C. Discrete Algorithms for Science Applications (4). Prerequisites: MAC 2311. This course offers stochastic algorithms, linear programming, optimization techniques, clustering and feature extraction presented in the context of science problems. The laboratory component includes algorithm implementation for simple problems in the sciences and applying visualization software for the interpretation of results.
ISC 4223C. Computational Methods for Discrete Problems (4). Prerequisites: MAS 3105 and ISC 4304C. This course describes several discrete problems arising in science applications, a survey of methods and tools for solving the problems on computers, and detailed studies of algorithms, and their use in science and engineering. The laboratory component illustrates the concepts learned in the context of science problems.
ISC 4232C. Computational Methods for Continuous Problems (4). Prerequisites: MAS 3105 and ISC 4304C. This course provides numerical discretization of differential equations and implementation for case studies drawn from several science areas. Finite-difference, finite-element, and spectral methods are introduced and standard software packages are used. The laboratory component aims to illustrate the concepts learned on a variety of application-driven problems.
ISC 4234C. Geometric Morphometrics: An Introduction to Modern Methods of Applied Shape Analysis (3). In this course, students learn about the mathematical, statistical, computational, and practical aspects of the quantitative analysis of shape. This course provides the basic background that will allow those who need to use such techniques to address research questions in their own work the means to effectively do so. It will also provide participants coming from a more computational or quantitative background the knowledge and understanding of the methods and problems of the field so that they might contribute to the development of new and/or improved methods of shape analysis.
ISC 4244C. Computer Applications in Psychology with Laboratory (4). Prerequisites: PSY 2012 (BSC 2010L, CGS 2100, CGS 2960, or ISC 3313) and PSY 3213C. This course gives the students practical knowledge of a powerful and flexible programming language with application to computational and research elements important to the field of psychology. Topics include complex searches, image and audio manipulation, data analysis, and all in the context of using a variety of software tools and packages.
ISC 4245C. Data Mining (3). Prerequisite: COP 3330, ISC 3222, ISC 3313 or ISC 4304; or instructor permission. In this course, students study concepts and techniques of data mining, including characterization and comparison, association rules mining, classification and prediction, cluster analysis, and mining complex types of data. Students also examine applications and trends in data mining.
ISC 4246C. Computational Forensics: An Introduction to Objective, Quantitative Tools and Methods for Forensic Science (3). Prerequisite: STA 2122, STA 2171, or equivalent, or instructor permission. In this course, students investigate some of the methods and protocols of Computational Forensics with an emphasis on the analysis and interpretation of physical evidence. Topics include stature, sex, and ancestry estimation from skeletal remains, DNA analysis, and finger print, toolmark, and bloodstain analysis. Students develop their own simple programs in an appropriate programming language to build and verify models and use existing programs to investigate the processing and analysis of physical evidence.
ISC 4302. Scientific Visualization (3). Prerequisites: MAC 1105 and MAC 2312. This course is an introduction to scientific visualization for large-scale computation and experimental data that covers the visualization methods and techniques, visualization results analysis and evaluation, and visualization practice. It teaches students the techniques for creating compelling visual representations of 2D and 3D scientific data sets. The basic concepts, data structures, and algorithms in scientific visualization are presented and applied using datasets from different disciplines. Classic visualization techniques for scalar, vector, and tensor data such as marching cubes, ray casting, splatting, streamline, and line integral convolution and more, are introduced along with popular visualization software.
ISC 4304C. Programming for Science Applications (4). Prerequisite: MAC 2311. This course provides knowledge of a scripting language that serves as a front-end to popular packages and frameworks, along with a compiled language such as (C++). Students study and practice scientific programming with the scripting language and practice how to interface it with a more traditional programming language to improve the speed of the programs developed in the course. In the laboratory component of this course, students apply the concepts learned in class. Students analyze large data sets by translating from mathematical expressions and algorithms to working computer code that is then used to visualize and summarize the results.
ISC 4420. Introduction to Bioinformatics (4). This course provides a quantitative framework for understanding how the genomic sequence and its variations affect the phenotype. The course is designed for biologists and biochemists seeking to improve quantitative data interpretation skills, and for mathematicians, computer scientists and other quantitative scientists seeking to learn more about computational biology. Lab exercises are designed to reinforce classroom learning.
ISC 4907r. Senior Directed Individual Study in Scientific Computation (1–4). Prerequisite: Instructor permission. This course is available so that a faculty member can design an individualized course of study in an area of computational science for a student, in cases where such a class is not available in the current curriculum. The student and faculty member are responsible for preparing a syllabus of readings, exercises, and evaluations. May be repeated to a maximum of twelve semester hours.
ISC 4931r. Junior Seminar in Scientific Computing (1–2). (S/U grade only.) Prerequisite: Junior standing (sixty plus hours). This is a special topics course in computational science. May be repeated two times to a maximum of four semester hours, with a maximum of only two semester hours credit allowed to be applied to the Computational Science degree.
ISC 4932r. Senior Seminar in Scientific Computing (1–2). (S/U grade only.) Prerequisite: Senior standing (ninety plus hours). This is a special topics course in computational science. May be repeated one time to a maximum of four semester hours, with a maximum of only one semester hour credit allowed to be applied to the Computational Science degree.
ISC 4933r. Selected Topics in Computational Science (3). Prerequisite: Instructor permission. This course covers computational science topics not covered by existing courses. May be repeated within the same term, to a maximum of twelve semester hours.
ISC 4943r. Practicum in Scientific Computing (3). Prerequisite: Senior standing (ninety-plus hours). This practicum allows students to work individually with a faculty member throughout the semester and meet with the instructor periodically throughout the semester to make progress reports. Written and oral presentations of work are required. May be repeated to a maximum of six semester hours, with a maximum of only three semester hours credit allowed to be applied to the Computational Science degree.
ISC 4971r. Honors Thesis (3). In this course, students work closely with a faculty member and investigate an original idea in the area of scientific computing, study the background, implications, implementation, and applications, prepare a final publication-quality thesis based on original research, and defend it orally before a committee. May be repeated to a maximum of nine semester hours.
Note: Many courses offered at the graduate level include a "4933" section specifically designed to allow motivated undergraduates to participate. Such courses have included Computational Evolutionary Biology, Genomic Sequences and Analysis, Datamining, and Verification and Validation in Computational Science. For details about these courses, see the graduate course listings.
CAP 5771. Data Mining (3).
GFD 6905r. Directed Individual Study (3). (S/U grade only.)
GFD 6915r. Supervised Research (1–5). (S/U grade only.)
GFD 6925. Geophysical Fluid Dynamics Colloquium (1). (S/U grade only.)
GFD 6935r. Seminar (1–2).
ISC 5225. Molecular Dynamics: Algorithms and Applications (3).
ISC 5226. Numerical Methods for Earth and Environmental Sciences (3).
ISC 5227. Survey of Numerical Partial Differential Equations (3).
ISC 5228. Monte Carlo Methods (3).
ISC 5236. Applied Groundwater Modeling (3).
ISC 5237. Uncertainty Analysis in Computational Science (3).
ISC 5238C. Scientific Computing for Integral Equation Methods (3).
ISC 5247C. Geometric Morphometrics: An Introduction to Modern Methods of Applied Shape Analysis (3).
ISC 5249C. Computational Forensics: An Introduction to Objective, Quantitative Tools and Methods for Forensic Science (3).
ISC 5305. Scientific Programming (3).
ISC 5307. Scientific Visualization (3).
ISC 5308. Computational Aspects of Data Assimilation (3).
ISC 5314. Verification and Validation in Computational Science (3).
ISC 5315. Applied Computational Science I (4).
ISC 5316. Applied Computational Science II (4).
ISC 5317. Computational Evolutionary Biology (4).
ISC 5318. High-Performance Computing (3).
ISC 5326. Introduction to Game and Simulation Design (3).
ISC 5415. Computational Space Physics (3).
ISC 5425. Introduction to Bioinformatics (4).
ISC 5473. Introduction to Density Functional Theory (3).
ISC 5906r. Directed Individual Study in Computational Science (1–12).
ISC 5907r. Directed Individual Study in Computational Science (1–3). (S/U grade only.)
ISC 5934. Introductory Seminar on Research in Computational Science (1). (S/U grade only.)
ISC 5935r. Selected Topics in Computational Science (3–12). (S/U grade only.)
ISC 5939r. Advanced Graduate Student Seminar in Computational Science (1–3). (S/U grade only.)
ISC 5948r. Graduate Internship in Computational Science (3–6). (S/U grade only.)
MAD 5420. Numerical Optimization (3).
MAD 5427. Numerical Optimal Control of Partial Differential Equations (3).
MAP 5395. Finite Element Methods (3).
For listings relating to graduate coursework for theses, dissertation, and master's and doctoral examinations and defense, consult the Graduate Bulletin.