0% found this document useful (0 votes)
45 views5 pages

COSC 404 21w2

Uploaded by

jogoil502
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views5 pages

COSC 404 21w2

Uploaded by

jogoil502
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

COSC 404 / COSC 504 - Database System Implementation

2021 Winter Term 2

Instructor: Dr. Ramon Lawrence


Class Schedule: 12:30 p.m. – 2:00 p.m. Wednesday/Friday
Location: LIB 312
Office Hours: 2 to 4 p.m. Wednesdays or by appointment
Office Location: ASC 349
Phone: 250-807-9390
E-mail: ramon.lawrence@ubc.ca (preferred contact method)
Course URL: https://github.com/rlawrenc/cosc_404

Course Description
Official Calendar: Fundamental concepts in constructing database systems including file organizations,
storage management, system architectures, query processing/optimization, transaction management,
recovery, and concurrency control. Additional topics may include distributed databases, mobile databases,
and integration. Prerequisite: COSC 304 and third-year standing.

Specific description: This course provides an in-depth study of various approaches and techniques to data
management including relational (SQL) databases, NoSQL systems, and techniques for indexing, query
processing, and concurrency. Students completing the course will have experience in a wide variety of
commercial systems (MySQL, PostgreSQL, MongoDB, Microsoft SQL Server, Snowflake) and the
fundamental knowledge of data processing to make key decisions on selecting and optimizing data
architectures and systems.

Course Objectives
Course Format: Interactive online classes consisting of topic introduction, understanding evaluation using
quick questions, and concept mastery with larger exercises. Practical skills and applications of topics
covered in assignments as well as practice using industrial database systems and software.

Learning Outcomes:
- Experience using and developing on many different SQL and NoSQL databases.
- Proficiency in manipulating data in memory and storage and using index structures for improved
performance.
- Understanding of query processing including parsing, translation, optimization, and execution.
- Applying principles of transactions, concurrency, recovery, and distribution for databases.
- Using knowledge of database techniques to be better users with the ability to use different database
systems, compare their properties, and adapt database techniques when developing software.

Evaluation Criteria and Grading


Assignments 25 % (weekly assignments)
Quizzes and Exercises 10 % (online and during class time activities)
Two Midterm Exams 30 %
Final Exam 35 % (cumulative, 2.5 hours)

Graduate Student Evaluation:


Assignments 15 % (weekly assignments)
Project 15 %
Quizzes and Exercises 5 % (online and during class time activities)
Two Midterm Exams 30 %
Final Exam 35 % (cumulative, 2.5 hours)
 Graduate students are responsible for a substantial research and development project. Optional or bonus
assignment questions for undergraduates will often be required for graduate students.
 A student must receive a combined grade of at least 50% on the exams (midterms and final) to pass the
course. Otherwise, the student has a maximum overall grade of 45.

Textbook and Reference Material:


 All materials are online.
 A textbook is not required. Students can get supplemental material from any database textbook.
 The course uses iClicker Cloud.

Expectations
 Attend all classes and prepare before attending class. Course allows online completion for students learning
remotely.
 Review the material before the class time. Expect to spend about five hours per week in out-of-class
preparation.
 Learn the material in the course by completing all assignments. No late assignments are accepted.
 Enjoy attending class activities and participate according to your personality. Ask questions by posting on chat
or raising your hand.
 Please actively participate in class discussions, questions, and problem solving exercises.
 I want all students to pass the course, receive a good grade, and feel the course was beneficial.

Potential Restrictions to International Students’ Online Learning Experiences


During this pandemic, the shift to online learning has greatly altered teaching and studying at UBC, including changes to health
and safety considerations. Keep in mind that some UBC courses might cover topics that are censored or considered illegal by
non-Canadian governments. This may include, but is not limited to, human rights, representative government, defamation,
obscenity, gender or sexuality, and historical or current geopolitical controversies. If you are a student living abroad, you will be
subject to the laws of your local jurisdiction, and your local authorities might limit your access to course material or take punitive
action against you. UBC is strongly committed to academic freedom, but has no control over foreign authorities (please visit:
http://www.calendar.ubc.ca/vancouver/index.cfm?tree=3,33,86,0 for an articulation of the values of the University conveyed in
the Senate Statement on Academic Freedom). Thus, we recognize that students will have legitimate reason to exercise caution
in studying certain subjects. If you have concerns regarding your personal situation, consider postponing taking a course with
manifest risks, until you are back on campus or reach out to your academic advisor to find substitute courses. For further
information and support, please visit: http://academic.ubc.ca/supportresources/freedom-expression

Grading Practices
Faculties, departments, and schools reserve the right to scale grades in order to maintain equity among sections and conformity
to University, faculty, department, or school norms. Students should therefore note that an unofficial grade given by an instructor
might be changed by the faculty, department, or school. Grades are not official until they appear on a student's academic record.
http://www.calendar.ubc.ca/okanagan/index.cfm?tree=3,41,90,1014

