Department of Scientific Computing
College of Arts and Sciences
Web Page: http://sc.fsu.edu/
Chair: Max Gunzburger; Associate Chair for Graduate Studies: Peterson; Associate Chair for Undergraduate Studies: Erlebacher; Professors: Beerli, Erlebacher, Gunzburger, Meyer-Baese, Peterson, Plewa, Slice; Associate Professors: Shanbhag, Wang, Ye; Assistant Professors: Huang, Lemmon; Professor Emeritus: Navon; Courtesy Faculty: Absil, Algee-Hewitt, Barbu, Berg, Brown, Burkardt, Cao, Cheng, Curtis, Dai, Flyer, Hill, Kamitsa, Lehoucq, Mascagni, Niedoroda, Oates, Parks, Ridley, Rikvold, Ringler, Roeder, Ronquist, Thuo, Trenchea, Van Engelen, Wang, Webster, Wilgenbusch, Zhou, Zipanksi
Over the last few decades, computations have joined theory and experimentation to form the three pillars of scientific discovery and technological design. Many of the important 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 several traditional disciplines such as biology and ecology, chemical engineering, chemistry, computer science, geology and geophysics, material science, mathematics, mechanical engineering, medicine, and physics and astrophysics. Faculty and graduate students are supported in their research by several federal, state, laboratory, and commercial organizations. Further breadth and depth is 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 hold courtesy appointments in the department. These faculty members ensure that the department is ideally positioned to offer innovative degree programs that impart a synergy between the mathematical and applications aspects of scientific computing, thus providing the student with extensive interdisciplinary training.
Students are trained and do research in a truly interdisciplinary environment. The graduate programs offered by the Department of Scientific Computing are 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.
The Department of Scientific Computing offers degree programs leading to the Master of Science (MS) and Doctor of Philosophy (PhD) in Computational Science. Please refer to the Department of Scientific Computing Web site at http://www.sc.fsu.edu for the latest information about these programs, including new courses.
The Department of Scientific Computing oversees a large and diverse computing infrastructure in support of research and education. Computing resources include large supercomputers, a number of clusters and computational servers, a laboratory for scientific visualization, a bioinformatics server, and more. 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. In addition, the department’s Visualization Laboratory provides high-powered visualization resources to the FSU community for research, analysis of large data collections, and education.
Note: Please review all University and college-wide degree requirements summarized in the “College of Arts and Sciences” chapter of this Graduate Bulletin.
Students considering graduate work in computational science should exhibit a strong desire to develop, analyze, implement, and apply computational algorithms. Typically, incoming students will hold a bachelor’s degree in mathematics, computer science, statistics, computational science, or a science or engineering discipline, and will be knowledgeable of at least one object-oriented programming language.
Applications for admission to the graduate programs in Computational Science are made to the Graduate School at Florida State University. An application for admission, application fee, official transcript from each college attended, and a transcript of Graduate Record Examinations (GRE) scores should be sent to the Office of Admissions, A2500 University Center, Florida State University, Tallahassee, FL 32306-2400.
In addition, the following information should be submitted to the Associate Chair for Graduate Studies, 400 Dirac Science Library, Florida State University, Tallahassee, FL 32306-4120: 1) a letter of intent that explains the basis for the applicant’s pursuit of the degree and his/her experience and commitment to the field of computational science, 2) a curriculum vitae, and 3) three letters of recommendation from individuals who know the applicant’s education and/or professional background. In addition, the applicant should complete the online application found at the Department of Scientific Computing Web site. A student seeking admission to the program should have taken the aptitude test of the Graduate Record Examinations (GRE) within the last three years with a minimum percentile placement of 50 and 70 in the verbal and analytical sections, respectively. Foreign nationals whose native language is not English must meet Florida State University’s minimum TOEFL examination requirement.
The student should also refer to the Department of Scientific Computing Web site at http://www.sc.fsu.edu or contact the Associate Chair for Graduate Studies for any revisions to the requirements listed above since the publication of this document.
The MS degree in Computational Science is intended for students who wish to terminate their graduate studies with the MS degree but whose primary career goal is to be a part of a research team in a non-academic environment. It is also appropriate for students who are seeking a PhD in Computational Science but also want to obtain an MS degree.
MS in Computational Science
This degree requires a total of thirty-two semester hours. Required courses are ISC 5305 and ISC 5315 (totaling seven semester hours), a minimum of nine hours from remaining computational science courses with prefix ISC, plus a minimum of six hours from approved courses from other departments. The remaining ten semester hours must be satisfied through additional approved course work, thesis hours, seminars, etc. In addition, a student must write and defend a thesis or project.
Detailed, up to date information about the MS degree in Computational Science can be found in the Graduate Handbook available at the Department of Scientific Computing Web site.
The doctoral degree is awarded in recognition of the student’s broad knowledge of computational science and the student’s ability to do original, independent research in computational science. To complete the requirements for a doctoral degree, the student must 1) complete the requisite course work, 2) satisfactorily complete preliminary examinations for admission to candidacy, 3) choose a major professor and supervisory committee, 4) submit and defend a dissertation prospectus to his/her supervisory committee, and 5) complete independent research in computational science culminating in a written dissertation which must be successfully defended to the student’s supervisory committee.
The doctoral degree in Computational Science has several tracks that allow students to specialize in a particular applied science or engineering area. All tracks require the same number of total semester hours and the same core courses. To obtain a specialization in a particular area a student must take a minimum of nine semester hours (approved by his/her supervisory committee) in the area. Current areas of specialization include: atmospheric science, biochemistry, biological science, geological science, materials science, and physics.
Detailed, up to date information about the PhD degree in Computational Science can be found in the Graduate Handbook available at the Department of Scientific Computing Web site.
Required courses are ISC 5305, ISC 5315, ISC 5316, a minimum of twelve semester hours from remaining computational science courses with prefix ISC, plus a minimum of nine semester hours from approved courses from other departments. Additional semester hours can be chosen from other courses, seminars, dissertation credit, etc., approved by the student’s supervisory committee to meet the University’s minimum course requirement.
Major Professor and Supervisory Committee
The major professor and supervisory committee play a crucial role in guiding the student’s training by approving a program of study; approving the student’s prospectus; and certifying that the student is capable of doing original, independent research and communicating this research both in a written and oral fashion. As early as possible, a student should identify an area of research interest and obtain an informal agreement with a Department of Scientific Computing faculty member to serve as his/her major advisor. The student and advisor should subsequently establish the student’s supervisory committee. In concert with the interdisciplinary nature of the PhD degree program, students may have co-major advisors.
After the student has successfully completed the preliminary examinations and has been admitted to candidacy, the student is required to submit to the supervisory committee a written summary of the proposed research that will comprise his/her dissertation. The prospectus must be successfully defended to the student’s supervisory committee.
After completion of the original research proposed in the prospectus, the student must write a dissertation document that must comply with all current University standards for style. The dissertation must be successfully defended to the student’s supervisory committee.
Definition of Prefixes
CAP 5771. Data Mining (3). Prerequisite: ISC 3222 or ISC 3313 or ISC 4304C or COP 3330 or COP 4530 or instructor permission. This course enables students to 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 5224. Introduction to Bioinformatics (4). Bioinformatics provides a quantitative framework for understanding how the genomic sequence and its variations affect the phenotype. This 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. Laboratory exercises are designed to reinforce the classroom learning.
ISC 5225. Molecular Dynamics: Algorithms and Applications (3). Prerequisites: ISC 5305; MAC 2311, 2312. This course provides a comprehensive introduction to molecular dynamics simulation algorithms and their corresponding applications in molecular science.
ISC 5226. Numerical Methods for Earth and Environmental Sciences (3). Prerequisites: ISC 5305; MAC 2311, 2312. Application of numerical methods to the solution of scientific problems for earth and environmental sciences.
ISC 5227. Survey of Numerical Partial Differential Equations (3). Prerequisite: ISC 5305. This course provides an overview of the most common methods used for numerical partial differential equations. These include techniques such as finite differences, finite volumes, finite elements, discontinuous Galerkin, boundary integral methods, and pseudo-spectral methods.
ISC 5228. Monte Carlo Methods (3). Prerequisites: ISC 5305; MAC 2311, 2312. This course provides an introduction to probabilistic modeling and Monte Carlo methods (MCMs) suitable for graduate students in science, technology, and engineering. It provides an introduction to discrete event simulation, MCMs and their probabilistic foundations, and the application of MCMs to various fields. In particular, Markoc chain MCMs are introduced, as are the application of MCMs to problems in linear algebra and the solution of partial differential equations.
ISC 5229. Multiscale Modeling of Materials (3). Prerequisites: EGM 5611, EML 5060 or equivalent, or instructor permission. This course covers mathematical and algorithmic basis for atomic scale, mesoscale and continuum scale modeling approaches in material sciences. Emphasis is on the atomic-to-continuum connection, statistical approaches and homogenization problems in continuum modeling of heterogeneous materials. The course offers concrete examples to explain basic ideas and involves projects to apply concepts discussed in lectures.
ISC 5236. Applied Groundwater Modeling (3). Prerequisites: ISC 5226 or instructor permission. This course introduces groundwater modeling theory and practice, with emphasis on model construction, simulation, as well as calibration, and using state-of-the art modeling tools. Students learn basic concepts and governing equations of fluid flow in porous media, computational algorithms of solving the equations, and mathematical methods of inverse modeling. Essential statistics of evaluating quality of model simulations is introduced and examples of synthetic cases and real-world applications are used for computer labs and course projects.
ISC 5237. Uncertainty Analysis in Computational Science (3). Prerequisite: ISC 3222 or ISC 5226 or instructor permission. This course includes lectures and computer labs for understanding various uncertainty sources in computational science. Methods are taught for quantifying the uncertainties and their propagation through mathematical and computational modeling. Students learn how to communicate the uncertainty quantification to colleagues and decision-makers. They also discuss how to reduce predictive uncertainty to improve scientific understanding of complex systems.
ISC 5238C. Scientific Computing for Integral Equation Methods (3). Prerequisites: MAD 3703 and MAP 4341; ISC 4232; or instructor permission. This course covers key algorithms that are required when solving integral equations.
ISC 5247C. Geometric Morphometrics: An Introduction to Modern Methods of Applied Shape Analysis (3). Prerequisite: STA 2122, STA 2171, or equivalent. 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 allows those who need to use such techniques to address research questions in their own work the means to effectively do so. It also provides students 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 5249C. Computational Forensics: An Introduction to Objective, Quantitative Tools, and Methods for Forensic Science (3). Prerequisites: 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 bloodstream 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 5305. Scientific Programming (3). Prerequisites: working knowledge of one programming language (C++, Fortran, Java), or instructor permission. Object-oriented coding in C++, Java, and Fortran 90 with applications to scientific programming. Discussion of class hierarchies, pointers, function and operator overloading and portability. Examples include computational grids and multidimensional arrays.
ISC 5306. Programming Skills for Computational Biology and Bioinformatics (3). This course provides a basic programming background sufficient to begin a career in computational molecular biology and bioinformatics. It is also useful for those who want to develop their own programs for simulation or analysis in ecology, evolutionary biology, genetics, or molecular biology. The Java language is used as a platform for presenting the concepts of data types, structures, flow control, and input/output. Programming assignments are biologically oriented. In addition to Java, scripting languages such as Python or Perl are presented for the control of batch processes, file filtering, and simple data analysis.
ISC 5307. Scientific Visualization (3). Prerequisites: CGS 4406, ISC 5305, or instructor permission. The course covers the theory and practice of scientific visualization. Students learn how to use state-of-the-art visualization toolkits, create their own visualization tools, represent both 2-D and 3-D data sets, and evaluate the effectiveness of their visualizations.
ISC 5308. Computational Aspects of Data Assimilation (3). Prerequisites: MAC 2311, MAC 2312, MAS 3105, ISC 5305, or instructor permission. This course explores common methods of data assimilation, such as Kalman filtering, ensemble filter, particle and hybrid filters, along with variational methods. These methods are introduced and derived in the context of both variational and estimation theory with emphasis on computational aspects, using simple models and current research materials.
ISC 5314. Verification and Validation in Computational Science (3). Prerequisites: MAC 2312, MAS 3105, or ISC 5315; or instructor permission. This course covers the theory and practice of verification and validation in computational sciences. Students learn basic terminology, are exposed to procedures and practical methods used in software implementation validation and in solution verification, employ exact and manufactured solutions, and explore elements of software quality assurance. The course introduces essential data analysis techniques and reviews software development and maintenance tools. Examples from physical sciences and engineering are used to illustrate aspects of code variation, including validation hierarchy, validation benchmarks, as well as uncertainty quantification and simulation code predictive capabilities. The computational laboratory is an essential part of this course.
ISC 5315. Applied Computational Science I (4). Prerequisites: ISC 5305; MAP 2302; or instructor permission. This course provides students with high-performance computational tools necessary to investigate problems arising in science and engineering, with an emphasis on combining them to accomplish more complex tasks. A combination of course work and lab work provides the proper blend of theory and practice with problems culled from the applied sciences. Topics include numerical solutions to ODEs and PDEs, data handling, interpolation and approximation, and visualization.
ISC 5316. Applied Computational Science II (4). Prerequisite: ISC 5315 or instructor permission. This course provides students with high-performance computational tools necessary to investigate problems arising in science and engineering, with an emphasis on combining them to accomplish more complex tasks. A combination of course work and lab work provides the proper blend of theory and practice with problems culled from the applied sciences. Topics include mesh generation, stochastic methods, basic parallel algorithms and programming, numerical optimization, and nonlinear solvers.
ISC 5317. Computational Evolutionary Biology (4). Prerequisites: ISC 5224, 5306, or instructor permission. This course presents computational methods for evolutionary inferences. Topics include the underlying models, the algorithms that analyze these models, and the creation of software to carry out the analysis.
ISC 5318. High-Performance Computing (3). Prerequisites: ISC 5305 or equivalent or instructor permission. This course introduces high-performance computing, term which refers to the use of parallel supercomputers, computer clusters, as well as software and hardware in order to speed up computations. Students learn to write faster code that is highly optimized for modern multi-core processors and clusters, using modern software-development tools and performance analyzers, specialized algorithms, parallelization strategies, and advanced parallel programming constructs.
ISC 5319. Advanced Topics in High-Performance Computing (3). Prerequisite: ISC 5318. This course covers high-performance computing, meaning the use of parallel supercomputers, computer clusters, and everything from software to hardware to speed up computations. Students learn how to write faster code that is highly optimized for modern multi-core processors and clusters, using modern software development tools and performance profilers, specialized algorithms, parallelization strategies, and advanced parallel programming constructs.
ISC 5415. Computational Space Physics (3). Prerequisites: MAC 2312, MAS 3105, or instructor permission. This course offers an introduction to numerical methods in the context of observational and theoretical astrophysics. The course covers interpolation, approximation, minimization and optimization, solution of linear systems of equations, random number generation, function integration, numerical differentiation, numerical integration of ordinary differential equations, stiff systems of ODEs, survey of methods for partial differential equations (Poisson equation, heat diffusion, and hydrodynamics).
ISC 5906r. Directed Individual Study in Computational Science (1–12). Prerequisite: Instructor permission. The course covers selected topics, as designated by the students and the directing professor. The course may be repeated to a maximum of twenty-four semester hours.
ISC 5907r. Directed Individual Study in Computational Science (1–3). (S/U grade only). Study on a selected topic as designated by the student and the directing professor. May be repeated to a maximum of twenty-four semester hours.
ISC 5934r. Introductory Seminar on Research in Computational Science (1). (S/U grade only). A series of lectures given by faculty on research being conducted in the Department of Scientific Computing.
ISC 5935r. Selected Topics in Computational Science (3–12). (S/U grade only). Selected research topics that are not covered by other courses. May be repeated to a maximum of twelve semester hours.
ISC 5936. Numerical Methods for Stochastic Differential Equations (3). Prerequisites: MAD 3703; MAP 2302; MAS 3105; SAT 4321; or equivalent or instructor permission. This course provides students with basic knowledge of applied and numerical mathematics useful for scientific and engineering modeling, guided by some problems in applications. Focus is on the numerical solution of stochastic differential equations and Monte Carlo methods. A combination of theory and lab work develops the student’s intuition and allow for more insight useful for applications.
ISC 5939r. Advanced Graduate Student Seminar in Computational Science (1–3). (S/U grade only). A series of lectures given by faculty, students or outside scholars on research and research methods related to computational science. May be repeated within the same term to a maximum of twelve semester hours.
ISC 5948r. Graduate Internship in Computational Science (3–6). (S/U grade only). Supervised internship individually arranged to accommodate professional development. May be repeated to a maximum of six semester hours.
ISC 5975r. Thesis (3–12). (S/U grade only). A minimum of six semester hours is required.
ISC 6981r. Dissertation (1–12). (S/U grade only). Prerequisite: Advisor approval. A minimum of twenty-four semester hours is required for PhD degree.
ISC 8963r. Master’s Comprehensive Examination (0). (P/F grade only.) Prerequisite: Advisor approval. May be repeated with instructor permission.
ISC 8964r. Doctoral Qualifying Examination (0). (P/F grade only.) Prerequisite: Advisor approval. May be repeated with instructor permission.
ISC 8965r. Doctoral Preliminary Examination (0). (P/F grade only.) Prerequisite: Advisor approval. May be repeated with instructor permission.
ISC 8977r. Master’s Thesis Defense (0). (P/F grade only.) Prerequisite: Advisor approval. May be repeated with instructor permission.
ISC 8982r. Dissertation Defense (0). (P/F grade only.) Prerequisite: Advisor approval. May be repeated with instructor permission.
MAD 5420. Numerical Optimization (3). Prerequisites: MAC 2313; MAS 3105; C, C++, or Fortran. This course covers unconstrained minimization: one-dimensional, multivariate, including steepest-descent, Newtons method, Quasi-Newton methods, conjugate-gradient methods, and relevant theoretical convergence theorems. Constrained minimization: Kuhn-Tucker theorems, penalty and barrier methods, duality, and augmented Lagrangian methods. Introduction to global minimization.
MAD 5427. Numerical Optimal Control of Partial Differential Equations (3). Prerequisites: MAD 5739; MAS 3105. This course covers Euler Lagrange equations, adjoint method algorithm. Optimal control of systems governed by elliptic, parabolic, hyperbolic PDEs. Control of initial and boundary conditions. Adjoint sensitivity analysis. Optimal parameter estimation, Kalman filter for parameter identification. Automatic differentiation techniques.
MAP 5395. Finite Element Methods (3). Prerequisites: MAD 5738 and, C++ or Fortran. This course covers the methods of weighted residuals, finite element analysis of one and two-dimensional problems, isoparametric elements, time dependent problems, algorithms for parabolic and hyperbolic problems, applications, advanced Galerkin techniques.