Home
Introduction to Scientific Python¶
Pages: Course Description · Class Schedule · Homework · Software
Course Description¶
This one-unit workshop is aimed at students who already know how to program (CS106A or equivalent) and want to become fluent in the scientific Python stack. Each 50-minute meeting highlights real scientific-computing workflows with live coding in Google Colab. We will practice with NumPy, SciPy, pandas, scikit-learn, PyTorch, and companion tools drawn from linear algebra, optimization, machine learning, and data science.
Course Information¶
- Course: CME 193 – Introduction to Scientific Python (Autumn 2025).
- Instructor: Tianyu Du (
tianyudu@stanford.edu
). - Teaching Assistant: None, please contact the PI for any questions regarding the course.
- Location: 200-205 (Lane History Corner, 450 Jane Stanford Way, across the street from the Lathrop Library).
- Meeting Time: Wednesdays, 3:30 PM – 4:20 PM, September 22 – December 5, 2025.
- Units: 1.
- Grading: Satisfactory/No Credit.
- Office Hours: Schedule a meeting with the instructor for help. Please see the course announcement for the link for the office hours.
Prerequisites¶
Programming¶
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. If you need a refresher on Python, consider completing an online primer such as Codecademy.
Scientific Computing¶
Expect to work with linear algebra, optimization, statistics, or similar scientific-computing topics. Prior exposure to simulation, machine learning, or data analysis projects will make the pace more comfortable.
Format¶
CME 193 meets for 9 weeks this autumn quarter, 50 minutes per week. Sessions are hands-on and use shared Google Colab notebooks so you can experiment with the code as we go. In-lecture exercises at the end of each meeting reinforce the techniques introduced that day. Please refer to the Class Schedule for the detailed schedule.
Software¶
During the course, we will mainly be using Jupyter Notebook. Jupyter Notebooks can either be run locally (e.g., using Anaconda) or in the cloud (e.g., using Google Colab). Please refer to the Software page for more details. We will be distributing the lecture materials as Google Colab notebooks, but you are welcome to download them and run them locally.
Grading¶
- The course uses Satisfactory/No Credit grading and includes two graded homework assignments.
- To earn credit you must reach at least 70% of the total points (final cutoffs may shift slightly if assignments change).
- Each late day costs 10% of your homework score (e.g., if you get 80\% points of the homework, but a day late, you will get 72\% points).
- Assignments more than two days late beyond the late-day grace window will not be accepted.
- Please attend lectures in person, there will be 8 lecture sessions in total (excluding the first week, Thanksgiving, and end-of-quarter period), I would expect you to attend at least [TBA] of them. Lectures are somewhat independent, so if you find a particular topic less interesting, you can skip it (but you still need to complete the homework assignments). I still encourage you to attend all lectures in case you have questions regarding a specific topic.
- There is no final exam or final project.
Late-Day Policy¶
- You start with eight free late days that apply across all homework.
- Each late day grants a 24-hour extension; partial days are not allowed.
- Treat the free days as pre-approved extensions—use them before requesting additional accommodations.
- Beyond the eight-day grace window, further extensions are approved only for exceptional circumstances communicated to the instructor at least 24 hours before the deadline.
Stanford Policies¶
Honor Code¶
Collaboration is encouraged during lectures and on homework, but submit your own write-ups. If you collaborated closely, consulted online resources, or used generative AI tools, note those sources in your submission.
Students with Documented Disabilities¶
Please contact the instructor (tianyudu@stanford.edu) for accommodations.
Acknowledgments¶
This course is heavily inspired by the Spring 2025 iteration taught by Julie Fangran Wang. We are grateful for her foundational work in developing the curriculum and materials that form the basis of this workshop.