Coder Social home page Coder Social logo

chinmaygopal931 / cosc_304 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rlawrenc/cosc_304

0.0 1.0 0.0 20.83 MB

COSC 304 - Introduction to Database Systems

License: Other

Java 28.52% Jupyter Notebook 23.09% Python 15.65% HTML 20.55% PHP 7.23% JavaScript 4.96%

cosc_304's Introduction

COSC 304 - Introduction to Databases - Winter 2020 Term 1

Instructor

Dr. Ramon Lawrence, ASC 349, [email protected], 250-807-9390
Office Hours: 9:30 to 11:30 a.m. Friday or by appointment
Office Location: ASC 349 (virtual office hours)

TAs

David Ding, Devon MacNeil, Reece Walsh

Course Description

Official Calendar: Databases from a user's perspective: querying with SQL, designing with UML, and using programs to analyze data. Construction of database-driven applications and websites and experience with current database technologies. Completion of COSC 121 is recommended. Prerequisite: One of COSC 111, COSC 123, COSC 210. Third-year standing.

Specific description: This course provides an introduction to database systems including database querying, design, and programming. The course consists of three major components. The first component explains databases from a user perspective including how to query using SQL and relational algebra. The second component involves designing relational databases using Entity-Relationship (ER) diagrams and UML. The last part involves database and web programming with Java, JDBC, JSP, Python, and PHP. Students completing the course have experience with current database technologies, and the ability to use and develop databases and associated applications.

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:

  • Understand the use case for databases and the relational model for data storage.
  • Proficiency in creating queries on relational databases using relational algebra and SQL.
  • Read existing database designs, design new databases using ER/UML modeling, and convert to the relational model.
  • Construct programs that access a database to read data, perform analysis, and output results.
  • Exposure to database technologies like NoSQL, JSON, XML, and cloud databases.

Marking and Evaluation

Item Weighting Description
Quizzes and Exercises 10% Online and during class time activities
Assignments 25% Weekly assignments
Midterm #1 15% October 16th in class
Midterm #2 15% November 9th in class
Final Exam 35% Cumulative, three hours ; Exams may use Proctorio and require a web camera.

A student must receive a combined grade of at least 50% on the exams (midterms and final) to pass the course. Otherwise, the student receives a maximum overall grade of 45.

Textbook and Reference Material

Expectations

  • Attend all classes and prepare before attending class.
  • Read the notes 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.

Schedule

Lecture: 2:30 to 4:00 p.m. Monday, 8:00 to 9:30 a.m. Friday
Lab: Drop-in virtual labs and help sessions

Date Topic Reading and Resources
Sept. 11 (F) First day of classes. Introduction to course/databases SQL for Web Nerds: SQL Introduction
Sept. 14 (M) Relational Model - Schemas, Keys, Constraints, Integrity
Sept. 18 (F) Relational Algebra - Select, Project, Set Ops, Outer Joins Online Relational Algebra Tool, WorksOn Data Set, Bank Data Set
Sept. 21 (M) SQL DDL – Create table/index, Insert/Delete/Update Linux Shell Intro
Sept. 25 (F) SQL - Queries, LIKE operator, Set Operations, Order By SQL for Web Nerds: SQL Queries
Sept. 28 (M) SQL - Group By, Aggregate Functions SQL for Web Nerds: SQL Complex Queries
Oct. 2 (F) SQL - Subqueries, Outer joins
Oct. 5 (M) Database Design – General Approach ; ER and UML Modeling
Oct. 9 (F) ER and UML Modeling examples and questions
Oct. 12 (M) No class due to Thanksgiving
Oct. 16 (F) Midterm Exam #1 In-Class
Oct. 19 (M) EER Design - Specialization, Generalization, Aggregation
ER/EER Mapping to Relational model
Oct. 23 (F) Database Programming using Java/JDBC Sample Java Code, JDBC Tutorial
Oct. 26 (M) Database Programming using Python and R Sample Python Code, SQL Server and pyodbc, pyodbc
pyodbc Getting Started, Python Database API, Python sqlite3
Oct. 30 (F) Database Web Programming – Web servers, JSP/PHP Sample JSP/PHP Code
Comic - Why validation is important
Nov. 2 (M) Advanced SQL DDL – Triggers and Views SQL for Web Nerds: SQL Triggers
Nov. 6 (F) Advanced SQL – Security, Transactions, Recursion MySQL Recursive Query
Nov. 9 (M) Midterm Exam #2 In-Class
Nov. 13 (F) No class for Term 1 midterm break
Nov. 16 (M) XML and XPath Sample XML Code, Intro to XML/XML Reference
XMLSchema Reference
XML Validator, Test XPath
Nov. 20 (F) JSON and NoSQL Databases
Nov. 23 (M) Normalization and Design Verification
Nov. 27 (F) Database hosting and data cleansing/wrangling Sample D3 Code
Nov. 30 (M) Data warehousing and Data Mining
Preview of COSC 404 - Database System Implementation
Course Summary
10 Rules for Data Storage
December 4 (F) Final Exam Review

