This course introduces the basics of Python needed for scientific computing as well as some higher level data structures and features that are uncommon in lower-level languages such as C and C . Students learn how to write modules and functions to solve a variety of scientific problems. They also learn how to take advantage of the numerical libraries NumPy and Pandas that extend Python with high-performance vectorized calculations and visualizations. Students also explore other packages, such as matplotlib, Vega-Altair and scikit-learn. Note: This course is appropriate for all students with an interest in scientific computing, and experience with elementary computer programming is recommenCross-listed: PHYS-2112(3). Restrictions: Students may not hold credit for this course and PHYS-2112. Restrictions: Students may not hold credit for this course and PHYS-2112.