ECE 20875: Python for Data Science

Spring 2020


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 (and prior programming experience) to implement data analyses. More detailed information can be found in the course syllabus.
  • Lecture times: 12:30-1:20 MWF
  • Lecture locations: WALC 1055 (Section I), FRNY G124 (Section II)
  • Lab hours: 10:30-11:30, 5:30-8:30 M-F in EE 207
  • Communication: This course will rely heavily on Piazza for official announcements, student questions, and answers to questions.



Lecture Materials

  • Week 1 (1/13-1/19)
  • Week 2 (1/20-1/26)
    • 1/20: No class (MLK day).
    • 1/22: Loops and functions. See (updated) slides posted 1/15, and the associated notebook/PDF.
    • 1/24: Data structures. See (updated) slides posted 1/15, and a Notebook walking through Python basics (PDF form)
  • Week 3 (1/27-2/2)
  • Week 4 (2/3-2/9)
    • 2/3: Probability and random variables (continued). See (updated) slides from 1/31.
    • 2/5: Higher order functions. See notebook (PDF form), and slides.
    • 2/7: Map/reduce/filter and list comprehensions. See notes/slides from 2/5, and additional list comprehension examples (PDF form).
  • Week 5 (2/10-2/16)
    • 2/10: Sampling and estimation. See slides and example notebook (PDF form).
    • 2/12: Sampling and estimation continued. See (updated) slides from 2/10.
    • 2/14: Hypothesis testing and confidence intervals. See slides.
  • Week 6 (2/17-2/23)
    • 2/17: Review for Exam 1.
    • 2/19: No class (making up for Exam 1).
    • 2/21: Confidence intervals. See (updated) slides from 2/14.
  • Week 7 (2/24-3/1)
    • 2/24: Regular expressions. See slides and notebook (PDF form).
    • 2/26: Regex and file I/O. See (updated) regex slides from 2/24, slides on file I/O, and (updated) notebook from 2/24.
    • 2/28: Bash. See lecture notes, and files used in class.
  • Week 8 (3/2-3/8)
    • 3/2: Finished bash, started regression. See slides for regression.
    • 3/4: Regression. See (updated) slides from 3/2.
    • 3/6: Continued regression, linear algebra review. See (updated) slides from 3/2, and notebook on numpy (PDF version).
  • Week 9 (3/9-3/15)
    • 3/9: Regression continued. See (updated) slides from 3/2, and notebook on sklearn (PDF version).
    • 3/11: Regression and evaluation metrics. See (updated) slides from 3/2, and sklearn notebook from 3/9.
    • 3/13: Polynomials and regularization. See (updated) slides from 3/2.
  • Spring Break: No Class (3/16-3/22)
  • Week 10 (3/23-3/29)
    • 3/23: Regression and cross validation. See (updated) slides from 3/2.
    • 3/25: n-grams and natural language processing. See slides.
    • 3/27: n-grams and NLP continued. See (updated) slides from 3/25, and notebook on nltk (PDF version and english.txt file).
  • Week 11 (3/30-4/5)
    • 3/30: Objects and classes. See slides and associated notebook (PDF version).
    • 4/1: Clustering: kMeans. See slides on clustering and notebook on kMeans (PDF version).
    • 4/3: Clustering: kMeans and GMMs. See (updated) slides on clustering and notebook on kMeans from 4/1.
  • Week 12 (4/6-4/12)
    • 4/6: GMMs and expectation maximization. See (updated) slides from 4/1 and notebook on GMMs (PDF version).
    • 4/8: Finishing GMMs and review for Exam 2.
    • 4/10: No class (making up for Exam 2).
  • Week 13 (4/13-4/19)
  • Week 14 (4/20-4/26)
    • 4/20: Naive Bayes continued. See (updated) slides from 4/17, and example notebook (PDF version).
    • 4/22: kNN and classification metrics. See slides.
    • 4/24: Logistic regression. See slides, and gradient descent example notebook (PDF version).
  • Week 15 (4/27-5/03)
    • 4/27: Introduction to neural networks. See slides.
    • 4/29: Neural networks continued. See (updated) slides from 4/27.
    • 5/1: Conclusion and review for Exam 3. See slides.


Instructors

Chris Brinton
cgb 'at' purdue 'dot' edu
MSEE 342
Office hours:
  • Tuesday 10:00-11:00
  • Wednesday 1:30-2:30

  • David Inouye
    dinouye 'at' purdue 'dot' edu
    EE 332
    Office hours:
  • Monday 1:30-2:30
  • Thursday 4:00-5:00


  • Graduate TAs

    Somosmita Mitra
    Brandon Kozel
    Rajeev Sahay


    Undergraduate TAs

    Tyler Baumgartner
    Colin Harrison
    Aidan Abbott
    Sabriya Alam
    Jason Chen
    Isha Ghodgaonkar
    Chieh-En Li
    Jerome Schweitzer
    Julia Taylor
    Chien-Hung Wang