Essential tools for researchers in the natural sciences. Helping students transition their computing skills from a classroom to a research environment. Topics include UNIX command line scripting, the Python programming language, version control with Mercurial, unit tests, data analysis and regular expressions, with more advanced topics as time allows. We will assume some experience with programming at the CS106A level or equivalent. Enrollment limited.
Meets Tue, Thu 4:15 PM – 6:05 PM at 420-245


Course Leaders: Alex Ji, Zahan Malkani (alexji@stanford.edu, zahanm@stanford.edu)
Faculty Sponsor: Risa Wechsler


This course is targeted at physics students going into their first summer of research, but it will contain a lot of valuable information for anyone who spends time writing and utilizing software. We welcome students from all disciplines.
There are two main components in this course. You first learn core computer and software engineering skills through teaching Python in a UNIX environment. Then you’ll learn practical research skills like understanding code, reading/writing documentation, data analysis, and plot-making in various environments. If time allows, we will cover some advanced topics like high-performance computing.
The prerequisite for this course is prior experience programming at the CS106A level or above. If you do not have this experience but are willing to learn quickly, you can e-mail the instructors about resources to review over Spring Break.
The meeting times are Tuesday 4:15-5:30 and Thursday 4:15-6:05. Tuesdays will be interactive lectures, and Thursdays are coding labs where you do the week’s problem set.
Please sign up on Axess as soon as possible, as the instructors will contact you over Spring Break.

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>