CSCI 1270
Database Management Systems
Introduction
Welcome to CSCI 1270!
Link to previous course offering.
The concepts you will learn in this class include aspects of database design, database languages, and database-system implementation. The course textbook is Database Systems Concepts, Seventh Edition by Silberschatz, Korth, and Sudarshan. ISBN: 9780078022159. Lectures are held on Mondays and Wednesdays from 3:00 pm to 4:20 pm virtually via Zoom unless otherwise specified. Optional in-person seminars are held on Friday at the same time. Please stop on by!
If content is not showing up for you on the website, hard refresh the page (ctrl-shift-r)!
Shopping Period FAQ
Will this course be accessible to remote students?
- Yes, all lectures will be delivered virtually. Lectures will also be recorded and timezone accommodations will be given for quizzes. Details regarding TA Hours are still being ironed out.
What is the weekly workload for CSCI 1270? Any time commitment estimates?
- There will be weekly written homeworks and coding assignments, with more time given to accommodate more complex tasks. Time commitments are tricky to estimate, because there's a large variance from student to student. But we're putting a lot of structure in place that should make this course very manageable.
I've heard this course will be run in Golang and SQL; should I prepare?
- While knowing the working language will only help you, we do not expect anybody to come into this course knowing either Golang or SQL. There will be space dedicated to learning Go and SQL.
I need an override code! I need to enroll concurrently with another course! I have another special request that requires instructor permission!
- Please email us at cs1270headtas@lists.brown.edu.
Can I audit this class?
- We do not allow students to audit CSCI 1270. This is primarily because a significant proportion of your learning will happen through implementing the projects, which must be engaged with fully in order for the course to progress; a result of our cumulative assignments. However, if you are only interested in loosely following along the lectures and assignments, we encourage you to Vagabond the class instead - all of our content is open to all Brown students!
Can anyone attend the seminars?
- Yes! Our Friday seminars are open to the entire Brown community - please, drop by!
{Any other question}
- Wait! Before you ask, please read our Missive (linked below in the resources section)! If that doesn't answer your question, then please email our Head TA mailing list at cs1270headtas@lists.brown.edu!
Assignments
Please note: the dates on this page are tentative and may change to correspond with changes in lecture pacing.
All weekly written and coding assignments should be turned in via Gradescope. All assignments will be released by 11:59 PM on the day listed. All assignments are due at 11:59 pm ET on the day listed. They will be graded and returned with solutions for the problems. Written assignments should be submitted as PDFs.
All quizzes will be available through Gradescope on the day listed below. Once you've started, you will have 90 minutes to complete the quiz.
Written | Coding | Out | In |
---|---|---|---|
Setup | - | - | Sep 20 |
Relational Algebra | Go | Sep 15 | Sep 22 |
ER Diagrams | SQL | Sep 22 | Sep 29 |
Constraints + Normalization | Pager | Sep 29 | Oct 11 |
Quiz 1 | - | Oct 13 | Oct 13 |
Storage + B-Trees | B+Tree | Oct 13 | Oct 25 |
Hash + Join Algorithms | Hash | Oct 25 | Nov 01 |
Query Optimization | Query | Nov 01 | Nov 08 |
Quiz 2 | - | Nov 10 | Nov 10 |
Latches + Transactions | Concurrency | Nov 10 | Nov 24 |
Logging + Recovery | Recovery | Nov 29 | Dec 06 |
Quiz 3 | - | Dec 14 | Dec 14 |
Gearup | Date | Slides | Recording |
---|---|---|---|
Go | Sep 15 | Slides | Recording |
SQL | Sep 22 | Slides | Recording |
Pager | Sep 29 | Slides | Recording |
B+Tree | Oct 13 | Slides | Recording |
Hash | Oct 25 | Slides | Recording |
Query | Nov 1 | Slides | Recording |
Concurrency | Nov 10 | Slides | Recording |
Recovery | Nov 29 | Slides | Recording |
Late Assignments
Each student gets 5 late days during the semester, in that they are not penalized for them. You may not use more than 2 late days on a single assignment. At the end of the semester, we will optimally distribute the late days over your projects. A late day used on either the written or code portion of an assignment counts as a late day for the assignment as a whole. After your five late days, we will take off 25% per late day, distributed optimally.
Solution Code Requests
Since projects in CSCI 1270 build atop one another, we recognize that if a student falls behind, later projects will be impossible. If you require solution code to continue in the course, please fill out the form linked here to request it. You will only receive solution code two days after the due date of the relevant project due date(s) at the earliest. Most importantly, note that distributing or making available solution code in any way, knowingly or unknowingly, is a violation of the Academic Code. This includes sharing code with a peer in the class, even if they have also filled out the request form. For the most up-to-date information on solution code requests, please see our Missive.
Lectures
Lectures are held on Mondays and Wednesdays from 3:00 pm to 4:20 pm virtually via Zoom unless otherwise specified. Lecture slides and recordings will be posted soon after lecture ends. You are highly encouraged to attend all lectures.
The following lecture schedule is very approximate. Please note that the schedule may be subject to change depending how quickly or slowly we are able to move through lectures.
Topic | Date | Slides | Recording | Book |
---|---|---|---|---|
Introduction to Databases | Sep 08 | 1 | Recording | CH1 |
Relational Model + Algebra | Sep 13 | 1, 2 | Recording | CH2 |
Entity-Relationship Models | Sep 15 | 1 | Recording | CH6 |
Relational Calculus + SQL | Sep 20 | 1, 2 | Recording | CH3, CH4, CH5 |
Constraints | Sep 22 | 1 | Recording | CH4, CH7 |
Normalization | Sep 27 | 1 | Recording | CH7 |
Storage and Disks | Sep 29 | 1, 2 | Recording | CH12 |
B-Trees | Oct 04 | 1 | Recording | CH13, CH14 |
Hashing | Oct 06 | 1, 2 | Recording | CH 14 |
Indigenous Peoples' Day (No Class) | Oct 11 | - | - | TBA |
Quiz 1 | Oct 13 | - | - | - |
Query Processing | Oct 18 | 1 | Recording | CH14 |
Query Processing cont. | Oct 20 | - | Recording | CH15 |
Transactions | Oct 25 | 1 | Recording | CH15, CH16 |
Transactions cont. | Oct 27 | - | Recording | CH17 |
Recovery | Nov 01 | 1 | Recording | CH17 |
Concurrency | Nov 03 | 1 | Recording | CH18 |
Parallel Databases | Nov 08 | 1 | Recording | CH19 |
Quiz 2 | Nov 10 | - | - | - |
Distributed Databases | Nov 15 | 1, 2 | Recording | CH21-23 |
NoSQL Databases | Nov 17 | 1 | Recording | CH21-23 |
Thanksgiving (No class) | Nov 22 | - | - | CH29 |
Thanksgiving (No class) | Nov 24 | - | - | - |
Thanksgiving (No class) | Nov 29 | - | - | - |
Guest Lecture - John Meehan | Dec 01 | - | Recording | - |
Guest Lecture - Franco Solleza | Dec 06 | Slides | Recording | - |
Guest Lecture - Andy Pavlo | Dec 08 | - | Recording | - |
Quiz 3 | Dec 14 | - | - | - |
Seminars
To spread our love of databases and to expose you to cutting edge database concepts, the CSCI 1270 TAs run seminars on Fridays from 3:00 pm to 4:00 pm, in-person in CIT Lubrano (477). Recordings will be posted soon after the seminar ends. You are highly encouraged to attend any seminars that interest you!
The following seminar schedule is very approximate. Please note that the schedule may be subject to change depending on TA availability.
Topic | Date | Slides | Recording |
---|---|---|---|
Efficient SQL | Oct 01 | Slides | Recording |
Time Series Databases | Oct 08 | Slides | Recording |
Advanced Indexes | Oct 22 | Slides | Recording |
Denormalization & MongoDB | Oct 29 | Slides | Recording |
Graph Databases | Nov 12 | Slides | Recording |
Calendar
Zoom links are included in the Google Calendar event, as well as in the SignMeUp Queue.
Resources
Guides
Documents
Contact
Staff
Stan Zdonik
Professor | sbz
Desmond Cheong
HTA | dcheong
CS senior specializing in systems, powered by yakult and kaya toast.
🙃
Nick Young
HTA | nyoung10
Hi! I'm from Vancouver, Canada and I enjoy photography, badminton, and building mechanical keyboards!
🧋
Connor Luckett
GTA | cluckett
Hi, I'm Connor! I am in my third year as a Ph.D. student, mentored by Dr. Cetintemel. I love to think about how we can help others navigate GDPR/CCPA compliance. I am an avid drummer and a Private Pilot.
✈️
Aakansha Mathur
UTA | amathur7
I am a SCM CS student at Brown. My academic interests are databases, machine learning and natural language processing.
❄️
Huiyuan Wu
UTA | hwu62
Hi, i am Huiyuan Wu, a second year Master's student in computer science.
😅
Junchi Chu
UTA | jchu27
I love cooking, fishing, writing my novels. I like basketball, my favorite team is GSW!
😂
Sayan Chakraborty
UTA | schakr12
Hi! I'm an international CS grad student from India. I can speak 4 languages. In my spare time you can find me eating/cooking good food, listening to podcasts or sleeping (basically I'm the human form of a Panda).
😴
Solomon Boukman
UTA | sboukman
I use he/him pronouns, and I am from New Jersey. For fun I like playing basketball, videogames, skateboarding, and gardening. My interests with computer science are machine learning and data engineering.
💯
Amrit Singh Rana
UTA | arana16
Hi. I am Amrit. I am a first year ScM student. I am interested in Distributed Systems. I like to hike, travel and play music in my free time.
🎹