課程簡介
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.