Labs

Lab Date Topic
September 7 – 11 No Lab during First Week of Class
1 September 14 – 18 Lab 1: Querying using Relational Algebra
2 September 21 – 25 Lab 2: Creating tables using SQL and MySQL
3 Sept. 28 – Oct. 2 Lab 3: Writing SQL queries on a MySQL database
4 October 5 – 9 Lab 4: Database Design using UML Modeling
5 October 12 – 23 Lab 5: Converting UML Diagrams into the Relational Model
6 October 26 – 30 Lab 6: Programming with Java/Python using MySQL and SQL Server
7 November 2 – 13 Lab 7: Building a Database-enabled Web Site using JSP/PHP
8 November 16 – 20 Lab 8: Images, Security, and Transactions
9 November 23 – 27 Lab 9: XML, JSON, Views, and Triggers
10 Nov. 30 – Dec. 4 Lab 10: Project Completion

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 is in the Academic Calendar http://www.calendar.ubc.ca/okanagan/index.cfm?tree=3,48,0,0.

Copyright Disclaimer

Diagrams and figures included in lecture presentations adhere to Copyright Guidelines for UBC Faculty, Staff and Students http://copyright.ubc.ca/requirements/copyright-guidelines/ and UBC Fair Dealing Requirements for Faculty and Staff http://copyright.ubc.ca/requirements/fair-dealing/. Some of these figures and images are subject to copyright and will not be posted to Connect. All material uploaded to Connect that contain diagrams and figures are used with permission of the publisher; are in the public domain; are licensed by Creative Commons; meet the permitted terms of use of UBC’s library license agreements for electronic items; and/or adhere to the UBC Fair Dealing Requirements for Faculty and Staff. Access to the Connect course site is limited to students currently registered in this course. Under no circumstance are students permitted to provide any other person with means to access this material. Anyone violating these restrictions may be subject to legal action. Permission to electronically record any course materials must be granted by the instructor. Distribution of this material to a third party is forbidden.

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 or e-mail him at [email protected].

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: http://okanagan.students.ubc.ca/calendar/index.cfm?tree=3,54,111,0 If you have any questions about how academic integrity applies to this course, please consult with your professor.

Academic Integrity Course Policies

Academic integrity is critical to being a professional developer and a respected person. This is a guide to what is and is not acceptable behaviors in this course.

In-Class Participation and Quizzes and Teamwork Collaboration

Allowed

  • Collaboration in groups of up to 4 on Canvas quizzes and in-class exercises

Not Allowed

  • One person providing all answers for a quiz/exercise to a group of people of any size
  • Sharing, posting, or distributing answers to other students or websites for quizzes/exercises
  • Answering questions for another student or submitting answers on their behalf
  • Requesting help from previous students in the course or other individuals outside of the course
  • Relying on others to do work for me or not contributing reasonable effort to group activities
  • Dividing up the work for a quiz or exercise between members of an approved group (Not Recommended)

Assignments

Allowed

  • Collaborating with your approved group members (usually two) and submitting a shared answer to the assignment
  • Request help from the TA or instructor and use the answer/code that they provide
  • Answer general questions about assignments in chat or discussion forums (Allowed with care)

Not Allowed

  • Working on an individual assignment with a group of people and submitting minor variations of work developed together
  • For group assignment, completing all work independently and providing answer to rest of group
  • Sharing solutions to assignments with other students or on the Internet
  • Receiving solutions to assignments from other sources (students, web, tutors)

Exams

Allowed

  • Using course material including assignments, notes, and quizzes in an open book exam

Not Allowed

  • Using any non-approved resource (people, web, etc.) for exams (severe)
  • Allowing another person to write or complete any part of any exam (severe)
  • Posting or providing answers to students who have not yet completed the exam
  • Requesting help from other people or web services for open book exams
  • Posting or providing exam questions and answers after exam has been completed

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 If you have any questions about how academic integrity applies to this course, please consult with your professor.

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, visit our website for more information: http://students.ok.ubc.ca/drc/welcome.html or contact the DRC at: [email protected]

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; E-mail: [email protected] Web: https://equity.ok.ubc.ca/

Health & Wellness

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. UNC 337 Email: [email protected] Web:www.students.ok.ubc.ca/health-wellness

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 via email: [email protected] or by calling 604.827.2060 or online by visiting investigationsoffice.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. For more information, please visit the Hub’s website (https://students.ok.ubc.ca/student-learning-hub/) or call 250-807-9185.

SAFEWALK

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/ or download the UBC SAFE – Okanagan app.

Reference Material

cosc_304's People

Contributors

rlawrenc avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.