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)



Assignments



Exams

  • Exam 1 (solutions): Tuesday, February 18, 8pm, STEW 183
  • Exam 2: Thursday, April 9, 8pm ET, online
  • Exam 3: Tuesday, May 5, 3:30pm ET, online



Practice Exams

  • Fall 2019 Exam 1 (Solutions): For Spring 2020 Exam 1, problems 2-5.1 are fair game.
  • Fall 2019 Exam 2: For Spring 2020 Exam 2, all problems are fair game. Problems 1 and 5.2 from Fall 2019 Exam 1 are also fair game.


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