everything.study
12.010

Computational Methods of Scientific Programming

4-0-8 units · Undergraduate

Introductory subject exposes students to modern programming methods and techniques used in practice by physical scientists today. Emphasis on code design, algorithm development/verification, and comparative advantages/disadvantages of different languages (including Python, Julia and C/C++) and tools (including Jupyter, machine-learning from data or models, cloud and high-performance computing workflows). Students are introduced to and work with common programming tools, types of problems, and techniques for solving a variety of data analytic and equation modeling scenarios from real research: examination visualization techniques; basic numerical analysis; methods of dissemination and verification; practices for reproducible work, version control, documentation, and sharing/publication. No prior programming experience is required.

Fall 2024

This introductory course exposes students to modern programming methods and techniques used in practice by physical scientists today. Emphasis is placed on code design, algorithm development/verification, and comparative advantages/disadvantages of different languages (including Python, Julia, and C/C++) and tools (including Jupyter, machine learning from data or models, and cloud and high-performance computing workflows). Students are introduced to and work with common programming tools, types of problems, and techniques for solving a variety of data-analytic and equation-modeling scenarios from real research: examination visualization techniques; basic numerical analysis; methods of dissemination and verification; and practices for reproducible work, version control, documentation, and sharing/publication.

Fall 2011

Topics

  • Introduction: Problem formulation, algorithm development, algorithm implementation, and algorithm verification. Structure and documentation
  • CH
  • Fortran: “Formula Translation”. Program creation, compilation and linking, variables and parameters, flow control, subroutines and functions. Structure and documentation. Use of libraries, internal and external communication, and interaction with other languages. Fortran: Implementation issues: Compilation errors, segmentation violations, Not-a-Number (NaN), Input/Output (IOSTAT) errors, Runtime errors. Transportable code, standard extensions. Fortran 90 differences and similarities to Fortran 77
  • TH
  • Python scripting language program
  • Advanced graphics in MATLAB, 3-D representation and exportable animations
  • Ordinary differential equation (ODE) solutions used MATLAB and Mathematica
  • Final Project Presentations

Prerequisites & course information

Prereq: Calculus II (GIR) and Physics I (GIR) U (Fall) 4-0-8 units

Sources