Course description

This course is recommended for students who are familiar with programming at least at the level of CS106A and want to translate their programming knowledge to Python with the goal of becoming proficient in the scientific computing and data science stack. Lectures will be interactive with a focus on real world applications of scientific computing. Technologies covered include Numpy, SciPy, Pandas, Scikit-learn, and others. Topics will be chosen from Linear Algebra, Optimization, Machine Learning, and Data Science. Prior knowledge of programming will be assumed, and some familiarity with Python is helpful, but not mandatory.

Course information

This course starts the second week of the quarter on Tuesday 1/15

CME 193 - Introduction to Scientific Python - Winter 2019

Instructor: Anjan Dwaraknath (anjandn {at} stanford {dot} edu)

Office hours:

  • Anjan - Thurs 10:20-12:00 PM (Huang Basement), or by appointment



There are no formal prerequisites. This means we won't check your previous programming experience.

However, the course material will assume prior programming experience. Ideally, you already are comfortable programming in at least one language (C, C++, fortran, Julia, Matlab, R, Java, ...), and perhaps have seen some basic Python before.

If you haven't worked with Python in the past, you may wish to complete an introduction to Python on Codeacademy and/or Udacity.

Scientific Computing

This is a course on scientific computing with Python. This will assume you

  • Have at least a basic familiarity with linear algebra, optimization, and statistics
  • Have some familiarity with a scientific computing application (simulations, machine learning, etc.)


This short course runs for four weeks of the quarter (starting 1/15) and is offered each quarter during the academic year.

Lectures will be interactive using Jupyter Notebooks with a focus on learning by example, and assignments will be application-driven.

We'll typically devote some time during class to working on exercises, so you can ask for help if you're stuck.


This a 1-unit workshop style course, offered on a credit/no-credit basis. To receive credit:

  • Come to class and participate (we know you may have occasional conflicts)
  • Make a reasonable attempt at the assignments (3 or 4 total)

The goal is to give you some practice and experience with the content of the course, without overwhelming you with work.

Stanford Policies

Honor Code

This course is intended to be collaborative. You can (and should) work with other students in class and on homework. You should turn in your own solutions (don't copy others). If you worked closely with someone or found an answer on the web, please acknowledge the source of your solution.

Students with Documented Disabilities

Students with Documented Disabilities: Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Office of Accessible Education (OAE). Professional staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty. Unless the student has a temporary disability, Accommodation letters are issued for the entire academic year. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk (phone: 723-1066, URL: