ECE 20875: Python for Data Science

Fall 2020 Flipped Classroom


Quick Links


Course Information

This course introduces Python programming to students through data science problems. Students learn Python concepts as well as introductory data science topics, and use their knowledge of Python to implement data analyses. More detailed information can be found in the course syllabus. Due to the complications surrounding COVID-19, this semester is being offered in a flipped classroom format.
  • Lecture times: 7:00-8:15pm MW
  • Recitation times: 10:30-11:45am TR (Section I), 11:30am-12:20pm MWF (Section II)
  • Office hours: 1:00-2:00pm, 5:00-8:00pm M-F
  • Communication: This course will rely heavily on Piazza for official announcements, student questions, and answers to questions.



Lecture Materials

  • Week 1 (8/24-8/30)
  • Week 2 (8/31-9/6)
    • 8/31: Functions and data structures. See slides posted 8/26, and the associated notebook/PDF. Also see the notebook on data structures (PDF version).
    • 9/2: Histograms.
  • Week 3 (9/7-9/13)
  • Week 4 (9/14-9/20)
    • 9/14: Higher order functions. See notebook (PDF form), and slides.
    • 9/16: List comprehensions. See slides from 9/14, and notebook (PDF form).
  • Week 5 (9/21-9/27)
    • 9/21: Sampling and estimation. See slides and example notebook (PDF form).
    • 9/23: Central limit theorem and hypothesis testing. See slides and notebook from 9/21, and slides on hypothesis testing.
  • Week 6 (9/28-10/4)
    • 9/28: Hypothesis testing (continued) and review for Exam 1.
    • 9/30: Exam #1.
  • Week 7 (10/5-10/11)
    • 10/5: Confidence intervals and t-distribution. See slides from 9/23, and notebook on confidence intervals (PDF version). See also extra example on statistics in Python (PDF version)
    • 10/7: Regular expressions. See slides and notebook (PDF form).
  • Week 8 (10/12-10/18)
  • Week 9 (10/19-10/25)
    • 10/19: Continued regression, linear algebra review. See slides from 10/14, and notebook on numpy (PDF version).
    • 10/21: Regression continued: Least squares equations and evaluation metrics. See slides from 10/14, and notebook on sklearn (PDF version).
  • Week 10 (10/26-11/1)
    • 10/26: Regression continued: Polynomial regression, regularization, and cross validation. See slides from 10/14, and sklearn notebook from 10/21.
    • 10/28: n-grams and natural language processing. See slides, and notebook on nltk (PDF version and universal_decl_of_human_rights.txt file).
  • Week 11 (11/2-11/8)
    • 11/2: Finished NLP, started objects and classes. See slides and associated notebook (PDF version).
    • 11/4: Finished objects and classes, review for Exam #2.
  • Week 12 (11/9-11/15)
    • 11/9: Exam #2.
    • 11/11: Clustering: kMeans and intro to GMMs. See slides on clustering and notebook on kMeans (PDF version).
  • Week 13 (11/16-11/22)
    • 11/16: GMMs and expectation maximization. See slides from 11/11 and notebook on GMMs (PDF version).
    • 11/18: Inheritance. See slides and notebook (PDF version).
    • 11/20: Iterators and generators. See notebook (PDF version).
  • Week 14 (11/23-11/29)
    • 11/23: Classification and Naive Bayes. See slides and notebook (PDF version).
    • 11/25: kNN and classification metrics. See slides.
    • 11/27: Logistic regression. See slides, and gradient descent example notebook (PDF version).



Assignments



Mini-project

Instructions here. Due 12/4.



Exams

  • Exam 1: Wednesday, September 30, online (solutions)
  • Exam 2: Monday, November 9, online (solutions)



Practice Exams


Instructors

Chris Brinton
cgb 'at' purdue 'dot' edu
MSEE 342

Qiang Qiu
qqiu 'at' purdue 'dot' edu
MSEE 358


Graduate TAs

Somosmita Mitra
Jiaqi Guo
Serena Nicoll


Undergraduate TAs

Julia Taylor
Harsh Ajwani
Joseph Bushagour
Jhen Ruei Chen
Kevin Chen
Lohith Roy Chittineni
Ethan Glasser
Shan Huang
Rufat Imanov
Kevin Kwon
Sneha Mahapatra
Marvin H Mui
Adam Popper
Aagam Shah
Runjia Shen
Vikram Srivastava
Aathavan Thevasenapathy
Erik Wilson
Kyle Wolf
Minjun Zhang