CS 448Database Systems Implementation
- Units
- 0.50
- Faculty
- Mathematics
- Subject
- Computer Science
When it runs
- F24
- W25
- S25
- F25
- W26
- S26
- F26
- W27
- S27
Ran in 2 of the last 7 terms. Winter 2027: not on the schedule. Spring 2027: schedule not out yet.
The objective of this course is to introduce students to fundamentals of building a relational database management system. The course focuses on the database engine core technology by studying topics such as storage management (data layout, disk-based data structures), indexing, query processing algorithms, query optimization, transactional concurrency control, logging and recovery.
Prerequisites
- Complete all of the following
- Must have completed the following:
- Must have completed at least 1 of the following:
- Enrolled in H-BBA & BCS Double Degree, H-Computer Science (BCS), H-Computer Science (BMath), JH-Computer Science (BCS), JH-Computer Science (BMath), H-Computing & Financial Management, H-Data Science (BCS), or H-Software Engineering
Antirequisites
None listed.
Leads to
No course lists it as a requisite.
Resources
Around the web
Found by uwloo’s link finder, which checks that each page names CS 448.
- CS448/648 Database Systems Implementation Course website · student.cs.uwaterloo.ca Remove
Reviewed on UW Flow
67% liked it67% easy100% useful
From 6 ratings and 6 comments on UW Flow. The most helpful comments, quoted as written, without names. Read them all on UW Flow.
The course is a mix of "how a database works internally", "distributed computing" and "tricks used in databases that are applicable elsewhere" topics.
Last semester, it covered different ways databases store and index data, some algorithms used to efficiently do things like sorts and joins on large (possibly distributed) datasets, how SQL is optimized, how databases recover after crashing (and optimizations around that), transaction management, and different locking techniques to reduce lock contention on some data structures.
Assignments involved making small changes to Postgres, which was not too hard, but very interesting.
The course was much better than 348, eg. you only need to read…May 2018 · liked it · 4 found this helpfulOn UW FlowRemove this
Excellent course. Prof. Ihab Ilyas has a wealth of experience and knowledge about databases and cares deeply about educating his students. Every lecture of his was fascinating and insightful with plenty of examples and diagrams. He might talk about 20-years-old IBM technology and potential applications of neural networks to databases in the same lecture. He also brought in 2 alumni students of his who work at MemSQL and SAP, and they us about contemporary in-memory databases and recent advances in computer engineering. For assigned work we added features to PostgreSQL and used MongoDB's WiredTiger storage library. The assignments were straightforward and helped to reinforce what we learn in…
Apr 2019 · liked it · 2 found this helpfulOn UW FlowRemove this
Not a very thorough course, though pretty interesting. It was neat adding features to PostgreSQL.
Oct 2012 · liked it · 2 found this helpfulOn UW FlowRemove this
This course covers the internal workings of databases. Prof Ihab Ilyas is incredibly experienced and knowledgeable, and his lectures are captivating. Assignments consist of adding small features to Postgres, and are surprisingly straightforward considering their heavy weighting. Focus is on understanding core concepts over memorization; marking is very lenient, and the final is open book (the prof literally brought some textbooks).
May 2019 · liked it · 1 found this helpfulOn UW FlowRemove this
The material taught in the course is quite useful. The course covered a wide range of topics about databases, and I felt that I have a deep understanding of databases after taking this course. However, this course was taught in a way that was very disorganized and overly hard. The 3 assignments for the course was very heavy on the length of coding, had very vague descriptions that needed clarifications on piazza multiple times, and most importantly did not provide any starter code or test cases. The slides used for the course also did not provide clear answers to the material, some topics are phrased as questions, i.e. (Advantage of X vs Y?) without being given the answers in the slides at…
Apr 2023 · didn’t like itOn UW FlowRemove this
Discussed on r/uwaterloo
57 posts and comments in 50 threads mention CS 448, June 2012 to December 2024. Quoted word for word, newest first; each reply sits under the post and the comment that started its branch. Search r/uwaterloo for newer posts.
Fall 2024
where is cs 448 2 points, 0 comments
u/quickbusterarts: “whys it not showing up in course selection”
Fall 2023
Help with Course Selection of CS 4B - CS448 or CS454? 1 point, 1 comment
u/Ok-Brick-6870: “Finally 4B. Planning to take just 2 CS courses to enjoy the last term at Waterloo. With that being said, I am planning to take CS451 (Data-Intensive Distributed Computing) as it seems pretty straightforward and useful (let me know in the comments what you think about this …”
2B Course Load 1 point, 1 comment
“A little backstory: I just got admitted to DS after finishing 2A (I took MATH 235, MATH 237, MATH 239 + elective). …”
u/ak5492: “… 3B - CS 348, CS 486, STAT 330, STAT 331 + electives 4A - CS 451, STAT 341 + electives 4B - CS 448, STAT 440, STAT 442 + electives I'm overloading in 3A”
Where to learn stuff like file systems, nvidia GPU monitoring etc 1 point, 3 comments
“I’m not really sure what to call the things mentioned in the title, but for context a lot of my co-ops have been related to machine learning. …”
u/Osteospermum: “… If you mean databases then CS348 and 448. Monitoring gpu usage is just nvidia-smi. Docker is almost certainly not covered in any courses and you’ll have to google. …”
Spring 2023
Cs346 vs cs349 vs cs348 vs cs 370 vs cs360 1 point, 11 comments
u/arvin132: “… defn would recommend especially if you are looking forward to taking cs451 and cs448 &x200B; hope this helps and sorry for the horrible English :)”
Winter 2023
CS 2B Course Advice 4 points, 2 comments
u/waterloodoesntwork69: “… I also hear cs348 is pretty shit and is only worth it if you want to take CS 448, but database/sql stuff seems cool I think? And cs 346 seems pretty cool since its just one long full stack project, does anyone have any experience with that course? …”
Fall 2022
CS 448 vs. CS 451 3 points, 6 comments
u/Fall_2021_throwaway: “… CS 341) / Very intense (CS 488) 3) Usefulness (for a backend web developer) 4) How good the profs are (Habib-ur Rehman for CS 448, Dan Holtby for CS 451) &x200B; Thank you so much!”
cs448 Rehman 0 points, 1 comment
u/wonderpools: “anyone taken courses with Rehman,Habib-ur before? or planning to take cs448 next winter? how's it that prof lol”
Winter 2022
CS452 (Trains) + CS480 (ML) = overkill? 5 points, 21 comments
“Hey all, I'm trying to plan my future course pathway and was wondering on any upper-year / alums' opinions on taking CS452 + CS480 in the same semester (alongside 3 other bird courses). …”
u/AutomaticClass7289: “It's overkill....plan it out so that u take them one by one in each term”
u/KnowledgeVampire: “Currently the plan is CS454, 456 for summer term, CS448, CS442, CS444, CS451 for a winter term.”
Fall 2021
[deleted by user] 33 points, 14 comments
u/tendstofortytwo: “Yes, and yes.”
u/ffrosteh: “… Design and Architectures Course Description CS 447 Software Testing Course Description CS 448 Database Systems Implementation Course Description CS 449 Human Computer Interaction CS 450 Computer Architecture CS 451 Data-Intensive Distributed Computing Course Description CS 452 …”
Winter 2021
CS348 Spicy Piazza 58 points, 19 comments
[deleted]: [deleted]
u/ComputerBunnyMath123: “No, that's probably more CS448”
Fall 2020
CS448 cancelled Winter 2021 6 points, 7 comments
u/ComputerBunnyMath123: “So sad. Anyone know why? I'm actually so upset”
Check it elsewhere for Fall 2026
- Undergraduate Calendar, 2026–27The official entry
- Requirements for Fall 2026Waterloo’s requisite checker
- Schedule of Classes, Fall 2026Instructors, rooms, live seats
- Quest Class SearchWhere you enrol
- Course outlinesSyllabi from past terms (UW login)
- UW FlowStudent ratings and reviews
- WClassesPast sections back to 2004, and who taught them