CME 211 / EARTH 211 - Fall 2018

Software Development for Scientists and Engineers

Basic usage of the Python and C/C++ programming languages are introduced and used to solve representative computational problems from various science and engineering disciplines. Software design principles including time and space complexity analysis, data structures, object-oriented design, decomposition, encapsulation, and modularity are emphasized. Usage of campus wide Linux compute resources: login, file system navigation, editing files, compiling and linking, file transfer, etc. Versioning and revision control, software build utilities, and the LaTeX typesetting software are introduced and used to help complete programming assignments. Prerequisite: introductory programming course equivalent to CS 106A or instructor consent. (See the Stanford Bulletin entry)

Communication

Time & location

Course staff

Lecturers: Andreas Santucci (ICME), and Slaven Peles (LLNL)

Teaching assistants:

  • Remmelt Ammerlaan (remmelt at stanford)
  • Ruilin Li (ruilinli at stanford)
  • Maxime Rivet (mrivet at stanford)
  • Jessica Wetstone (wetstone at stanford)