Final Examinations
The examination period for this term will be April 14-29, 2022. Students will be permitted to apply for out-of-time final
examinations only if they are representing the University, the province, or the country in a competition or performance; serving
in the Canadian military; observing a religious rite; working to support themselves or their family; or caring for a family member.
Unforeseen events include (but may not be limited to) the following: ill health or other personal challenges that arise during a
term and changes in the requirements of an ongoing job. An examination hardship is defined as the occurrence of an examination
candidate being faced with three (3) or more formal examinations scheduled within a 27-hour (inclusive) period. Further
information on Academic Concession can be found under Policies and Regulation in the Okanagan Academic Calendar
http://www.calendar.ubc.ca/okanagan/index.cfm?tree=3,48,0,0

Missing an Exam
Only students who miss the final exam for a reason that corresponds to the University of British Columbia Okanagan's policy
on excused absences from examinations will be permitted to take the final exam at a later time. A make-up exam may have a
question format different from the regular exam. There will be no make-up midterm exams. If the reason for absence is
satisfactory, the student’s final exam will be worth more of the final grade. Further information on Academic Concession can
be found under Policies and Regulation in the Okanagan Academic Calendar
http://www.calendar.ubc.ca/okanagan/index.cfm?tree=3,48,0,0.

Grievances and Complaints Procedures


A student who has a complaint related to this course should follow the procedures summarized below.
• The student should attempt to resolve the matter with the instructor first. Students may talk first to someone other than the
instructor if they do not feel, for whatever reason, that they can directly approach the instructor.
• If the complaint is not resolved to the student's satisfaction, the student should go to the departmental chair John Braun at SCI
388, 807-8032.

Your Responsibilities
Your responsibilities to this class and to your education as a whole include attendance and participation. You have a responsibility
to help create a classroom environment where all may learn. At the most basic level, this means you will respect the other
members of the class and the instructor and treat them with the courtesy you hope to receive in return. Inappropriate classroom
behavior may include: disruption of the classroom atmosphere, engaging in non-class activities, talking on a cell-phone,
inappropriate use of profanity in classroom discussion, use of abusive or disrespectful language toward the instructor, a student
in the class, or about other individuals or groups.

Academic Integrity
The academic enterprise is founded on honesty, civility, and integrity. As members of this enterprise, all students are expected
to know, understand, and follow the codes of conduct regarding academic integrity. At the most basic level, this means
submitting only original work done by you and acknowledging all sources of information or ideas and attributing them to others
as required. This also means you should not cheat, copy, or mislead others about what is your work. Violations of academic
integrity (i.e., misconduct) lead to the breakdown of the academic enterprise, and therefore serious consequences arise and harsh
sanctions are imposed. For example, incidences of plagiarism or cheating usually result in a failing grade or mark of zero on the
assignment or in the course. Careful records are kept to monitor and prevent recidivism. A more detailed description of academic
integrity, including the policies and procedures, may be found at
http://www.calendar.ubc.ca/okanagan/index.cfm?tree=3,54,111,959. If you have any questions about how academic integrity
applies to this course, consult with the instructor.

Student Service Resources


Disability Assistance
The Disability Resource Centre ensures educational equity for students with disabilities, injuries or illness. If you are disabled,
have an injury or illness and require academic accommodations to meet the course objectives, e-mail us or visit our website for
more information.
Web: http://students.ok.ubc.ca/drc/welcome.html E-mail DRC at: drc.questions@ubc.ca

Equity, Human Rights, Discrimination and Harassment


UBC Okanagan is a place where every student, staff and faculty member should be able to study and work in an environment
that is free from human rights-based discrimination and harassment. If you require assistance related to an issue of equity,
discrimination or harassment, please contact the Equity Office, your administrative head of unit, and/or your unit’s equity
representative. UBC Okanagan Equity Advisor: ph. 250-807-9291
Web: https://equity.ok.ubc.ca/ E-mail: equity.ubco@ubc.ca

Health & Wellness - UNC 337


At UBC Okanagan health services to students are provided by Health and Wellness. Nurses, physicians and counsellors
provide health care and counselling related to physical health, emotional/mental health and sexual/reproductive health
concerns. As well, health promotion, education and research activities are provided to the campus community. If you require
assistance with your health, please contact Health and Wellness for more information or to book an appointment.
Web: www.students.ok.ubc.ca/health-wellness Email: healthwellness.okanagan@ubc.ca

Sexual Violence Prevention and Response Office (SVPRO)


A safe and confidential place for UBC students, staff and faculty who have experienced sexual violence regardless of when or
where it took place. Just want to talk? We are here to listen and help you explore your options. We can help you find a safe
place to stay, explain your reporting options (UBC or police), accompany you to the hospital, or support you with academic
accommodations. You have the right to choose what happens next. We support your decision, whatever you decide. Visit
svpro.ok.ubc.ca or call us at 250-807-9640

