Introduces principles, methods and tools of scientific programming commonly used in research. Topics include an introduction to programming in Python, data structures, numerical methods for calculus and data manipulation/visualization. Techniques covered are relevant to many technical fields but emphasis is placed on application to problems in astronomy and planetary science. Class time is split between lectures and in-lab tutorials. Degree credit not granted for this course and PHYS 2600.