EECS 339: Introduction to Database Systems, Fall 2012

Instructor:Peter A. Dinda (Office Hours: Thursdays 2-5)
Teaching Assistants:Maciej Swiech (Office Hours: Mondays 3-4 and Thursdays 9-11)
Kyle Hale (Office Hours Wednesdays 9-12)
Time:Fall 2012, MWF 4-4:50
Location:Tech M345 Note Room Change
Recitation:Mondays, 6pm
Tech LR3 (on 10/8)
Tech L361 (after 10/8)
Course number:EECS 339
Enrollment Limit:70 (currently 70 registered, plus 5 auditors)

Getting in

The class enrollment will be limited to 70 students. This means that if you were on the original caesar waiting list, you will get in. You should hear from Juliet or Lana about permission numbers. If you were not on the original waiting list, please see Juliet or Lana. We will let you in on a first-come, first-served basis.


Note that we will not use CMS/Blackboard for anything.
  • Newsgroup: We will be using the Google Group CS 339 - Northwestern University for simple, persistent, and searchable communication among everyone in the class. This is where you want to go to post questions about lecture, homework, and programming projects. You need to sign up to access the group, which you can do here - only Northwestern email addresses will be accepted:
    Subscribe to CS 339 - Northwestern University
    Visit this group
  • I will occasionally send emails to everyone registered using CAESAR. These emails will go to the addresses that CAESAR has.
  • General Handouts

  • Syllabus
  • Using Databases in the Web of Things Environment
  • Gentle Introduction to SQL
  • Perl in a Nutshell
  • JavaScript Tutorial
  • The T-Lab and Wilkinson Lab
    If you do not already have a T-Lab/Wilkinson Lab Linux and Windows account, you should get one now. You will these labs convenient places to work, especially with partners.
  • We recommend you use ssh and an NX client to use the class servers, but you can also read about other ways towards Using Unix Remotely Without The Excruciating Pain
  • Projects

  • Red, White, and Blue (pdf)
  • Financial Portfolio (pdf)
  • BTrees (pdf)
  • Homeworks

  • HW 1: Entity-Relationship data model (pdf)
  • HW 2: Relational data model (pdf)
  • HW 3: Relational algebra (pdf)
  • Exams

  • Midterm (Thursday, 11/8, 6pm, Tech L361 - 90 minute exam)
    Review Sessions: 11/5 (Recitation) and 11/7 (In Class)
  • Final (Thursday, December 13, Tech M345, 7pm-9pm)
    Review Sesion: TBD
  • Useful Additional Content

  • Phillip Greenspun's SQL For Web Nerds Book, which we will make use of early in the class.
  • A Gentle Introduction to SQL, which has tutorials and examples of the slight differences in SQL from RDBMS to RDBMS.
  • Introduction to Unix (Peter Dinda) (video, part 1, video, part 2) (use your netid to accesss)
  • Fabian Bustamante's List of C and Unix Resources, which may help you if you are unfamiliar with getting around on Unix.
  • Cloud Computing and Google Spanner (Kyle Hale and Maciej Sweich) [Slides from 10/5/12 special topics lecture] (pdf)
  • PHP for Active Content (David Choffnes) (slides, video, (code (intro.php and serveImage)) (use your netid to accesss)
  • Java Servlets and Server Pages (Andrew Simpson) (slides, video) (use your netid to accesss)
  • Peer-to-Peer Databases Lecture (Ashish Gupta, David Huber, Jay Bruins) (slides-1, slides-2, Real) (use your netid to accesss)
  • Comer's Ubiquitous B-Tree Paper
  • E.F. Codd's seminal paper on the relational data model
  • Johan Vromans's Perl Reference Guide
  • An older version of JavaScript: The Definitive Guide, appears to be available for free online as part of the Web Programming CD Bookshelf 1.0

  • Peter Dinda
    Last modified: Fri Nov 16 17:44:26 CST 2012