This is the webpage with workshop materials for the C-START Python Professional Development Workshop. It is intended that you can either follow along with the group, or take advantage of this site to get ahead at your own pace.
Day One: Hello World!
- Before you arrive: Prep Materials
- Slides: Intro to Programming & Python
- Register on Kattis
- Kattis: Hello World!
- Slides: Conditionals
- Kattis: Aaah!
- Slides:
while
Loops - Kattis: Stuck In A Time Loop
- Kattis: Oddities
- Slides: Lists and the
for
Loop - Teachers: Turn in your name tag at the end of the day. This is how you will get your lunch ticket for the next day.
Day Two: Data Structures and More
- Slides: Strings
- Kattis: Autori
- Kattis: FizzBuzz (Hint on receiving input from Kattis)
- Kattis: Bijele
- Kattis: Spavanac
- Kattis: Daylight Saving Time
- Slides: Sets
- Code example: Tasty Foods (set example)
- Kattis: I've Been Everywhere, Man
- Kattis: Modulo
- Slides: Functions
- End of Workshop Survey (only if you do not plan on attending Day 3)
- Teachers: Turn in your name tag at the end of the day. This is how you will get your lunch ticket for the next day.
Day Three: Build with Python
- Slides: Recursion
- Kattis: Riječi
- Slides: Dictionaries
- Code example: Phonebook (dictionary example)
- Slides: Working with Files
- Code example: Phonebook File I/O (dictionary example)
- Projects
- End of Workshop Survey
- Teachers: Turn in your name tag at the end of the day.
Bonus Materials
These materials are intended for you to pick and choose what you want to learn once you've made it through all of the materials covered in the workshop. I likely won't cover any of this directly in the workshop, but feel free to ask questions about anything here.
- Pythonic Style -- Want to learn how to make your code more readable by others?
- Functional Programming -- Liked recursion? You'll be a fan of FP.
- Object Oriented Programming -- Define your own data types in Python.
- Generators and List Comprehensions -- Build lists in a loop in one line, and make your own iterable functions.
- Decorator Functions -- Make functions that modify other functions. It is reccomended that you complete the Functional Programming slides first.
- Web Programming with Bottle -- Make dynamic web applications using Python.
- Curses Programming (code example) -- Use
the
curses
library to control the terminal.