CIS-1902 Python Programming 🐍
Spring 2025 Section 201
Instructor: David Cao (davidcao@seas)
TAs: Christopher Liu (liuchris@seas) & Pragya Singh (pragya7@wharton)
Location: 3401 Walnut St, 401B, Tuesdays 3:30 to 5:00 PM
Office Hours
4:00-5:00pm Mondays (Pragya)
2:00-3:00pm Wednesdays (Chris, on OHQ)
1:00-2:00pm Thursdays (David)
Welcome to CIS-1902 Python Programming! In recent years, Python has truly shown its dominance as a programming language. In fact, Python is arguably the most popular programming language in the world today. Due to its simplistic nature and vast developer ecosystem, Python is a premier choice in a myriad of fields such as data analysis & processing, machine learning, and web development. This course aims to introduce you to the latest paradigms in a wide breadth of these topics and ultimately the skills necessary to excel at utilizing Python for any use case.
We will begin by going over the fundamentals of Python, after which we will cover two modules: data science and web development. Each class will typically be broken in two halves: a short lecture covering the topic of the day and then an in-class lab or code-along. At the end of the course you will build a final project of your choosing!
Some highlights of the topics covered include:
- Data Analysis and Scientific Computing (pandas and numpy)
- Machine Learning and Neural Nets (scikit-learn and PyTorch)
- How the Web Works
- Fullstack Development and REST APIs (Django & Flask)
but may change given the interests of the class.
Grading
There will be a total of five programming assignments and a final project. Homeworks will count for 55% of your grade, the final project will count for 35%, and attendance will count for 10%. Attendance will be graded through the labs done in class. One unexcused absence will be granted no questions asked. Excused absences will be given for unavoidable conflicts, e.g. a job interview. There will be opportunities for extra credit throughout the course!
Additionally, everyone has a total of five late days. Up to two late days can be used per assignment, except for the final project. Any additional day an assignment is late is a 25% deduction, up to 2 days total, meaning the latest you can turn in an assignment is 4 days for at most 50% credit.
Course Policies
- Homeworks are intended to be done alone. Feel free to discuss the problems at a high level, but you must write all code by yourself.
- There are no restrictions on using LLMs to aid you in completing assignments, but students are urged to rely on them only for things such as documentation type queries or conceptual questions. Relying too heavily on LLMs will only hinder your learning process. While LLMs have become an increasingly powerful tool in software development, ultimately one still needs to understand the code it outputs before employing it.
- Licensing Information: You are free to use or extend these projects for educational purposes provided that (1) you do not distribute or publish solutions, (2) you retain this notice, and (3) you provide clear attribution to the University of Pennsylvania, including a link to https://www.cis.upenn.edu/~cis1902/.