EECS 339: Introduction to Databases, Fall 2006

Instructor:Peter A. Dinda (Office Hours: Thursdays 2-4)
Teaching Assistant:James Baker (Office Hours: Mondays and Fridays after class)
Time:Fall 2006, MWF 10-10:50am
Location:Tech L158
Recitation Section:none
Course number:EECS 339
Enrollment Limit:30

Consider taking (and recommend to your friends in EECS, other departments, and other schools) CS 101 in the spring quarter

If you buy your books through, a Northwestern student-run web site, a portion of your purchase price will go to charity.


Note that we will not use CMS/Blackboard for anything.
  • Newsgroups: cs.339.discuss and cs.339.announce are available from the CS news server. You can also read newsgroups using the ACM Club's web interface. If you have trouble accessing the newsgroups, please contact systems support.
  • Mailing List: The course is associated with your netid and you can spam the course using SNAP. Please don't unless absolutely necessary.
  • Grade Reports: I will periodically email students with individualized grade reports showing current standing.
  • General Handouts

  • Syllabus
  • Using Oracle in the TLAB and VLAB Environments
  • Perl in a Nutshell
  • TLAB: The Teaching Lab
    If you do not already have a TLAB Linux and Windows account, you should get one now. You will find the TLAB a convenient place to work, especially with partners.
  • EECS 339 Virtual Machine
    You will be given an account on a server virtual machine configured for use in this class. We will talk more about this in class and email.
  • VLAB: The Virtual Lab
    If you would like to do a project that requires you to build a custom server, you can ask us for a VLAB account to create your own virtual machine.
  • Using Unix Remotely Without The Excruciating Pain
  • Useful Videos/Slides

  • Introduction to Unix (Peter Dinda) (video, part 1, video, part 2)
  • PHP for Active Content (David Choffnes) (slides, video, (code (intro.php and serveImage))
  • Java Servlets and Server Pages (Andrew Simpson) (slides, video)
  • Introduction to CVS (Peter Dinda) (slides, Real)
  • Peer-to-Peer Databases Lecture (Ashish Gupta, David Huber, Jay Bruins) (slides-1, slides-2, Real)
  • Projects

  • Dry-run project: Extending Microblog (3 weeks) (pdf)
    Projects (NU access only)
  • Self-defined Project: Your Own Web Application (4 weeks) (pdf)
    Overall, there was limited interest in doing a single web application as a class. Thus this handout is no longer tentative.
    Project Web Sites (NU access only)
  • Implementation Project: Btrees (3 weeks) (pdf)
    This handout is now finalized and the code is available on the class VM
  • Homeworks

  • HW 1: Entity-Relationship data model (pdf) (out: 10/9, in: 10/18)
  • HW 2: Relational data model (pdf) (out: 10/18, in: 10/25)
  • HW 3: Relational Algebra (pdf) (out: 11/1, in: 11/17)
  • HW 4: Implementation of databases
  • Exams

  • Midterm (Thursday, 10/26, 6-7:30pm, Tech L361)
  • Final (Final exam slot, not cummulative)
  • Helpful Things

  • Comer's Ubiquitous B-Tree Paper
  • E.F. Codd's seminal paper on the relational data model
  • 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.
  • Fabian Bustamante's List of C and Unix Resources, which may help you if you are unfamiliar with getting around on Unix.
  • Johan Vromans's Perl Reference Guide
  • O'Reilly's Free Sample Chapters from their Perl Books
  • GraphViz graph visualization framework
  • SQL Fairy SQL Schema Translator and Visualizer

  • Peter Dinda
    Last modified: Wed Nov 8 15:02:02 CST 2006