Course Description
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 …
  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.
  
Learning Resource Types
    notes
    Lecture Notes
  
    assignment
    Problem Sets
  
    
    Editable Files
  
 
        
          When it was launched in 2018, the Summit supercomputer at Oak Ridge National Laboratory was the most powerful computer in the world. (Image courtesy of DOE. Image is in the public domain.)
        
       
		 
		 
		 
		 
		 
		 
		