Welcome to the Python Bootcamp

Time: 2-6 PM, MWF
Dates: June 7 - July 26
Location: Room 380, Soda Hall, UC Berkeley
Lecturers: Michael Remediakis, Ahmad Jawaid
Assistant Lecturer: Mariam Abughosh

Introduction
This Python boot camp will serve as an introduction to computer science, as well as a preparatory course towards any students about to take UC Berkeley’s CS 61A/61B course. The boot camp will mostly follow the 61A course schedule, so there are no prerequisites or need to know a programming language beforehand. Even though this is considered an introductory boot camp, there is still enough new material for both beginner and experienced programmers to be interested.

Objective
To teach students programming and to prepare them for possibly larger projects. We aim to provide a stress free and low stakes learning space. Keep in mind that this curriculum is designed to go at the student’s own pace. We provide you with the support, space, and resources for learning. It is a low commitment course as there will only be one hour of lecture, and the rest of the time will be for practice!

Structure
First Hour: Warm ups will be given as practice over the previous lesson’s material.
Second Hour: A lesson will be given at this time, but it is not mandatory to listen. You are welcome to work on your own project instead or to help others understand the material.
Third & Fourth Hour: These hours will be designated for practicing the new material in given exercises and discussing questions about the lecture.

Schedule

*Note: This class is currently not in session. All old material and resources have been moved here.

WEEK
TOPIC
HOMEWORK
PROJECTS
6/7
Setup, Functions, Control Statements
Day 1: Introduction [PPT]
Day 2: Python [PPT]
Day 3: Control [PPT, Warmup]
Homework 1: Getting Started
6/14
Iteration, Environment Diagrams, Higher-Order Functions
Day 4: Iteration [PPT, Warmup]
Day 5: HOFs [PPT, Warmup]
Day 6: Practice [PPT, Warmup]
Homework 2: Iteration
Homework 3: HOFs
6/21
Basic Recursion, Tree Recursion
Day 7: Recursion [PPT, Warmup]
Day 8: Tree Recursion [PPT, Warmup]
6/28
Sequences, Trees
Day 9: More Functions [PPT, Warmup]
Day 10: Sequences [PPT, Warmup]
Day 11: Python Lists [PPT, Warmup]
Homework 5: Sequences
7/5
More Sequences, Mutable vs Immutable
Day 12: Sequences to Trees [PPT, Warmup]
Day 13: More Sequences [PPT, Warmup]
Day 14: Mutable Data [PPT, Warmup]
Homework 6: More Sequences Homework 7: Mutable Data
7/12
Object, OOP, Inheritance
Day 15: Objects [PPT, Warmup]
Day 16: OOP [PPT, Warmup]
Day 17: Practice Problems [Warmup, Worksheet]
Homework 8: OOP & Inheritance
Homework 9: Design
7/19
Memoization
Day 18: Memoization [PPT, Warmup]
7/26
Real World Applications
Day 21: Pactice & Application Pt. 1 [Warmup]
Day 22: Pactice & Application Pt. 2 [Warmup]

Staff

We're a group of students majoring in Computer Science and Cognitivie Science at UC Berkeley. We are involved in teaching on campus and are excited to bring our passion and knowledge to you all!

Ahmad Jawaid

Lecturer

Michael Remediakis

Lecturer

Mariam Abughosh

Assistant Lecturer