CS 2803-DMCS Spring 2019

Weekly Schedule

Lectures: Mondays and Wednesdays from 16:30 - 17:45 in CoC 102

Recitations: Thursdays from 18:00 - 19:15 in CoC 102

Lecture Schedule

Topics link to slides, where available.

ITCS means Interactive Think CS Textbook

IP means Introducting Python

TP means Think Python, 2nd Edition, by Allen B. Downey, O'Reilly Media, December 2015. Available free at http://greenteapress.com/wp/think-python-2e/ and from O'Reilly at http://shop.oreilly.com/product/0636920045267.do

Date Topics Reading and Resources Reminders

Python

Week 1

2019-01-07 Intro to Python
Values and Variables
TP 1
Video: Intro to Python
ITCS - Simple Data
TP 2
Video: Values and Variables
Drill - Values and Variables
HW0 Released 2019-01-07
2019-01-09 Functions CS1 Python Functions
TP 3

Week 2

2019-01-14 Data Structures
Modules and Programs
iPython
ITCS - Lists
ITCS - Dictionaries
TP 10,11,12
Video: Data Structures
TP 1,14
Exercise: BMI Module
Exercise: Hangman

HW0 Due 2019-01-15
Payment Deadline (2019-01-14)
2019-01-16 Control Structures ITCS - Selection
ITCS - Iteration
TP 5, 7
Drill: Data Transformation
Exercise: Data Utilities
Exercise: Grades Module
HW1 Released 2019-01-18

Week 3

2019-01-21 MLK Day - No Class
2019-01-23 Functional programming TP 19

Week 4

2019-01-28 Functional programming TP 19
HW1 Due 2019-01-29
2019-01-30 Classes and Objects ITCS - Classes and Objects
OOP Code
TP 15 - 18
Exercise: Treating People as Objects

Week 5

2019-02-04 Review 1 dme-exam1-practice.pdf
cs2316-exam1-practice-answers.pdf
Exam 1 Practice Problems
HW2 Released 2019-02-04
2019-02-06 Exam 1 cs2316-exam1-practice.pdf
cs2316-exam1-practice-answers.pdf

Data Manipulation

Week 6

2019-02-11 File IO
CSV Files
IP 8
Exercise: Tree
IP 8
Exercise: Student Emails (Sample Answer)
Exercise: Tides
Exercise: Calculate Grades
HW2 Due 2019-02-12
2019-02-13 Data Exchange Formats IP 8
XML Details
Python XML and Database APIs
JSON Spec
people.xml
Exercise: Books

Week 7

2019-02-18 No Class Progress Report Deadline (Faculty Only) (2019-02-18)
2019-02-20 HTML
Regular Expressions
IP 8

IP 7
Python RE Module
Python Regex HowTo
HW3 Released 2019-02-20

Week 8

2019-02-25 Web Scraping
Web Services
Beautiful Soup
wx.py
movie.py
Exercise: Company Scraper
IP 8
Requests
OAuth
JSON Spec
2019-02-27 SQL DDL
SQL CRUD
MySQL Guide
Exercise: Registration Database
Exercise: Pubs Queries
MySQL Guide
Exercise: Registration Database
Exercise: Pubs Queries
HW3 Due 2019-02-28

Python Data Analytics

Week 9

2019-03-04 SQL Queries MySQL Guide - on databases course web site
Exercise: Registration Database
Exercise: Exercise: Dorms Queries
2019-03-06 Data Analytics in Python
NumPy
Example code
SciPy.org
Numpy Manual

Week 10

2019-03-11 Pandas
Data Visualization with Python
Pandas.PyData.org
Exercise: Health Data Analysis
Matplotlib.org
2019-03-13 Scikit-learn Scikit-learn.org
Take-home Exam 2 due
Withdrawal Deadline (2019-03-13)

Week 11

2019-03-18 Spring Break - No Class
2019-03-20 Spring Break - No Class

Essential Scala

Week 12

2019-03-25 Intro to Scala
Values and Variables
Scala Control Structures
PIS, Ch 2
Primary reading: PIS, Ch 2, 3, 5
Code: Basics
Primary reading: PIS, Ch 7
Code: Basics
2019-03-27 Scala Classes and Objects
Scala Function Basics
Primary reading: PIS, Ch 4, 6
Code: Basics
Primary reading: PIS, Ch 2.3, 8.1-8.4, 8.8, 8.9
Code: Basics

Week 13

2019-04-01 Object-oriented Programming in Scala
Scala Case Classes
PIS, Ch 10, 11
PIS, Ch 15
HW4 Released 2019-04-01
2019-04-03 Scala Collections PIS, Ch 16, 17, 24, 25

Big Data

Week 14

2019-04-08 Big Data
2019-04-10 Spark

Week 15

2019-04-15 Spark
2019-04-17 Exam 3

Week 16

2019-04-22 Review Final Instructional Days (2019-04-22)

Final Exams

2019-05-01 2:40 PM ‐ 5:30 PM Final Project