Independent Investigations Office (IIO)


If you or someone you know has experienced sexual assault or some other form of sexual misconduct by a UBC community
member and you want the Independent Investigations Office (IIO) at UBC to investigate, please contact the IIO. Investigations
are conducted in a trauma informed, confidential and respectful manner in accordance with the principles of procedural
fairness. You can report your experience directly to the IIO by calling 604-827-2060.
Web: https://investigationsoffice.ubc.ca/ E-mail: director.of.investigations@ubc.ca

The Hub
The Student Learning Hub (LIB 237) is your go-to resource for free math, science, writing, and language learning support. The
Hub welcomes undergraduate students from all disciplines and year levels to access a range of supports that include tutoring
in math, sciences, languages, and writing, as well as help with study skills and learning strategies. Web:
(https://students.ok.ubc.ca/student-learning-hub/) Ph: 250-807-9185.

SAFEWALK - Download the UBC SAFE – Okanagan app.


Don't want to walk alone at night? Not too sure how to get somewhere on campus?
Call Safewalk at 250-807-8076 For more information: https://security.ok.ubc.ca/safewalk/
Course Outline
Date Topics Covered and Description
January 12 (W) First day of classes. Introduction to course. Database architecture.
January 14 (F) Storage I: Accessing/Representing Data on Devices (SSD,RAID) using Records/Blocks
January 19 (W) Storage II: File operations, buffer management, column vs row storage
January 21 (F) Indexing I: Index Types, Primary Indexes, Multi-level Indexes, Secondary Indexes
January 26 (W) Indexing II: B-Trees (insertion, deletion), B+-Trees
January 28 (F) Indexing III: B+-Trees, R-Trees
February 2 (W) Indexing IV: Hash Indexes, SQL Indexing in Practice
February 4 (F) Query processing I: SQL/RA Review, Types of Operators, Iterators, One-pass
Algorithms
February 9 (W) Query processing II: Nested-Loop Joins, External Sorting, Two-Pass Sorting Algorithms,
Sort-Join, Sort-Merge-Join
February 11 (F) Query processing III: Hash Partitioning, Two-Pass Hash Algorithms, Hybrid Hash Join
February 16 (W) Query optimization I: Query Parsing/Translation, Relational Algebra Laws
February 18 (F) Midterm exam #1
February 23 (W) No classes during Midterm Break.
February 25 (F) No classes during Midterm Break.
March 2 (W) Query optimization II: Heuristic Optimization, Physical Query Plans
March 4 (F) Query optimization III: Cost-based Query Optimization
March 9 (W) Transaction processing I: ACID Properties, Schedules, Conflict Serializability
March 11 (F) Transaction processing II: View Serializability, Schedule Properties
March 16 (W) Concurrency control I: Two-Phase Locking (2PL), Multiple Granularity Locking,
Deadlock Handling, Wait-for Graphs
March 18 (F) Midterm exam #2
March 23 (W) Concurrency control II: Timestamp Protocols, Validation Protocols, Multi-versioning,
Snapshot isolation
March 25 (F) Concurrency control III: SQL Isolation Levels, Phantom Phenomenon, CC in systems
March 30 (W) Recovery: Types of Failures, Log-Based Recovery, Undo/Redo Logging
April 1 (F) Distribution I: Architectures, Semi-joins, Two-Phase Commit
April 6 (W) Distribution II: Fragmentation, Partitioning
April 8 (F) Distribution III: Replication: Primary-Primary and Primary-Secondary, CAP Theorem
Architecture I: Comparison of database architectures: Relational, Key-Value, In-Memory
Review for final exam.

Lab assignments:
Week Dates Topics Covered and Description
1 January 10 – 14 No Lab First Week of Class
2 January 17 – 21 Lab 1: MySQL vs. PostgreSQL – Creating and Querying Data
3 January 24 – 28 Lab 2: MySQL vs. PostgreSQL – Indexing for Performance
4 Jan. 31 – Feb. 4 Lab 3: Implementing a Text Database and JDBC Driver
5 February 7 – 11 Lab 4: Query Processing with Iterators
6 February 14 – 18 Lab 5: Query Parsing with JavaCC
7 February 21 – 25 No Lab During Midterm Break
8 Feb. 28 – Mar. 4 Lab 6: Storing JSON Documents: MongoDB and PostgreSQL
9 March 7 – 11 Lab 7: Map-Reduce using MongoDB
10 March 14 – 18 Lab 8: Transactions with Microsoft SQL Server
11 March 21 – 25 Lab 9: Cloud Data Analysis with Snowflake
12 March 28 – Apr. 1 Lab 10: Recovering from a Database Failure
13 April 4 - 8 Lab 11: Scaling MySQL: Master-Slave Replication and Partitioning

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy