COSC 404 Database System Implementation
Spring (Winter Term 2) 2023 - University of British Columbia Okanagan
Overview
COSC 404 provides an overview of how database systems are built including topics such as query processing, transactions, concurrency, and reliability. Although the course provides foundational material for students that will engage in database research, it is also designed to provide practical knowledge and programming experience on a wide-variety of database systems (SQL and NoSQL) that is useful to all developers and computer scientists.
On-line Resources
Student Performance
Of the 111 registered students who started the course, 101 received a C- or above. The course average was 80%.
Comments
The COSC 404 course (student feedback rating: 4.9 (97% favourable)) had high student engagement and satisfaction. Its practical labs are valuable to non-database researchers and use many different database systems (Microsoft SQL Server, MySQL, PostgreSQL, MongoDB, Snowflake) allowing students to appreciate the differences in architectures and design decisions covered in detail in the lectures as well as gaining experience on many industrial systems. COSC 404 has difficulty similar to Stanford/MIT and is more demanding than UBC Vancouver. This offering featured all online and open book exams (Canvas quizzes) and more programming opportunities. Most exam questions were auto-marked. There were no scheduled labs. Students were supported with virtual office hours and help sessions that the students greatly preferred. The new HelpMe system was deployed to support virtual office hours. Homework assignments were replaced with practice Canvas quizzes. Digital badges were used to recognize students with high achievement on exams. The class time was a challenge with class at 8 a.m.
Strengths of the Course
- "Open–book online exams helped motivate me to learn the content because they encouraged preparedness. I was incentivized to organize my notes for quick look–ups and to compile sources of knowledge. The environment also felt more accurate to how it would be in an actual workplace."
- "Learn concepts that are almost impossible to self–teach. Class was difficult enough to feel rewarding every lab. The labs were structured in a way that helps us learn how to read a large codebase, which is unique to this class. I wish more UBCO classes did that."
- "The course is very good at breaking down abstract concepts and giving students a chance to apply them. The course also gives students a chance to learn other programming–related skills such as debugging and reading documentation which was a pleasant surprise."
- "Lab grading online (and bonus marks), lecture structure, candy (well not so much in the early classes, but I loved the coffee/Timbits)"
- "I found everything in the course was perfect for me. If I had to suggest something to add to learning: We could go over the labs in class after they are due. This could help create discussion around the labs and showcase how students approached the labs in different ways."
- "The course systematically covers many topics in detail. We certainly learned a lot more in this course than any other course, and that is saying something because it did not feel like this course was harder, which says a lot about how important the course syllabus and instructor are."
- "The course overall has great structure and a great instructor who cares about our learning. The strength of the course is its instructor because the instructor focuses on why we are learning the material and actively makes changes in order to support our learning."
- "Encouraging us to stay ahead of schedule by giving us bonus marks for ahead–of–time submissions. Excellent availability of office hours for us to get help any day of the week. The very relaxed and welcoming environment to learn new skills and excel."
- "This course opens the "black box" on how databases operate very well. After taking COSC 304 you still take many things for granted, but this course provides useful concepts and experience with a whole variety of database systems that I now feel confident in adding to my resume. Very well–designed course and one of the best I've ever taken in my entire university degree."
Weakness of the Course
- "Not the instructor, but the 8 am made it difficult to attend live. Especially when it comes to reading course material, doing practice problems, and preparing any questions for the prof prior to attending."
- "It is understandable that this class did not have a project, but it would be nice to have a project that has us build a database and see how we can make the database more efficient by applying the different concepts. The lab assignments basically help us learn incrementally rather than single concepts by themselves. This helps to keep track of our progress and understanding over time."
- "I would love more worked examples for calculation–based questions – Questions that reflect the variety of the ones found on midterm/final exams. I personally found the ones on the slide to not be enough to help me effectively practice my skills."
Home Page
Go Back