CIS 545: Big Data Analytics (Spring 2018) 



Time & location 
Wu and Chen Auditorium Section 1: Mondays + Wednesdays 10:30pm  12:00pm. Section 2: Mondays + Wednesdays 12:00pm  1:30pm. 

Instructors 
Zachary Ives Location: 305 Levine Hall Office hour: Wed 2:303:30pm 
Lyle Ungar Location: 504 Levine Hall Office hour: Mon 3:004:00pm 

Teaching assistants 
Mayank Darbari, Fri 24pm (location TBA) Ari Charnoff, charnoff, Thurs 35pm (Towne 211) Qi Fang, fangqi1, Tues / Thurs 12pm (Towne 213) Qifan Huang, hangqf, Wed 57pm (Towne 315) Aditi Jayashankar, aditija, Tues 57pm (DRL 2C4) Hari Parmeswaran, harip, Mon 57pm (Levine 5th floor bump space) Sumit Shyamsukha, ssumit, Tues 10am12pm (Levine 6th floor bump space) Ziyi Yan, ziyiyan, Thurs 10am12pm (Towne 211) Yi Zhang, yizhang5 TA office hours are expected to be held in the Levine building, but we will confirm as soon as SEAS finalizes this. 

Course description 
In the new era of big data, we are increasingly faced with the challenges of processing vast volumes of data. Given the limits of individual machines (compute power, memory, bandwidth), increasingly the solution is to process the data in parallel on many machines. This course focuses on the fundamentals of scaling computation to handle common data analytics tasks. You will learn about basic tasks in collecting, wrangling, and structuring data; programming models for performing certain kinds of computation in a scalable way across many compute nodes; common approaches to converting algorithms to such programming models; standard toolkits for data analysis consisting of a wide variety of primitives; and popular distributed frameworks for analytics tasks such as filtering, graph analysis, clustering, and classification. 

Format  The format will be two 1.5hour lectures per week, plus assigned readings from books and handouts. There will be regular homework assignments and a substantial implementation project with a hypothesis, evaluation, and a report. There will also be an inclass midterm and a final exam.  
Prerequisites  This course expects broad familiarity with probability and statistics, as well as programming in Python. CIS 110, MCIT 590, or the equivalent is required. Additional background in statistics, data analysis (e.g., in Matlab or R), and machine learning (e.g., CIS 519) is helpful.  
Texts and readings 
We recommend several books for students of different skill levels. The tentative list is: For students who do not have at least 2 years of a CS degree: You should get the book Data Science from Scratch, by Grus, from O'Reilly. This book provides a quick refresher in Python, probability, statistics, and linear algebra. An online version can be accessed from O'Reilly's Safari service. For all students: Python for Data Analysis, by McKinney, from O'Reilly. For advanced students: Python Machine Learning, by Raschka, from Packt. 

Grading  Homework and projects 55%, midterm 15%, final 25%, participation 5%.  
Important sites 
We will be using Piazza for courserelated discussions; please sign up. Likewise, please register your SEAS or Google account with the homework submission site. 

Lecture Recodings  CIS545001 and CIS545002 but you will learn more if you actually attend class!  
Assignments  The homework assignments will be available here.  
Project option 
You may elect to take a homework option involving the completion of 6 homeworks, or a project option involving the completion of 3 advanced homeworks plus a term project. For this project, you will be expected to work in small teams and choose a data analysis task with a suitably large dataset, and to define and execute a series of clustering and modeling tasks over it. You can find interesting data sets at:


Schedule  
Previous iterations  Spring 2017 