CS 2803-DMCS Spring 2018

Weekly Schedule

Lectures: Mondays and Wednesdays from 16:30 - 17:45

Recitations: Thursdays from 18:00 - 19:15 in Molecular Science & Engr 1224

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 Review

Week 1

2018-01-08 "Ice Storm" - No Class
2018-01-10 Intro to Python ITCS - Introduction
TP 1
Video: Intro to Python
HW0 Released 2018-01-10
Registration Deadline (2018-01-12)

Week 2

2018-01-15 MLK Day - No Class
2018-01-17 Snow Day - No Class HW0 Due 2018-01-18

Week 3

2018-01-22 Values and Variables
Functions
Modules and Programs
ITCS - Simple Data
TP 2
Video: Values and Variables
ITCS - Functions
ITCS - Turtles
TP 3
ITCS - Modules
TP 1,14
hanglib
Exercise: BMI Module
Exercise: Hangman
HW1 Released 2018-01-22
2018-01-24 Functions
Modules and Programs
Data Structures
ITCS - Functions
ITCS - Turtles
TP 3
ITCS - Modules
TP 1,14
hanglib
Exercise: BMI Module
Exercise: Hangman
ITCS - Lists
ITCS - Dictionaries
TP 10,11,12
Video: Data Structures
Exercise: Data Utilities
Verification of Participation (Faculty) (2018-01-26)

Week 4

2018-01-29 iPython
Control Structures

ITCS - Selection
ITCS - Iteration
TP 5, 7
Exercise: Grades Module
2018-01-31 Functional programming TP 19
HW1 Due 2018-02-01

Week 5

2018-02-05 Functional programming TP 19
2018-02-07 Exam 1 cs2316-exam1-practice.pdf
cs2316-exam1-practice-answers.pdf
HW2 Released 2018-02-14

Data Formats, Retrieval, Storage, and Delivery

Week 6

2018-02-12 Classes and Objects ITCS - Classes and Objects
OOP Code
TP 15 - 18
Exercise: Treating People as Objects
2018-02-14 File IO
CSV Files
IP 8
Exercise: Tree
IP 8
Exercise: Student Emails (Sample Answer)
Exercise: Tides
Exercise: Calculate Grades
HW2 Due 2018-02-14

Week 7

2018-02-19 Data Exchange Formats IP 8
XML Details
Python XML and Database APIs
JSON Spec
people.xml
Exercise: Books
Progress Reports Due (Faculty) (2018-02-19)
2018-02-21 HTML
Regular Expressions
IP 8

IP 7
Python RE Module
Python Regex HowTo

Week 8

2018-02-26 Web Scraping
Web Services
Beautiful Soup
wx.py
movie.py
Exercise: Company Scraper
IP 8
Requests
OAuth
JSON Spec
2018-02-28 Web Scraping
Web Services
Beautiful Soup
wx.py
movie.py
Exercise: Company Scraper
IP 8
Requests
OAuth
JSON Spec

Week 9

2018-03-05 Relational Databases
SQL DDL
SQL CRUD

MySQL Guide
Exercise: Registration Database
Exercise: Pubs Queries
MySQL Guide - on databases course web site
Exercise: Registration Database
Exercise: Pubs Queries
2018-03-07 SQL Queries
Python Database API
MySQL Guide - on databases course web site
Exercise: Registration Database
Exercise: Exercise: Dorms Queries
Python XML and Database APIs
Python DB-API
Python SQLite API
PyMySQL

Week 10

2018-03-12 SQL Queries
Python Database API
MySQL Guide - on databases course web site
Exercise: Registration Database
Exercise: Exercise: Dorms Queries
Python XML and Database APIs
Python DB-API
Python SQLite API
PyMySQL
HW3 Released 2018-03-12
2018-03-14 Flask IP 9
Flask Web site
Gradeboook App
Grade Mode Deadline (2018-03-14)
Grade Substitution Deadline (2018-03-14)
Withdrawal Deadline (2018-03-14)

Week 11

2018-03-19 Spring Break - No Class
2018-03-21 Spring Break - No Class

Data Analytics, Machine Learning, and Big Data

Week 12

2018-03-26 Data Analytics in Python
NumPy
SciPy.org
Numpy Manual
2018-03-28 Pandas Pandas.PyData.org
HW3 Due 2018-03-29

Week 13

2018-04-02 Pandas Pandas.PyData.org
2018-04-04 Pandas Pandas.PyData.org

Week 14

2018-04-09 Data Visualization with Python
Natural Language Processing
Matplotlib.org
NLTK
2018-04-11 Scikit-learn Scikit-learn.org
HW4 Released 2018-04-11

Week 15

2018-04-16 tensorflow
2018-04-18 Hadoop
HW4 Due 2018-04-20

Week 16

2018-04-23 Spark
Final Instructional Days (2018-04-23)

Final Exams

2018-04-27 14:50 - 17:40
(Possibly a Final Project)