Course Syllabus
CS 122A: Introduction to Data Management (Summer 2025)
Lectures: Tuesdays/Thursdays, 9:30 am - 10:50 am, Rowland Hall 104
Discussion Section A1: Fridays, 10:00 - 10:50 am, Rowland Hall 114
Discussion Section A2: Fridays, 11:00 - 11:50 am, Rowland Hall 114
| Staff |
Office Hours (Subject to change) |
|
| Instructor: Prof. Chen Li |
Tuesdays 11 am - noon, DBH 2086 |
chenli AT ics DOT uci DOT edu |
| TA: Sarah Asad |
Thursday 11am - 12pm (ICS 458A) |
sasad2@uci.edu |
| TA: Yunyan Ding |
Monday 1:00 - 2:00 p.m. (ICS 458A) |
yunyad1@uci.edu |
Lectures
| ID | Date | Instructor | Content | Textbook |
| 1 | 06/24/25 (Tu) | Sarah Asad | Logistics and DBMS Introduction: PDF1 PPT1 | Ch. 1 |
| 2 | 06/26/25 (Th) | Sarah Asad | Big Picture, ER Modeling: PDF2 PPT2 | Ch. 2 |
| 3 | 07/01/25 (Tu) | Sarah Asad | ER Modeling cont: PDF3 PPT3 | Ch. 2 |
| 4 | 07/03/25 (Th) | Sarah Asad | ER to Relational: PDF4 PPT4 | Ch. 3 |
| 5 | 07/08/25 (Tu) | Chen Li | ER to Relational, cont: PDF5, PPT5 | Ch. 3 |
| 6 | 07/09/25 (Th) | Chen Li | Relational Algebra (I), PDF6, PPT6 | Ch. 4.1-4.2 |
| 7 | 07/15/25 (Tu) | Sarah Asad, Chen Li | Learning relational operators in Texera, PDF7, PPT7 | hub.texera.io |
| 8 | 07/17/25 (Th) | Chen Li | SQL (1): SPJ, Nested Queries, Aggregation, PDF8, PPT8 | Ch. 3.4, 5.1-5.5 |
| 9 | 07/22/25 (Tu) | Chen Li | Ditto, brief review | |
| 10 | 07/24/25 (Th) | Chen Li | Midterm, in class | |
| 11 | 07/29/25 (Tu) | Chen Li | SQL (2): Null, Outer Joins, CRUD, ICs, PDF9, PPT9 | Ch. 5.5-5.7 |
| 12 | 07/31/25 (Th) | Chen Li | SQL (3): Triggers, Views, Access Control, PDF10, PPT10 | Ch. 3.3, 3.6, 5.7-5.9, 21.1-21.3 |
| 13 | 08/05/25 (Tu) | Chen Li | Relational Design Theory (1), PDF11, PPT11 (S13) | Ch. 19.1-19.6 |
| 14 | 08/07/25 (Th) | Chen Li | Relational Design Theory (2), PDF12, PPT12 (S7) | Ditto |
| 15 | 08/12/25 (Tu) | Chen Li | Ditto (S16) | Ditto |
| 16 | 08/14/25 (Th) | Chen Li | Record storage and indexing, PDF13, PPT13 (S6) | Ch. 9.1, 8.1-8.3, 10.1, 10.3 |
| 17 | 08/19/25 (Tu) | Sarah Asad | Ditto | Ditto |
| 18 | 08/21/25 (Th) | Chen Li | Physical DB Design, PDF14, PPT14 (S9) | Ch. 8.5, 20.1-20.7 |
| 19 | 08/26/25 (Tu) | Chen Li | Ditto. | Ditto |
| 20 | 08/28/25 (Th) | Chen Li | Beyond CS 122A, PDF15, PPT15. Review |
Homework
| Due Date | Late Due Date | Solution | ||
| HW1 - ER Diagram | 7/3 Thursday 11:59PM | 7/4 Friday 11:59PM | Team Work Allowed | Available in HW2 |
| HW2 - Relational Modeling | 7/14 Monday 11:59PM | 7/15 Tuesday 11:59PM | Done Individually | HW2 Solution |
| HW3 - Relational Algebra | 7/25 Friday 11:59PM | 7/26 Saturday 11:59PM | Done Individually | HW3 Solution |
| HW 4 - SQL | 8/6 Wednesday 11:59PM | 8/7 Thursday 11:59PM | Done Individually | HW4 Solution |
| HW5 - Advanced SQL | 8/16 Saturday 11:59PM | 8/17 Sunday 11:59PM | Done Individually | HW5 Solution |
| HW6 - Relational Design Theory and Indexing | 8/28 Thursday 11:59PM | 8/29 Friday 11:59PM | Done Individually | HW6 Solution |
Exams
- Midterm: July 24, Thursday, in-class, in-person. [Sample Midterm]
- Final: Friday, August 29, 2025, 9:30 AM – 11:30 AM, same classroom (Rowland Hall 104). [Sample Final]
Course Objectives
This course provides students with an introduction to the design of databases and the use of database management systems in support of applications. It covers the entity relationship (E/R) approach to database design. It then covers the relational data model, mapping of E/R designs to relations, relational database design principles, abstract query languages such as the relational algebra and relational calculus, and the industry-standard query language, SQL. Students will gain exposure to how relational database management systems are used to manage an actual database. Time permitting, the course will also touch lightly on advanced database management topics.
This course is aimed at database design and the use of database management systems in implementing database applications. It feeds into a follow-on project course, CS122B, whose focus is data-centric Web applications. The CS122A/B course sequence does NOT cover the internals of database systems; that material is covered in the undergraduate course CS122C (co-listed as CS222) and its graduate-level follow-on course CS223. There is also CS 122D titled "Beyond SQL Data Management." Interested students are strongly encouraged to take one, two, or all of these courses.
Prerequisites
Students should have programming experiences in Java, C#, or C++.
Required textbooks
Database Management Systems (3rd Edition) by Raghu Ramakrishnan and Johannes Gehrke, a.k.a. "the Cow book".
Grading Criteria
Homework: 30%
Quizzes: 5%
Midterm: 30%
Final: 35%
Homework Assignments
Each assignment must be turned in by the assigned due dates/times on GradeScope. For each assignment, we will offer a 24-hour "grace period", and will therefore accept submissions turned in within 24 hours of the due date, with a 10-point penalty. It's 10 points, not 10 percent. For example, if your late project got 87 points, then your real score will be 87-10=77 points. Late assignments will NOT be accepted beyond the grace period, so do always aim to be on time! Please don't even ask, as this is what the 1-day grace period is intended for.
Discussion Sessions
There will also be short weekly quizzes in the discussion section to give you further practice with the course material. Those will count very little towards your final grade. They are mostly a discussion session participation score, and they're really just there for your benefit to give you another opportunity to check your understanding of things. You will get the full credit for each discussion session if you attend it, or 0 if you are absent.
Grade Change Policy
For all of the graded assignments as well as the exams, if you disagree with the grading, you may discuss your concerns with the relevant staff member within 1 week after they are returned. After that, all grades will be considered final.
Policy on Academic Honesty
- All students will be expected to adhere to the UCI and ICS Academic Honesty policies (see https://conduct.uci.edu/students/academic-integrity/index.php for details). Any student found to be involved in cheating or aiding others in doing so will be academically prosecuted to the maximum extent possible: that means you will fail this course. Just say no to cheating!
- In case you reuse another party's source code for certain generic tasks (e.g., JDBC access) make sure you explicitly comment on its origin in your source code.
Course Summary:
| Date | Details | Due |
|---|---|---|