Lecture Materials

Introduction and Course Overview
notes, syllabus

Unit 1: Databases
Fundamentals
The Relational Model
The SQL Query Language
         sqlite3 documentation
         other SQLite documentation
         practice-problem solutions
Database Design and the Entity-Relationship Model
         extra-practice problems (solutions)

Unit 2: Programming in Python
Programming Basics
         Python resources: download page, documentation, IDLE documentation
         example program: changeAdder.py
Working with Numbers
         example programs: changeAdder2.py, gradeCalculator.py
Making Decisions
         example programs: squareRootCalculator.py, numberAnalyzer.py, ticketSales1.py, ticketSales2.py
Strings and Lists
Accessing a Database
         example programs: getMoviesByYear.py, getMoviesByYearSafe.py,
         getMoviesByDirector.py, getMoviesByDirector2.py, getPerson.py, getPersonExtended.py
Working with Files
         example programs: getMoviesByYearFile.py, getMoviesByYearFile2.py, processFile.py, extractRecords.py, discretizeYears.py (sample input file)

Unit 3: Information Design and Data Visualization (guest lectures by Prof. Wayne Synder)
notes (use the solutions password)
Hans Rosling's TED talk
Gapminder World, which allows you to explore the interactive graphics from Rosling's talk
The Visual Display of Quantitative Information by Edward Tufte (Graphics Press, 2000)

Unit 4: Data Mining
Introduction
Classification Learning
         datasets: credit-card promotions, medical diagnosis (with Temp instead of Fever)
         Weka resources: software download (use version 3.4 -- the book version), documentation
Numeric Estimation
Preparing the Data
Association Learning
Predicting Patient Outcomes