Description
Problem:
The suggested course might be of better quality than the current database courses listed on the curriculum and doesn't come with the limitations that Edx courses usually have.
Duration:
1 month
Background:
While I didn't take either of these courses, skimming through the content of both courses and reading some reviews, it appears that the CMU course might be superior in terms of the quality of the materials and topics that are covered. CMU course is more comprehensive and goes deeper into the subject.
Here is a detailed comparison based on @aayushsinha0706 work:
According to our curriculum guidelines on what a database course should cover:
Information Management Concepts like socio-technical systems, storage, and retrieval (IS&R) concepts, supporting human needs: searching, retrieving, linking, browsing, navigating, Quality issues: reliability, scalability, efficiency, and effectiveness.
Both these courses touch upon these topics.
CMU: 2, Stanford: 2.
Database Systems Approaches to and evolution of database systems, Components of database systems, Design of core DBMS functions (e.g., query mechanisms, transaction management, buffer management, access methods), Database architecture and data independence, Use of a declarative query language, Systems supporting structured and/or stream content.
CMU course shines here. Covering these topics is the key goal of the course.
CMU: 2, Stanford: 0.
Data Modeling Data modeling, Conceptual models (e.g., entity-relationship, UML diagrams), Spreadsheet models, Relational data models, Object-oriented models (cross-reference PL/Object-Oriented Programming), Semi-structured data models (expressed using DTD or XML Schema, for example).
The Standford course is more comprehensive on this topic, covering most of these concepts. The CMU course has a dedicated lecture on Relational Models, Relational Algebra, and refers to other models.
CMU: 1, Stanford: 2.
CMU scored five points in total while Standford scored four. In addition to that, The CMU course is project-based, which is an excellent teaching approach with an Autograder for the projects, while Stanford courses do only provide exercises. There is also a dedicated discord server for the course with many helpful resources and many past students willing to help and provide support for the learners.
The only con I can find so far is that the course readings are from a paid textbook, I don't know if they are required or not. The instructor didn't mention anything about the textbook in the intro lecture.
Proposal:
- Replace the current three listed databases courses with CMU 15-445/645: Database Systems.
Note: this RFC initially recommended Berkeley CS186, changed to CMU course because all the materials are publicly available, an Autograder for the projects, a public discord server for the course, and to get rid of the complicatedness of the lectures and worksheets being from different iterations of the course.
Note 2: Berkely course covers an elective topic suggested by the guidelines which is not covered by the CMU course, Approaches for managing large volumes of data (e.g., noSQL database systems, use of MapReduce), it is possible for the students who want to study the topic to check these lectures and the project since it's independent of the other projects of the course, any prerequisites would be already covered by the CMU course
Alternatives:
suggest this course as an alternative
Activity