Room: Hinds 111
Time: M/W 2:15p - 3:35p
Instructor: Michael Fudge
Email: mafudge@syr.edu
Office Hours: M/W 11a-1p in 314 hinds
Approaches for building pipelines in data analytics using the Python programming language; data cleaning, extraction, wrangling, API’s, web scraping. Building data products. Programming experience required.
This course is a tour of programming techniques for building data pipelines for analytics. It will not just emphasize exploratory approaches, but also techniques to build extract transform load pipelines to run code in production. Throughout the course we will learn how to source data from a variety of sources (files, data streams, APIs, web scraping, etc.) and ultimately transform data as to prepare it for dashboards or machine learning. You will also learn some simple data visualization but that is not the primary emphasis of the course.
This courses uses the Python programming language. Proficiency n any programming language is the only pre-requisite. Students should have a clear understanding of these concepts:
This course is intended as a follow up course to IST256. It is also appropriate for students with prior experience with programming who have an interest in data analytics.
3 credits
None
Upon completion of this course, students will be able to:
There is no textbook you need to purchase for this course. All required readings are available freely online, and in many cases, the online sources are the most up-to-date references to the relevant course material. See reading list section for additional details.
You are expected to bring your computer to each class session. This class is very hands-on, and you will be programming in class often.
This course requires you to install software on your computer. The intro section of this course provides detailed instructions.
You are expected to attend and participate in every class session. If you must miss class, you are responsible for making up the work and catching up on what you missed. Do expect a pre-recorded lecture or instructor support if you miss class. A suggestion is to partner with a classmate to share notes from class.
The assignments are programming / problem solving activities that you will complete outside of class. The assignment due dates are posted on the course schedule. Consider these assignments formative assessments - practice so you can get better at computational thinking, problem solving and writing code. It is important to reflect upon your work and take an honest assessment of your abilities as you complete each assignment.
Each Monday we will review the homework assignment. Students will be asked to contribute to the discussion.
Factors affecting your grade:
Exams are summative assessments. They are designed to test your knowledge of the material. The exams will be issued in class on the dates posted on the course schedule. Exams are closed-book but you may bring one 8.5x11 sheet of paper with your notes on it. Exams length is 60 minutes. They will be a mix of mix of multiple choice, short answer and code tracing and code writing.
The project is your opportunity to demonstrate what you have learned in an experiential fashion. In your final project you will be expected to create a data pipeline of your choosing.
Assessment | Type | Learning Outcomes | Quantity | Points Each | Points Total |
---|---|---|---|---|---|
Assignments | Formative | 1, 2 | 10 | 3 | 30 |
Exams | Summative | 3, 4 | 2 | 25 | 50 |
Project | Summative | 5 | 1 | 20 | 20 |
Total | 100 |
The following grading scale translates your total points earned into a letter grade to be submitted to the University registrar.
Student Achievement | Total Points Earned | Registrar Grade | Grade Points |
---|---|---|---|
Mastery | 95 - 100 | A | 4.000 |
90 - 94 | A- | 3.666 | |
Satisfactory | 85 - 89 | B+ | 3.333 |
80 - 84 | B | 3.000 | |
75 - 79 | B- | 2.666 | |
Low Passing | 70 - 74 | C+ | 2.333 |
65 - 69 | C | 2.000 | |
60 - 64 | C- | 1.666 | |
Unsatisfactory | 50 - 60 | D | 1.000 |
0 - 49 | F | 0.000 |
Based on the assignments in this course and our specified learning outcomes, the full use of artificial intelligence as a tool, with disclosure and citation, is permitted in this course. Students do not need to ask permission to use these tools before starting an assignment or exam, but they must explicitly and fully indicate which tools were used and describe how they were used.
Week | Monday Class | Wednesday Class | Friday Assignment Due |
---|---|---|---|
1 | 8/26 | 8/28 | 8/30 |
Course Introduction | Python 1-1 | ||
2 | 9/2 | 9/4 | 9/6 |
No Class: Labor Day | Python 1-2 | Assignment 1 (A1) | |
3 | 9/9 | 9/11 | 9/13 |
Python 1-3 | Python 1-4 | Assignment 2 (A2) | |
4 | 9/16 | 9/18 | 9/20 |
UI 2.1 | UI 2.2 | Assignment 3 (A3) | |
5 | 9/23 | 9/37 | 9/27 |
Data Wrangling 3-1 | Data Wrangling 3-2 | Assignment 4 (A4) | |
6 | 9/30 | 10/2 | 10/4 |
Data Wrangling 3-3 | Data Wrangling 3-4 | Assignment 5 (A5) | |
7 | 10/7 | 10/9 | 10/11 |
Data Wrangling 3-5 | Data Wrangling 3-6 | Assignment 6 (A6) | |
8 | 10/14 | 10/16 | 10/18 |
No Class: Fall Break | Exam 1 (E1) | ||
9 | 10/21 | 10/23 | 10/25 |
Web APIs 4-1 | Web APIs 4-2 | Assignment 7 (A7) | |
10 | 10/28 | 10/30 | 11/1 |
Web APIs 4-3 | Web APIs 4-4 | Assignment 8 (A8) | |
11 | 11/4 | 11/6 | 11/8 |
Web Scraping 5-1 | Web Scraping 5-2 | Assignment 9 (A9) | |
12 | 11/11 | 11/13 | 11/15 |
Web Scraping 5-3 | Web Scraping 5-4 | Assignment 10 (A10) | |
13 | 11/18 | 11/20 | 11/22 |
Data Visualization 6-1 | Data Visualization 6-2 | Assignment 11 (A11) | |
14 | 11/25 | 11/27 | 11/29 |
No Class: Thanksgiving | No Class: Thanksgiving | ||
15 | 12/2 | 12/4 | 12/6 |
Data Visualization 6-3 | Data Visualization 6-4 | Assignment 12 (A12) | |
16 | 12/9 | 12/11 | 12/13 |
Exam 2 (E2) | No Class | No Class | |
17 | 12/16 | 12/18 | 12/20 |
Project Due (P) | Semester Over | Semester Over |