Welcome to Computer Science 235!
Your instructor is Adam Shaw, whose email address is
The syllabus is here: cs235-2015-syllabus.pdf.
This course offers both a theoretical and practical introduction to the design and implementation of database systems. To enroll in the course, you must have taken the introductory CS major/minor courses up to 154, or have received explicit permission from the instructor.
A reasonable level of expertise in C programming is essential to participation in CS235. You will be expected to implement a large project in C, yet C programming itself is not taught in this course.
Lectures are Tuesdays and Thursdays from 1:30 to 2:50
in
The course syllabus is coming soon.
The text for the course is Database System Concepts, Sixth Edition by Silberschatz, Korth and Sudarshan. The book is available on campus at the Seminary Co-op Bookstore and on the Internet, new and used, at the usual assortment of online bookstores.
We will use the squire system to manage questions and answers pertaining to the course and course content. You will need an account to participate. Apart from online assistance, in-person help is available during office hours, listed below.
Homework and Projects
- Homework 1 (due Tue 4/7 11:59pm) is an exploratory exercise in database design and using SQLite.
- Project 1 (due Mon 4/20 11:59pm) involves implementing basic elements of the chidb system, notably the B-tree structure for table storage.
- Homework 2 (due Thurs 4/23 11:59pm) is an exercise offering practice writing relational algebra expressions.
- Project 2
(due
Mon 5/4Wed 5/6 11:59pm) entails implementing the chidb database machine. - Homework 3 (due Fri 5/1 11:59pm) offers practice writing nontrivial SQL queries.
- Homework 4 (due Mon 5/11 11:59pm) has a point to make about the relational algebra, and, by extension, SQL.
- Project 3 (due Tuesday 5/26 11:59pm) involves building parts of a SQL compiler for a variety of simple SQL queries.
- Project 4 (due Wednesday 6/3 11:59pm for graduating students, Monday 6/8 11:59 for everyone else) concerns SQL optimization.
Evaluation
- Project: 55% (15%, 15%, 15%, 10% for parts 1, 2, 3 and 4)
- Homework: 20%
- Exam (late midterm): 25%
There will be no final exam. The last part of the project will be due during finals week (except for graduating students).
Late Work Policy
Simple: late work is not accepted.
Instructor's Office Hours
(revised Apr 22) Office hours are on the following days at the following times (note the locations):
- Mondays, 2:00-4:00, CSIL 4
- Thursdays, 3:00-4:00, Ryerson 157
- Fridays, 1:00-3:00, CSIL 4
Teaching Assistants
Whenever possible, please communicate with your teaching assistants through squire.
- Haopeng Liu
- Hannah Morgan
- Zhixuan Zhou
chi* Links
Lecture Schedule
(subject to change)
Week | Tuesday | Thursday | Projects |
---|---|---|---|
1 (Tues 3/31) | Welcome! | relational database concepts | |
2 (Tues 4/7) | B trees | database design | |
3 (Tues 4/14) | relational algebra I | relational algebra II | project 1 due |
4 (Tues 4/21) | tuple relational calculus | SQL I | |
5 (Tues 4/28) | SQL II | entity-relationship I | |
6 (Tues 5/5) | entity-relationship II | web databases, SQL injection | project 2 due |
7 (Tues 5/12) | Midterm Exam | file organization, indices | |
8 (Tues 5/19) | dependency theory | query implementation and optimization I | |
9 (Tues 5/26) | query implementation and optimization II | transactions and serializability | project 3 due |
10 (Tues 6/2) | two-phase locking | (reading period) | |
11 (Tues 6/9) | (exam week) | (exam week) | project 4 due |
Academic Honesty
College-wide honesty guidelines are here.
The following rules of thumb summarize honesty as it pertains to CS 235:
- Credit your sources.
- Document all collaboration.
- Do not copy anyone's work.
- Do not allow your work to be copied.
- Do not submit work identical to another student's (with obvious allowances related to group work).
As a corollary to the fourth rule, sharing completed work in advance of its deadline in any way, including posting to the Internet, is expressly forbidden.
As a corollary to the fifth rule, when it is time to do the actual coding, writing, etc., do your own work. Identical submissions from different students will be considered a breach of honesty.
Any student who behaves dishonestly will suffer serious consequences.