Welcome!
PIC16A covers programming in Python. Python is a modern, interpreted language widely used for software development, scientific computation, and data science. Python is justly famous for its ease of use, extensive set of open-source tools, and vibrant online community.

The first half of this course covers fundamental Python constructs, like data types, loops, functions, and classes. The second half of this course surveys a wide array of useful packages in the Python ecosystem, with a special emphasis on data science. By the end of the course, students will:
- Construct Python programs using functions, loops, classes, and other tools.
- Use existing modules and self-written code to solve complex problems.
- Make design decisions about the programming constructs best suited to a given problem.
- Write reusable code, by encapsulating core operations in functions and classes, and documenting these constructs carefully.
- Study problems and data sets from science, economics, politics, and literature.
This offering of PIC16A uses a flipped classroom format, and thereby emphasizes active learning and group problem-solving.