COSC 404 Database System Implementation
Spring (Winter Term 2) 2022 - 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 101 registered students who started the course, 96 received a C- or above. The course average was 79%.
Comments
The COSC 404 course (student feedback rating: 4.9 (98% favourable)) was re-offered for the first time in four years. With the practical labs, it has become much more valuable to non-database researchers. The labs 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 is by far the hardest course I teach with difficulty similar to Stanford/MIT and more demanding than UBC Vancouver. This offering featured all online and open book exams (Canvas quizzes) and more programming opportunities. Student performance on the exams was about the same as paper exams. Most exam questions were auto-marked. The scheduled labs were removed and replaced with virtual office hours and help sessions that the students greatly preferred. Homework assignments were replaced with practice Canvas quizzes.
Strengths of the Course
- "Ramon did an amazing job fostering my interest in databases and data in general. This course took my understanding of these topics to the next level, and I learned a lot of important skills that I know I will use in my career. I truly appreciate how the assignments are structured to be problem–solving exercises that challenge our knowledge of course content while also providing clear instructions. Putting in the effort to do hybrid lectures was a huge benefit to me and gave everyone some more flexibility in how they consume the lecture material. Lectures were always engaging and well thought–out, and Ramon always asks for student feedback to improve his teaching."
- "Ramon's slides are very detailed and provide a lot of useful information for the course in an organized manor that is easy to navigate. The labs for the course were informative and introduced us to important parts of the industry which are extremely useful."
- "Ramon is one of the best professors I've ever had (including professors I've had at another university). He genuinely wants his students to succeed and it's very clear he's passionate about the subject. He listens to student feedback during and between lectures, and he is super understanding when we are struggling with a lab or certain content. He recognizes when we need extra time or when we need the concept explained again or in another way.
Other than the professor being great, the course content is extremely valuable for a computer science degree. It opens the database system up and explores what happens within. Understanding how a database works is fundamental for future systems we will be working with as computer science graduates.
Having the course as a hybrid of online and in–person was VERY useful and convenient. Please continue with this format! My commute is over an hour each way, so I preferred having the option to stay home for a lecture."
- "I learn a lot here both in database and programming (I think I am a way better programmer after this course). All those tools that Ramon taught me really helped me get an internship. Thanks a lot!"
- "A lot of opportunities for bonus marks, which was both an incentive to complete the assignments early and a way to make up for more challenging portions of the course. Also, Ramon is really committed to creating a community of learners, which means you are always communicating with your classmates and are never left to your own devices. Overall, one of the best courses in my undergraduate degree!"
- "This course was by far the most well run course I have taken at UBCO in terms of what I have learned and the support and resources available to learn it. This should be the standard for every computer science course at the university."
Weakness of the Course
- "The only areas of improvement I could see would be clearer instructions in labs (sometimes it was confusing) and in the beginning having more examples for the calculations we are expected to do in the quizzes."
- "Sometimes clickers would go fast and I feel like as though they were less useful than going over written problems on the board. My suggestion would be to put even more focus on have group collaboration on "non–clicker" questions and then a discussion."
Home Page
Go Back