CSE 462 Template

pull/1/head
Oliver Kennedy 2015-12-09 12:34:26 -05:00
parent d81eededb7
commit ba9d181ab3
6 changed files with 167 additions and 0 deletions

View File

@ -0,0 +1 @@
Under Construction

View File

@ -0,0 +1 @@
Under Construction

View File

@ -0,0 +1 @@
Under Construction

View File

@ -0,0 +1 @@
Under Construction

View File

@ -0,0 +1,159 @@
---
title: CSE 462 - Spring 2016
classContent:
- date: Jan. 26
topic: Introduction and Outline
- date: Jan. 28
topic: Relational Algebra
- date: Feb. 2
topic: SQL & Translating SQL to Relational Algebra
- date: Feb. 4
topic: Evaluating Relational Algebra & Project 1 Overview
- date: Feb. 9
topic: Extending and Optimizing Relational Algebra
- date: Feb. 11
topic: Data Layout (Serialization, Paging, Columnar vs Row)
- date: Feb. 16
topic: Data Organization (Indexing, Sorting, Clustering, Hash vs Tree)
- date: Feb. 18
topic: Join Algorithms and Query Optimization
- date: Feb. 23
topic: Project 2 Review
- date: Feb. 25
topic: Midterm 1 Review
- date: Mar. 1
topic: __Midterm 1__
- date: Mar. 3
topic: Out-of-Core Algorithms
- date: Mar. 8
topic: Cost-Based-Optimization
- date: Mar. 10
topic: Data Modeling (E/R and Constraints)
- date: Mar. 15
topic: __Spring Break!__
- date: Mar. 17
topic: __Spring Break!__
- date: Mar. 22
topic: Transaction Basics (Definition, Correctness, Equivalence)
- date: Mar. 24
topic: Implementing Transactions-Locking
- date: Mar. 29
topic: Implementing Transactions-Optimistic Concurrency Control
- date: Mar. 31
topic: Project 3 Review
- date: Apr. 5
topic: ARIES (Write-Ahead Logging, Undo-Logging, Recovery)
- date: Apr. 7
topic: Midterm 2 Review
- date: Apr. 12
topic: Views (Definition, The View Selection Problem)
- date: Apr. 14
topic: Incremental View Maintenance
- date: Apr. 19
topic: Stream Queries (WINDOW, Push Operators, Incremental Indexing)
- date: Apr. 21
topic: Parallel Query Evaluation (Dryad, Storm, Hive, Semi-Join, Bloom-Join)
- date: Apr. 26
topic: Parallel Transactions (Basics)
- date: Apr. 28
topic: Data Warehousing / ETL
- date: Apr. 3
topic: Probabilistic Databases
- date: Apr. 5
topic: Final Review
---
# Spring 2016 - DRAFT
Data Management Systems (including Relational Databases, Non-Relational Databases, and NoSQL storage systems) form the basis of the Big Data Economy we now live in.  A data management system is responsible for storing data, enabling efficient access to that data, as well as mediating concurrent modifications.  This class approaches the challenges of designing a data management system from a standpoint that is both principled and practical.  The course revolves around a term-long programming assignment, in which you will build a system that answers SQL queries efficiently.  Course lectures will focus on the conceptual basis for this system, and will discuss how the techniques you learn generalize (e.g., to the use of NoSQL systems)
In this course, you will learn...
* ... how to efficiently store and retrieve data programatically.
* ... how to optimize big-data computations.
* ... how to use index structures to accelerate computations.
* ... how to safely and efficiently manipulate data concurrently.
* ... how to recover state after software and hardware failures.
* ... how to query and update distributed data consistently.
## Course Details
* __Class__: T/Th, 12:30-1:50 PM in <a href="http://www.buffalo.edu/buildings/building?id=nsc">NSC 222</a>
* __Class Forum__: Piazza
* __Textbook__: "Database Systems, The Complete Book" 2nd Edition by Garcia-Molina, Ullman and Widom.
* __Optional Readings__:
* "<a href="https://infosys.uni-saarland.de/datenbankenlernen/Patterns_In_Data_Management_Preview.pdf">Patterns in Data Management</a>" by Jens Dittrich
* "<a href="http://www.redbook.io/">Red Book Readings in Databases</a>" ed. Bailis, Hellerstein, Stonebraker
* __Instructor__: <a href="http://odin.cse.buffalo.edu/people/oliver_kennedy.html">Oliver Kennedy</a> (Davis 338H, Office Hours TBD)
* __TAs__: TBD
* __Project Submission__: <a href="http://dubstep.odin.cse.buffalo.edu">http://dubstep.odin.cse.buffalo.edu</a>
* __Project Groups__: 1-4 people
* __Grading__:
* 50% theory
* 40% exams
* 10% Midterm 1 on TBD (in class)
* 10% Midterm 2 on TBD (in class)
* 20% Comprehensive Final on Thu May 14 (4:00-6:30)
* OR 5%/10%/25% OR 5%/5%/30% (whichever is most advantageous to you)
* 50% projects
* 5% <a title="Checkpoint 0" href="checkpoint0.html">Hello World</a> due on Feb. 8, 11:59 PM
* 15% <a title="Checkpoint 1" href="checkpoint1.html">Project 1</a> due on Feb. 22, 11:59 PM (code-review after)
* 15% <a title="Checkpoint 2" href="checkpoint2.html">Project 2</a> due on Mar. 28, 11:59 PM (code-review after)
* 15% <a title="Checkpoint 3" href="checkpoint3.html">Project 3</a> due on May 8, 11:59 PM (code-review after)
## Library Documentation
* __JSqlParser__ (<a href="http://odin.cse.buffalo.edu/resources/jsqlparser">JavaDoc</a>, <a href="https://youtu.be/U4TyaHTJ3Zg">Demo</a>)
* __ExpressionLib__ (<a href="http://odin.cse.buffalo.edu/resources/expressionlib">JavaDoc</a>)</li>
## Lecture Schedule
{{#each classContent}}
* _{{date}}_:&nbsp;&nbsp;&nbsp;{{topic}}
{{/each}}
## Content Outline
* <a title="Checkpoint 0" href="checkpoint0.html">Project 0</a> - Basic Setup
* <a title="Checkpoint 1" href="checkpoint1.html">Project 1</a> - Infrastructure & Query Evaluation
* __Relational Algebra__ (Ch 2.4, 5.1)
* __SQL__ (Ch 2.3 and 6.1-6.4)
* __Query Compilers__ (Ch 15.1-15.3, 16.1, 16.3)
* __Data Modeling__ (Ch 2.1-2.2)
* <a title="Checkpoint 2" href="checkpoint2.html">Project 2</a> - Optimization & External Algorithms
* __Algebraic Query Optimization__ (Ch 16.2)
* __Join Algorithms__ (Ch 15.4, 15.5)
* __Extended Relational Algebra__ (Ch 5.2)
* __Buffering & External Algorithms__ (Ch 15.7-15.8)
* __Physical Plans__ (Ch 16.7)
* <a title="Checkpoint 3" href="checkpoint3.html">Project 3</a> - Indexing & Physical Layout
* __The Memory Hierarchy__ (Ch 13.1-13.3)
* __Physical Design__ (Ch 13.5-13.7)
* __Indexing__ (Ch 8.3, 14.1-14.4)
* __Materialized Views__ (Ch 8.1-8.2, 8.5)
* __Cost-Based Optimization__ (Ch 8.4, 16.4-16.6)
* Concepts (No Project)
* __Failure Recovery__ (Ch 13.4, 19.1, 19.3)
* __Updating Data__ (Ch 6.5, 13.8)
* __Transactions__ (Ch 6.6, 18.1-18.2)
* __Locking__ (Ch 18.3-18.7)
* __Deadlocks__ (Ch 19.2)
* __Lock-free Concurrency__ (Ch 18.8-18.9)
* __Distributed Data Management__ (Ch 20)
* __Uncertain Data Management__
* Time permitting, other subjects will also be covered.
## Academic Integrity
Students may discuss and advise one another on their lab projects, but groups are expected to turn in their own work.  Discussing concepts is permitted.  Referencing another group's code is not.  Cheating on any course deliverable will result in an automatic grade of F in the course.  The University's policy on academic integrity can be reviewed at:
<center><a href="http://www.cse.buffalo.edu/undergrad/policy_academic.php">UB-CSE's Academic Integrity Policy</a></center>
## Medical Emergencies
Accommodations for medical emergencies will be made on a case-by-case basis.  Requests for extensions based on medical emergencies must be accompanied by documentation of the emergency from student health services:
<center><a href="http://www.student-affairs.buffalo.edu/shs/student-health/">Student Health Services</a></center>
## Accessibility Resources
If you have a diagnosed disability (physical, learning, or psychological) that will make it difficult for you to carry out the course work as outlined, or that requires accommodations such as recruiting note-takers, readers, or extended time on exams or assignments, please advise the instructor during the first two weeks of the course so that we may review possible arrangements for reasonable accommodations. In addition, if you have not yet done so, contact:
<center><a href="http://www.student-affairs.buffalo.edu/ods/">The Office of Accessibility Resources</a></center>

View File

@ -2,6 +2,10 @@
title: Teaching
---
# CSE 462 - Graduate Databases
* <a title="CSE 462" href="cse-462/index.html">Spring 2016</a>
# CSE 562 - Graduate Databases
* <a title="CSE 562" href="cse-562/index.html">Spring 2015</a>