Skip to main content
Ctrl+K

PHY 277

Logistics

  • Topics
  • Getting Started
  • portal / portal2
  • Using your own computer

Introduction

  • Computation
  • Hello, World
  • What About AI?

The UNIX Shell

  • Why Use the Command Line?
  • The Shell
  • Some Sample Data
  • Navigating the Filesystem
  • Shell History
  • Create Files and Directories
  • Copying, Moving, and Deleting
  • Wildcards
  • Redirection and Pipes
  • grep
  • scp and Transferring Files
  • File Permissions
  • Search Path

Introduction to Programming

  • Computer Hardware
  • Software Development Tools
  • Preparing portal / portal2
  • Structure of a C++ Program
  • Helpful C++ Tools / Resources
  • Compiling
  • A First C++ Project

Editors

  • Different Editors
  • emacs
  • Configuring emacs

C++ Basic Datatypes

  • C++ Fundamental Datatypes
  • Operators
  • Mixing types
  • Datatype Sizes and Limits
  • Floating Point
  • std::numbers
  • Numerical Library

C++ Strings and I/O

  • Strings
  • Indexing Strings
  • Formatting output
  • Reading Input
  • Format Library

C++ Advanced Types

  • Vectors
  • More Vectors
  • Vector Algorithms
  • Working with Strings
  • Example: Matrix
  • auto and decltype
  • Structures
  • Arrays
  • References
  • Pointers

C++ Flow Control

  • Statement Blocks
  • Conditional Statements
  • Loops
  • continue and break
  • File I/O

C++ Functions

  • Functions
  • Passing by Value vs. Reference
  • SL Algorithms
  • More Functions
  • Lambda Functions
  • Example: Sorting Planets

Some Numerical Algorithms

  • Roundoff vs. truncation error
  • Example: Planetary Orbit
  • 2nd Order Runge-Kutta Orbit
  • Root Finding
  • Monte Carlo Methods

In-class Activities

  • In-class Participation
    • Feb 05 In-Class

Homework

  • Homework #1
  • Repository
  • Open issue

Index

By Michael Zingale

© Copyright 2025-2026, Michael Zingale.