PIC 16 Python with Applications

You can download the course information here.

Student projects from past courses:
- Winter 2018
- Spring 2018
- Fall 2018
- Winter 2019

Spring 2019 Tentative Course Schedule

Week 1

  • 04/01 Lecture 1: Course Overview
    – Follow instruction in GettingStarted.pdf on CCLE
    – Reading material: Python tutorial 1 and 2.1.2
  • 04/03 Lecture 2: Python Basics - Basic Data Types, commenting, list, dictionary, functions, modules
    – Reading material: Python tutorial 3.1.1, 3.1.2, 3.1.4, 5.1, 5.5
  • 04/05 Lecture 3: Python Basics - Control Flow, Functions
    – Reading material: Python tutorial 4.1 - 4.7

Week 2

  • 04/08 Lecture 4: Python Basics - Data Structures
    – Reading material: Python tutorial 5.2 - 5.5
  • 04/10 Lecture 5: Python Basics - Functional Programming
    – Reading material: Python tutorial 6.1, 8.1 - 8.4, 5.7
  • 04/12 Lecture 6: Python Basics - Classes and Objects, Magic Methods I
    – Reading material: tutorialspoint

** Homework 1 due Friday by 5pm

Week 3

  • 04/15 Lecture 7: Classes and Objects, Magic Methods ctd
  • 04/17 Lecture 8: Regular Expressions I
    – Reading material: tutorial
    Cheat sheet
    – To test your regular expressions: pythex
  • 04/19 Lecture 9: Regular Expressions II

** Homework 2 due Friday by 5pm

Week 4

  • 04/22 Lecture 10: Visualization I: Turtle, Matplotlib and pyplot
    Recursion
    Matplotlib tutorial
  • 04/24 Lecture 11: Visualization II: Numpy
    Numpy tutorial
  • 04/26 Lecture 12: Visualization III: Pandas, Matplotlib and Numpy
    Pandas Tutorial
    – Pandas Basics Cheat Sheet (on CCLE)

** Homework 3 due Friday by 5pm

Week 5

  • 04/29 Lecture 13: Page-Rank algorithm
    – https://networkx.github.io/documentation/stable/tutorial.html#creating-a-graph
    – Read from “Creating a graph” to “Directed graphs”
    – https://en.wikipedia.org/wiki/PageRank
    – (Optional)https://www.geeksforgeeks.org/page-rank-algorithm-implementation

  • 05/01 Lecture 14: GUI I: Tkinter
    An Introduction To Tkinter

  • 05/03 Lecture 15: GUI II: Tkinter bouncing ball example

** Homework 4 due Friday by 5pm

Week 6

** Homework 5 due Friday by 5pm

Week 7

  • 05/13 Lecture 19: Image Processing II: masks and image blurring
    Blurring for Beginners

  • 05/15 Lecture 20: Image Processing III: image blurring (ctd) and edge detection

  • 05/17 Lecture 21: Symbolic Math I
    Sympy Tutorial

Week 8

  • 05/24 Lecture 24: Scrapy II

** Homework 6 due Monday by 5pm

Week 9

** Homework 7 due Tuesday by 5pm

Week 10

** Homework 8 due Friday by 5pm

Final exam: 2019.06.10, 3 PM - 6 PM, in PIC lab