Scientific Computing Course
Title: Scientific Computing
Catalog number: IT&C 515R, section TBD
Semester: Winter 2021
Credit Hours: 3
Beginning Winter 2021, the course will be available exclusively through BYU Online (see this FAQ page for details about BYU Online). It is important to note that BYU Online is semester-based and included in your tuition, unlike Independent Study.
A lot of thought and preparation has gone into teaching the class online and we feel that the class will continue to be a high quality educational experience for students. Some of the planning for this change actually predated COVID-19, and this is not in any way a response to the pandemic.
About the Course
The Scientific Computing course was first taught in Winter 2016 and has been four times since then. Students come from a wide variety of programs such as Biology, Chemistry, Economics, Mechanical Engineering, and Physics; typically, about half are graduate students and about half are undergraduates.
This course is intended for students whose current or future coursework or research involves computational science (e.g. computational fluid dynamics, genomics, finite element analysis, economics simulations, computational linguistics, physics, etc).
The class will help students learn the principles of operating in a typical scientific computing environment. Topics include typical Linux shells and commands, hardware (CPU, memory, network, etc), storage management, job scheduling, code and workflow optimization, code management, results verification, and programming. A semester-long project will help students apply the principles that are taught in class.
Prior to taking the class, students must know how to program in at least one language, including knowing how to write conditionals, loops, and functions. C++ is strongly preferred. Experience with only the R programming language has been found to be insufficient preparation. No particular course is required as a prerequisite, though CS 142 or similar is very strongly recommended.
A computer science background is not necessary except for the programming skills requirement. The less programming experience you have the harder the class will be. We have found that people of most skill levels do very well in the class, though it definitely takes more effort for those with less of a programming background. Please email us or open a support ticket if you have questions.
Many students will be able to use this class to fulfill an elective if you petition your program. You must contact your program to see if this is possible.