Course Number and Title: CS333 Intro to Database Systems
Location: CSI G12
Schedule: TR 12:45-2:30pm

Instructor: EJ Jung, HR 541
Email: ejung (at) cs (dot) usfca (dot) edu (preferred)
Phone: (415) 422-5422
Office Hours: T 10-11:30am, Th 3-4:30pm, or by appointment
Note that the emails are the most preferred way of contact outside of office hours, and will be answered by the next business day. To ensure proper handling, please include "333" in your subject.

Teaching Assistant: Xiaoou Li
Email: xiaooubj (at) gmail
Office Hours: M 12noon-2pm and W 2:30-4:30pm at HR 535/536

Pre-requisites CS 112 with a grade of C or better and CS 245 with a grade of C or better.

Database Management Systems by Raghu Ramakrishnan and Johannes Gehrke.Please see Schedule tab for readings for each week.

Course Objectives

  • Learn to design relational databases.
  • Learn to use database management systems.
  • Learn to implement web-based DB client.

List of Topics

  • SQL
  • Relational database design
  • Indexing
  • Query optimization
  • Query processing
  • Concurrency control and recovery

Class Structure
Classes will consist of lectures with occasional pop quizes. Pop quizes are given at the beginning of the class, and standard solution and explanations will immediately follow.

Homeworks and Programming Projects
For individual assignment, There will be 4 homeworks and 1 programming project in this course. Each homework consists of 4-5 questions to review the concepts and skills covered in lectures. The individual programming project is on indexing using Tree or Hash indexes. There will be also a semester-long programming project in this course, implementing a web-based DB client and designing the backend DB. You may work by yourself or work in a pair for this programming project. The semester-long project will be broken into 5 milestones, and milestones are described in Programming Project folder, and homeworks will be announced in Assignment tab in Canvas.

Homework and programming project submission is due by 11:55pm on their due dates (see Schedule tab for due dates), and the submission is through Canvas. No email submissions are accepted. The due dates are firm, i.e. no late submission is allowed without a doctor's note. The homeworks will be announced 1 week before the due date.

There will be 2 exams, midterm on Thursday, October 10 in class (at 12:45pm) and the final exam on Tuesday, December 10 at 12:30pm. The exams are closed-notes and closed-laptops.

Attendance Policy
Attendance is mandatory. Absences are only excused in cases of verified family or medical emergency. Topics that are discussed in class but are not available online will be part of exams and assignments.

Your final grade will be calculated this way:

  • Homeworks: 20%
  • Programming Project (indexing): 10%
  • Programming Project (DB design+impl): 20%
  • Exams: 40% (20% each)
  • Quizes: 10%
and will be assigned as follows. Note that if your scores in both exams are below 60% of the total, then you will receive F.
100 - 93.0 - A
92.9 - 90.0 - A-
89.9 - 87.0 - B+
86.9 - 83.0 - B
82.9 - 80.0 - B-
79.9 - 77.0 - C+
76.9 - 73.0 - C
72.9 - 70.0 - C-
69.9 - 67.0 - D+
66.9 - 63.0 - D
62.9 - 60.0 - D-
59.9 - 0 - F

Students with Disabilities
If you are a student with a disability or disabling condition, or if you think you may have a disability, please contact USF Student Disability Services (SDS) at (415) 422-2613 within the first week of class, or immediately upon onset of disability, to speak with a disability specialist. If you are determined eligible for reasonable accommodations, please provide me with your SDS Verified Individualized Services and Accommodations (VISA) form, and we will discus your needs for this course. For more information, please visit: or call (415) 422-2613.
I would like to hear from anyone who has a disability which may require seating modifications or testing accommodations or accommodations of other class requirements, so that appropriate arrangements may be made. Please contact me during my office hours or make an appointment.

Academic Honesty
We will adhere to the University's Student Academic Honesty Policy, which is available here. In this course you must do your own work on exams and homework, unless explicitly specified otherwise. You are responsible for showing your own work in your submission. Failure to do so for the first time will result in zero for the corresponding assignment, project, or exam. Repeated failure will result in F in this course.