Personal tools
You are here: Home Classes Spring 2006 CS 311 syllabus.htm
Document Actions

syllabus.htm

by bob last modified 2006-01-31 10:52

Computer Science 311

Databases

Spring, 2006

Me:

Bob Geitz, King 223A
   x-8386
Office Hours:
MWF 3:30-4:30, Thursday 1:30-3:30 or by appointment
I am around most of the day when I am not in class.

Course Description:

This is a course on the theory and practice of dababase management. It gives a practical introduction to database creation and SQL programming, as well as a detailed treatment of the algorithms and data structures used in any database system. By the end of the course you should be able to market yourself as a database programmer.

 

 

Textbooks:

Database Systems: The Complete Book by Garcia-Molina, Ullman and Widom


Grading

We will have have two kinds of assignments. The course includes a semester-long project in which you will define, implement, add data to, and create an interface for a database of your choice. This project will be divided into 5 major assignments. You may do this project individually or in pairs; if you start working in a pair I expect you to continue in the same pair throughout the semester. There will be also some additional assignments: exercises in SQL and problems from the text.

Database material lends itself nicely to exams. We will have a midterm exam the week prior to Spring Break, and a final exam at the time determined by the Registrar.

Here is how the individual grades will determine your grade for the semester:

Homework (including individual pieces of the project) 25%
Midterm                                                                    15%
Final                                                                          25%
Project                                                                      35%

 

The Honor Code

I expect you to do homework not connected to the project on your own. You may discuss the homework in detail with anyone else, but the final writeup of each problem should be your own work. If you work in a pair for the project you may collaborate in any way you wish with your team member. If you work on your own all coding and data entry must be your own. Exams, of course, must be taken entirely on your own with no discussion with anyone else.

Course Outline

This is a rough outline, which I probably won't stick to. It should give you at least an idea of what we will be doing in the course.

Week:
Topics:
Text:
2/6 - 2/10 Introduction to Databases. The E/R model Chapters 1, 2
2/13 - 2/17 Intro to Oracle and SQL. More on the E/R model Section 6.1, Stanford notes. Chapter 2
2/20 - 2/24 The Relational model Chapter 3
2/27 - 3/3 Normal Forms Chapter 3
3/6 - 3/10 Designing Relational DBs Chapter 4
3/13 - 3/17 Relational Algebra Chapter 5
3/20 - 3/24

SQL joins and products

Midterm exam

Chapter 6
3/27 - 3/31 SPRING BREAK  
4/3 - 4/7 Constraints and Views in SQL Chapter 7
4/10 - 4/14 PL/SQL and JDBC Chapter 8
4/17 - 4/21 Transactions and Security in SQL Chapter 8
4/24 - 4/28 O-O and Logical query languages Chapters 9,10
5/1 - 5/5 Indexing Chapter 13
5/8 - 5/12

Other data structures

Student presentations

Chapter 13

Final Exam: Saturday, May 20, 7 PM

 

 

The project

Project 1: E/R design for your application
Project 2: Relational schema and table creation for your application
Project 3: Data collection and entry for your application. Typical queries
Project 4: Creation/implementation of views and constraints for your application
Project 5: Interactive front-end for your application
The project will be on the last day of classes, May 12. During the last week of classes each person or team will make a presentation on their project, showing the design, Oracle implmentation, and what you can of the front-end -- you can draw pictures if it isn't ready to demo.

 

 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: