July 29 - August 8, 2024
Monday - Thursday, 4-7 pm PDT
Hello MIMS c/o 2026 and PhDs c/o ~2030! Welcome to the pre-semester Python bootcamp. This bootcamp is intended for students with little to no background in Python programming. Those with more experience are welcome to join, but should be aware that the design of the course is built for beginners. This boot camp is specifically intended to prepare students for Info 206A and Info 206B.
Code will be located in this repository; lesson slide decks and recordings can be found on Google Drive.
Instructor | Office Hours | |
---|---|---|
Lauren Chambers Ph.D. '27-ish [email protected] @laurenmarietta |
Before class, 11am-12pm PDT + additional session on Fri 8/2 |
- ✏️ Preparation for INFO 206A & 206B
- 💪🏽 Building confidence with coding!
- 🐍 Introducing basics of coding using Python and Jupyter notebooks
- 🐾 Learning critical skills and identifying helpful resources for coding in the wild (e.g. debugging, self-teaching, cheatsheets)
Assignments will not be graded in this course, nor will there be any homework - it is a voluntary class for students who wish to strengthen their programming and Python skills before the semester begins. However, students are encouraged to follow these general rules of conduct to maximize their learning:
- Ask questions! A major benefit of the bootcamp is the smaller class size and direct availability of the instructor. Ask ask ask!
- Participate in class discussions. We encourage students to speak at least 1-2 times per class!
- Attend classes live. We specifically scheduled the session to be later in the day so as to accommodate as many students' schedules as possible! Please let the instructor know if you need to miss classes. If you do need to miss a lesson, materials will be provided for you that you are encouraged to review in your own time.
(Subject to change based on student feedback)
Day | Modules |
---|---|
Monday 7/29 | Introduction, Environments & Workflows (Github, Anaconda, Python, Jupyter Notebook), Computational Thinking |
Tuesday 7/30 | Variable Types, Conditions |
Wednesday 8/1 | Iteration, Functions & Libraries |
Thursday 8/2 | File I/O, Recap |
Monday 8/5 | Visualization with matplotlib and drawSvg |
Tuesday 8/6 | Object-Oriented Programming |
Wednesday 8/7 | Object-Oriented Programming, cont. |
Thursday 8/8 | Review |
Each day will follow this typical schedule (ish):
Time | Lesson Section |
---|---|
4:00 - 4:15 pm | Check-in |
4:15 - 4:45 pm | Lesson Lecture |
4:45 - 5:30 pm | Lab |
5:30 - 5:40 pm | Break |
5:40 - 6:00 pm | Lesson Lecture |
6:00 - 6:45 pm | Lab |
6:45 - 6:55 pm | Glossary Edits |
6:55 - 7:00 pm | Exit Quiz |
All lessons will be recorded and made available to registered students.
Students will work in small groups to complete labs which guide them through the exploration of a topic. Labs will focus on open-ended computational problem-solving where students will go through the process of defining a problem, writing pseudocode to solve that problem, translating that pseudocode to Python code, and testing and debugging that code. In most situations, students will not be expected to finish all parts of a lab, but instead will work through as much of the lab as they can (and can continue working on the lab after the session ends).
At the end of each day, students will complete a check-in quiz to help them reflect on the concepts and skills covered that day and to check their understanding of the material. Quiz results will be used to determine what content should be reviewed at the beginning of the following day, as well as to collect feedback on the progression of the bootcamp.
Over the course of the bootcamp, students will put together a collaborative glossary document with definitions for the various programming concepts they learn. The document is available on Google Docs here.
During class sessions, students are encouraged to first seek out their group mates when they are stuck or confused. Additionally, the instructor will be available to small groups to answer questions and provide problem solving guidance. A virtual help queue will be provided over Slack so that groups can sign up for support from a teacher. At the end of each lab, the entire class will gather to discuss common confusions and bugs.
Office hours will be held each class day from 11am-12pm PDT. An additional office hours session will be held on Friday, July 26. During this time, students can attend to ask questions, review topics, and get support on their projects or unfinished sections of labs.
- INFO 206 Lecture Videos
- Think Python - free online textbook with beaucoup Jupyter Notebooks
- Python environmental diagram generator - helpful for understanding how a chunk of code runs
- Thinking Like a Programmer by V. Anton Spraul - book about computational thinking
- Khan Academy - free Intro to CS & Python course with lessons, videos, quizzes, and practice questions
- One-page Cheatsheets:
(whose material this year's curriculum builds upon!)
- 2023: George McIntire MIMS '24
- 2022: Kat Tian UIUC I School Ph.D. & Hellina Nigatu Berkeley EECS Ph.D.