CSE 609 Scientific Programming (3 credits)
Catalog description:
This course addresses programming skills at an intermediate level and focuses specifically on scientific and engineering computing skills. This course will emphasize topics commonly encountered in scientific computing/computational science. It primarily addresses non-parallel (serial) computing competencies and is a prerequisite to the high performance computing area. The course will focus on an appropriate programming language currently used in research.
Prerequisites:
A programming course in any language.
Learning Outcomes:
At the end of this course, students will be able to:
- Implement programming solutions to scientific problems with an appropriate programming language currently used in the research domain.
- Use basic debugging techniques to identify logic errors
- Apply non-parallel (serial) optimization concepts and techniques
- Use at least one widely used numerical library (e.g. GNU Octave)
- Demonstrate understanding number representation
- Write programs that are robust with respect to numerical errors
- Write programs that read and write external files using various file formats
- Apply software engineering best practices in designing, testing and writing computer programs.
- Describe the concepts of algorithm complexity.
- Apply Monte Carlo algorithms to appropriate problems.