CS10a: Introduction to Problem Solving in Python
Summer 2025
Learning Objectives for the course
By the end of the course you should be able to
read short Python programs (< 100 lines) and explain what happens when you run the program
write short Python programs (< 100 lines) to meet an explicit set of specifications
write short Python programs to solve some problem you find interesting
use LLMs (e.g. gemini.google.com) to
o create Python programs, and
o explain how they are working, and
o learn about new features of Python
run Python programs in VScode and in Google Colab as well as in PyTutor and Brython
Flexible Deadlines
This course has flexible deadlines. If you can't make the deadline then send me an email explaining when you will get it done. I strongly encourage you to use some effectiveu Time Management tools such as
Pomodoros
the 5 second rule
Calendaring
You can learn more about these techniques by watching the videos on this link time management tips
Programming Projects--due each Monday
The goal of the programming projects is to assess your ability to write and understand python programs. The weekly projects consist of 2 types of programming assignments:
a lab assignment where you show you can use the concepts you learned to solve a problem given by the instructor
a creative assignment where you show you can use the concepts you learned to solve a problem of your own creation
For both assignments you will need to submit the python code and it should contain a comment at the top with your name and email and links to two short movies (2 minutes each).
The first movie shows you running the program and explanining what it does and why its answers are correct.
The second movie show you explaining how the code works.
For each assignment, there will be more information about what the 2 movies should contain. The goal here is for you and the instructor to validate that you have mastered the skills needed to write and understand programs using the features we have learned up to that point.
If your videos do not clearly show that you fully understand the features used in your programs, then you'll be asked to meet on Zoom with the instructor or a TA, to review the key concepts. You may be asked to make revisions to your code and to resubmit new videos...