Welcome to Computer Science 235!
Your instructor is Adam Shaw, whose email address is
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 courses up to 153 and 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 10:30 to 11:50
in
There are no lab meetings for this course.
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 piazza system to manage questions and answers pertaining to the course and course content. You will need a piazza account to participate. Apart from online assistance, in-person help is available during office hours, listed below.
Evaluation
- Project: 55% (15%, 20%, 20% for parts 1, 2, and 3)
- Homework: 20%
- Exam (late midterm): 25%
There will be no final exam for CS235. The last part of the three-part project will be due during finals week (except for graduating students).
Late Work Policy
Simple: late work is not accepted.
Instructor's Office Hours
My office hours this spring are Friday mornings from 10-11:30am, excepting Friday April 19, and by appointment.
Teaching Assistants
Whenever possible, please communicate with your teaching assistants through piazza.
- Jiajun Shen, first-year graduate student
- office hours Wednesdays 9am-11am, maclab
- office hours Thursdays 3pm-5pm, maclab
- Charisee Chew, second-year graduate student, office hours TBA
Lecture Schedule
(subject to change)
Week | Tuesday | Thursday | Projects |
---|---|---|---|
1 | overview | B trees | |
2 | design of relational databases | relational algebra I | |
3 | relational algebra II | tuple relational calculus | project 1 due |
4 | SQL I | SQL II | |
5 | entity-relationship I | entity-relationship II | |
6 | web databases, SQL injection | file organization, indices | |
7 | Midterm Exam | dependency theory | project 2 due |
8 | query implementation and optimization I | query implementation and optimization II | |
9 | transactions and serializability | two-phase locking | |
A | frontiers | (reading period) | project 3 due |
Refer to piazza for readings and homework assignments.
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.
- 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.