Scientific Programming 101
Spring 2025/2026
General info
Welcome to this programming course! In the weeks ahead, you’ll use the Python programming language while learning to solve scientific problems from several fields of science. This course is intended for students who have no experience in programming at all.
Prerequisites
Scientific Programming 101 assumes no prior programming experience. If you have already done a course in Python, or if you have extensive experience in another programming language, this course might not be your best option—but we’re happy to refer you to other courses if you’d like!
Learning goals
Scientific Programming 101 is a beginner’s course. We will teach you the basics of Python programming as well as several different ways of solving computational problems. After this course, we envision that you:
- can transform the description of a simple algorithm into working code by combining basic program elements;
- can apply several scientific programming techniques from different areas of study;
- can use a couple of libraries in your program and know how to find and read documentation on other libraries;
- can make your programs simpler and easier to read by employing a few standard tactics;
- can trace and fix several common programming errors.
- can use native python data structures (like sets, dictionaries, and tuples);
- analyze the complexity of an algorithm;
- quickly learn to use new python packages and know how to find documentation for them;
- import and analyze data;
- create advanced plots.
Course materials
All the reading and video material is available on this website. You do not need to purchase any books or software. Every module consists of short explanations (written and in the form of videos) and assignments. You do need to bring your own laptop.
Log in for full syllabus.