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. Lecture days: M/W/F Lecture times/locations: Section I: 11:30-12:20, WALC 1018 | Section II: 1:30-2:20, EE 170 | Section III: 1:30-2:20, WTHR 320 Virtual lab hours: M-F 9-11am, 1-2pm, 5-8pm Limited in-person lab hours: T/Th/F 5-8pm, EE 207/206 Communication: This course will rely heavily on Piazza for official announcements, student questions, and answers to questions.

Lecture Materials Week 1 (8/23-8/29) 8/23: Course introduction. 8/25: Python basics. See slides and notebook (PDF version). 8/27: Version control and more Python basics. See (updated) slides posted 8/25, and the associated notebook/PDF. Week 2 (8/30-9/5) 8/30: Functions and data structures. See slides posted 8/25, and the associated notebook/PDF. Also see the notebook on data structures (PDF version). 9/1: Histograms. 9/3: Histograms continued. Also starting probability and random variables. Week 3 (9/6-9/12) 9/6: Labor day. No class. 9/8: Probability and random variables (continued). See (slightly updated) slides from 9/3. 9/10: Probability and random variables (continued). See (slightly updated) slides from 9/3. Week 4 (9/13-9/19) 9/13: Higher order functions. See notebook (PDF form, inp.txt), and slides. 9/15: List comprehensions. See slides from 9/13, and notebook (PDF form). 9/17: Sampling and estimation. See slides and example notebook (PDF form). Week 5 (9/20-9/26) 9/20: Sampling and estimation continued. See slides and notebook from 9/17. 9/22: Hypothesis testing. See slides and example notebook (PDF form). 9/24: Hypothesis testing (continued). See materials from 9/22. Week 6 (9/27-10/3) 9/27: Review for Exam 1. 9/29: Exam 1. 10/1: Confidence intervals and more hypothesis testing. See materials from 9/22. Week 7 (10/4-10/10) 10/4: Regular expressions. See slides and notebook (PDF form). 10/6: Regular expressions (continued). See materials from 10/4. 10/8: Regular expressions (continued) and file I/O. See materials from 10/4 and slides on file I/O. Week 8 (10/11-10/17) 10/11: Fall break. No class. 10/13: Started regression. See slides. 10/15: Continued regression, linear algebra review. See slides from 10/13, and notebook on numpy (PDF version). Week 9 (10/18-10/24) 10/18: Regression continued: numpy tutorial and least squares equations. See materials from Week 8. 10/20: Regression continued: Solving the least squares equations, and normalization. See slides from 10/13, and notebook on sklearn (PDF version). 10/22: Regression continued: Polynomial regression, regularization, and cross validation. See slides from 10/13, and sklearn notebook from 10/20. Week 10 (10/25-10/31) 10/25: Regression continued: Regularization and cross validation. See slides from 10/13, and sklearn notebook from 10/20. 10/27: Finished regression, started n-grams and natural language processing. See slides on NLP and notebook on nltk (PDF version and universal_decl_of_human_rights.txt file). 10/29: NLP continued. See materials from 10/27. Week 11 (11/1-11/7) 11/1: Finished NLP, started objects and classes. See slides and associated notebook (PDF version). 11/3: Finished objects. See materials from 11/1. 11/5: Clustering and kMeans. See slides on clustering and notebook on kMeans (PDF version). Week 12 (11/8-11/14) 11/8: Review for Exam 2. 11/10: Finished kMeans. See slides and notebook from 11/5. Exam 2. 11/12: Started GMMs. See (updated) slides from 11/5, and notebook on GMMs (PDF version). Week 13 (11/15-11/21) 11/15: Finished GMMs. 11/17: Inheritance. See slides and notebook (PDF version). 11/19: Classification and Naive Bayes. See slides and notebook (PDF version). Week 14 (11/22-11/28): No class (Makeup for Exam #2 and Thanksgiving Break). Week 15 (11/29-12/5) 11/29: Naive Bayes continued. See material from 11/19. 12/1: kNN and Classification Metrics. See slides. 12/3: Logistic regression. See slides, and gradient descent example notebook (PDF version). Week 16 (12/6-12/12) 12/6: Introduction to deep learning. See slides. 12/8: Gradient descent for model training. See materials from 12/3 and 12/6. 12/10: Conclusion and review for Exam #3. See slides. Supplementary material on CNN: slides and notebook (PDF version).

Quick Links Piazza ECE Data Science Github Scholar Computing Syllabus Lab Hours and Office Hours: See Piazza Instructions on using Discord

Instructors Chris Brinton cgb 'at' purdue 'dot' edu MSEE 342 Qiang Qiu qqiu 'at' purdue 'dot' edu MSEE 358 Mahsa Ghasemi mahsa 'at' purdue 'dot' edu MSEE 238 Graduate TAs Somosmita Mitra Laura M Cruz Nadir Mohamedraf Alawadi Jhanvi Saraswat Undergraduate TAs Joseph Bushagour Julia Taylor Minjun Zhang Jude Adham Harsh Ajwani Sabrina Chang Jhen-Ruei Chen Noah Criswell Vaishakh Deshpande Hsuan-Chen Fang Yiming Fu Alex Gieson Ishaan Jain Ruibin Jiang Robert Ketler Esther Lee Shuihan Liu Wang-Ning Lo Maximilian Manzhosov Jan-Adriel Nacpil Kahaan Patel Kartik Pattaswamy Ayush Praharaj Abhirakshak Raja Runjia Shen Siddharth Srinivasan Avik Wadhwa Runlin Wang Henry Lee Wong Bo-Yang Wu Tim Zhou