PIC 16A Python with Applications I
You can download the course information here.
Spring 2020 Tentative Course Schedule
Week 1
- 03/30 Lecture 1: Course Overview
– Follow instructions in GettingStarted.pdf on CCLE
– Reading material: Python tutorial 1 and 2.1.2 - 04/01 Lecture 2: Python Basics - Basic Data Types, Commenting, list
– Reading material: Python tutorial 3.1.1, 3.1.2, 3.1.3, 5.1 - 04/03 Lecture 3: Python Basics - Modules, Functions
– Reading material: Python tutorial 4.1 - 4.6
Week 2
- 04/06 Lecture 4: Python Basics - More on functions
– Reading material: Python tutorial 4.7 - 04/08 Lecture 5: Python Basics - Dictionaries, Tuples, Sets, Functional Programming
– Reading material: Python tutorial 5.2 - 5.5 - 04/10 Lecture 6: Python Basics - Exception Handling
– Reading material: Python tutorial 6.1, 8.1 - 8.4
** Homework 1 due Wednesday by 5pm
** Quiz 1 on Wednesday
Week 3
-
04/13 Lecture 7: Python Basics - Classes and Objects
– Reading material: tutorialspoint -
04/15 Lecture 8: Python Basics - Iterators and Generators
– Reading material: Python tutorial 9.8 - 9.10 -
04/17 Lecture 9: Python Basics - More built-in functions, Executing Modules as Scripts
– Python tutorial 5.6
– Executing Modules as Scripts
– Built-in Functions
** Homework 2 due Wednesday by 5pm
** Quiz 2 on Wednesday
Week 4
-
04/20 Lecture 10: Inheritance
– Class Inheritance and Overloading Methods -
04/22 Lecture 11: Input/Output (Console, text files, CSV)
– Reading and writing files
– CSV module -
04/24 Lecture 12: Regular Expressions I - Basics, Groups, and Quantifiers
– Reading material: tutorial
– Cheat sheet
– To test your regular expressions: pythex
** Homework 3 due Wednesday by 5pm
** Quiz 3 on Wednesday
Week 5
- 04/27 Lecture 13: Regular Expressions II
-
04/29 Lecture 14: Catch up + Haiku
- 05/01 Midterm exam
Week 6
-
05/04 Lecture 15: Visualization: Matplotlib and pyplot
– Recursion
– Matplotlib tutorial -
05/06 Lecture 16: NumPy
– Numpy tutorial – Matplotlib tutorial -
05/08 Lecture 17: More on plotting
– Numpy tutorial
** Homework 4 due Wednesday by 5pm
** Quiz 4 on Wednesday
Week 7
-
05/11 Lecture 18: Grey-scale images and adding noise to an image
– Matplotlib image tutorial -
05/13 Lecture 19: Uniform Blur, Gaussian Blur, Edge Detection
– Blurring for Beginners -
05/15 Lecture 20: GUI Tkinter I: Drawing Lines and Shapes
– An Introduction To Tkinter
** Homework 5 due Wednesday by 5pm
** Quiz 5 on Wednesday
Week 8
- 05/18 Lecture 21: GUI TkInter II - Widgets, Events and Bindings
- 05/20 Lecture 22: Pandas
– Pandas Tutorial
– Pandas Basics Cheat Sheet (on CCLE) - 05/22 Lecture 23: Pandas II
– Pandas Tutorial
** Homework 6 due Wednesday by 5pm
** Quiz 6 on Wednesday
Week 9
-
05/25 Memorial Day holiday: No class
-
05/27 Lecture 24: NLTK (Natural Language Toolkit) - Concordance, Contexts, Dispersion
– NLTK book -
05/29 Lecture 25: Machine Learning I: SVM
– Machine learning: the problem setting
– Scikit-learn: Support Vector Machines (SVMs)
** Quiz 7 on Wednesday
Week 10
-
06/01 Lecture 26: Machine Learning II: NMF
– Scikit-learn: Non-negative Matrix Factorization -
06/03 Lecture 27: Machine learning interpretability
- 06/05 Lecture 28: Final Review
** Homework 7 due Monday by 5pm