Course Lecturer Name(s): Keston Bhola
Course Director Name: N/A
Course Lecturer(s) Contact Information: kbhola001@sgu.edu, ext. 3750
Course Director Contact Information: N/A
Course Lecturer(s) Office Hours: 10:00 – 3:00 | Tue & Thu
Course Director Office Hours: N/A
Course Lecturer(s) Office Location: Leeward Hall, 2nd Floor
Course Director Office Location: N/A
Course Support: Mary Celestine, mcelesti@sgu.edu, ext. 3726
Course Management tool: To learn to use Sakai, the Course management tool, access the link https://apps.sgu.edu/members.nsf/mycoursesintro.pdf
Course Description:
The course covers the design, implementation and management of Database Systems. While SQL based systems have been the standard of databases in recent years, there is recently an exodus towards a classification of systems referred to as NoSQL systems. SQL performs well in structured contexts. As the world is now defined in unstructured contexts, with a plethora of data being generated every day, such NoSQL systems offer scalability and performance improvements over the standard SQL systems. Nevertheless, SQL based systems still form the bedrock of numerous modern systems and its importance and proven stability is important to the functioning of mission critical systems globally. Both systems will be covered with a focus on real world examples. This course builds on Entity Relationship modeling concepts taught in the prerequisite, Introduction to Relational Databases, and introduces NoSQL concepts using the popular MongoDB suite of applications.
Course Objectives:
- Students will appreciate the importance of data as a tool to enable proper decision making.
- Students will be able to understand and relate to structured and unstructured data and the applications of both.
- Students will gain an understanding of the practical aspects of database design and be able to use data modeling tools. They will develop real and useful design skills.
- Students will be introduced to unstructured data languages such as JSON and XML
- Students will be taught how to implement basic unstructured databases using MongoDB.
- Students will learn Structured Query Language (SQL) and use it to implement and manage databases.
- Students will understand how databases are affected by real-world transactions. They will understand the characteristics of database transactions and how they affect database integrity and consistency. They will examine solutions to the potential problems that concurrent transactions may introduce.
- Students will be introduced to basic database performance tuning parameters for SQL based systems. They will build an understanding of the file structures that constitute a database, specifically indexes and be able to implement measures to improve database performance in enterprise databases.
- Students will be introduced to the managerial and technical roles of a Database Administrator.
Student Learning Outcomes:
- Differentiate between structured data models based on their level of abstraction.
- Create and defend a given entity relational diagram against a set of business requirements.
- Compose SQL statements for the purpose of creating, accessing, and modifying relational databases.
- Discuss issues affecting performance of relational databases.
- Argue and defend the need for alternative data management practices to manage the evergrowing sources and repositories of data.
- Design a NOSQL schema using MongoDB software suite of tools
- Compose basic CRUD statements using the MongoDB query language 8. Propose data management solutions for small for medium sized businesses.
Program Outcomes Met By This Course:
- CTPO-1 - Analyse a problem, identify, and define the computing requirements appropriate to its solution
- CTPO-2 - Design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
SAS Grading Scale: Grades will be assigned as follows:
A = 89.5% or better
B+ = 84.5 - 89.4%
B = 79.5 - 84.4%
C+ = 74.5 - 79.4%
C = 69.5 - 74.4%
D = 64.5 - 69.4%
F = 64.4% or less
Course Materials:
Text: Database Systems: Design, Implementation, & Management, 13th Edition, Cengage Learning
Supplementary Readings/Resources: Additional material from Professional Journals, Library
Resources, Web Sites, Annual Reports, Case Studies, Newsgroups, Magazines, and Personal Interviews, ACM Transactions on Database systems
Course Grading Requirement:
Course assessments are broken into these categories
- Assignments: assessments involving theory, research, and analysis.
- Labs: practical assessments primarily involving writing code solutions to specific questions. Little to no explanations are usually required.
- In class: Exercises that are primarily for self-assessment. Most may not be graded. If graded, the weight is significantly less that any full assessment item.
- Exams: assessments under strict controlled conditions.
- Quizzes: Short/in-class assessments (using TurningPoint/Sakai) that assess your understanding of concepts at the end of class sessions. Short/inclass quizzes may not be as rigorously controlled. May be graded but primarily contributes to you assessing your understanding of the material.
Grade Weight distribution is as follows:
- Assignments: 50%
- Practical Labs and In Class Exercises: 30%
- Exams/Quizzes: 20%
Course Requirements:
Software required
XAMPP, Diagrams.net/Draw.io, Notepad++, MongoDB Compass, MongoDB Atlas [Enterprise Server], mongo shell
-TurningPoint
Android: https://play.google.com/store/apps/details?id=com.turningTech.Responseware&hl=en iOS: https://apps.apple.com/us/app/turningpoint/id300028504
-ExamSoft
https://mycampus.sgu.edu/ https://ei.examsoft.com/GKWeb/login/sgu Course Schedule:
Week |
Topics |
|
Week 1 |
Syllabus Discussion |
Plagiarism exercise |
|
The Relational Model: Data Modeling Recap |
In class exercise |
|
|
|
Week 2 |
The Relational Model: Data Modeling Recap |
Assignment 1 given In class exercises x 2 |
|
|
|
Week 3 |
Advanced Entity Relationship Modelling (ERM) |
In class exercises |
|
Normalization |
Assignment 1 due |
|
|
|
Week 4 |
Relational Algebra |
SQL Lab 1 given |
|
Structured Query Language (SQL) |
|
|
|
|
Week 5 |
Relational Algebra |
SQL Lab 2 given |
|
Structured Query Language (SQL) |
|
|
|
|
Week 6 |
Transaction Management and Database Performance Tuning |
Assignment 2 given |
|
|
SQL Lab 1 & 2 due (latest) |
|
|
|
Week 7 |
Midterm Review |
Assignment 2 due |
|
|
|
Week 8 |
MIDTERM WEEK |
Midterm Exam |
|
|
|
Week 9 |
XML and JSON Introduction |
Assignment 3 given |
|
|
In class exercises |
|
|
|
Week 10 |
XML and JSON continued… |
Assignment 3 due |
|
|
In class exercises |
|
|
|
Week 11 |
Databases and the Internet: JavaScript Basics |
Assignment 4 given |
|
|
Assignment 4 Due |
|
|
|
Week 12 |
Unstructured Data and NoSQL |
In class exercises |
|
|
|
Week 13 |
MongoDB -databases, collections, and documents -using compass to connect to MongoDB |
In class exercises |
|
|
|
Week 14 |
MongoDB Software: Compass, Atlas, Enterprise Server |
MongoDB Lab 3 |
|
|
|
Week 15 |
MongoDB Query Language: A deeper look |
MongoDB Lab 4 |
|
|
|
Week 16 |
FINAL EXAM WEEK |
MongoDB Online Quiz |
School of Arts and Sciences Master Syllabi — Info for All Sections
Academic Integrity
The St. George’s University Student Manual (2019/2020) states as follows:
“Plagiarism is regarded as a cardinal offense in academia because it constitutes theft of the work of someone else, which is then purported as the original work of the plagiarist. Plagiarism draws into disrepute the credibility of the Institution, its faculty, and students; therefore, it is not tolerated” (p. 48).
Plagiarism also includes the unintentional copying or false accreditation of work, so double check your assignments BEFORE you hand them in.
Be sure to do good, honest work, credit your sources and reference accordingly and adhere to the University’s Honor Code. Plagiarism and cheating will be dealt with very seriously following the university’s policies on Plagiarism as outlined in the Student Manual.
Your work may be subject to submission to plagiarism detection software, submission to this system means that your work automatically becomes part of that database and can be compared with the work of your classmates.
The St. George’s University Student Manual (2019/2020) states as follows:
“Students are expected to attend all classes and or clinical rotations for which they have registered. Although attendance may not be recorded at every academic activity, attendance may be taken randomly. Students’ absence may adversely affect their academic status as specified in the grading policy. If absence from individual classes, examinations, and activities, or from the University itself is anticipated, or occurs spontaneously due to illness or other extenuating circumstances, proper notification procedures must be followed. A particular course may define additional policies regarding specific attendance or participation” (p. 9).
The St. George’s University Student Manual (2019/2020) states as follows:
“All matriculated students are expected to attend all assigned academic activities for each course currently registered. Medical excuses will be based on self-reporting by students. Students who feel they are too sick to take an examination or other required activity on a specific day must submit the online SAS medical excuse, which is available on Carenage. Students are only allowed two such excuses a year. Upon consultation with the Director of University Health Service, the third excuse will result in a mandatory medical leave of absence. The policies regarding make-up examinations are at the option of the Course Director” (p.46).
For additional specific examination policies and procedures, refer to the St. George’s University Student Manual (2019/2020), pages 31 through 37.
The St. George’s University Student Manual (2019/2020) states as follows:
“A student with a disability or disabling condition that affects one or more major life activities, who would like to request an accommodation, must submit a completed application form and supporting documentation to the Student Accessibility and Accommodation Services (SAAS) located in the Dean of Students Office. It is highly recommended that students applying for accommodations do so at least one month before classes begin to allow for a more efficient and timely consideration of the request. If a fully completed application is not submitted in a timely fashion, an eligibility determination may not be made, and accommodations, where applicable, may not be granted prior to the commencement of classes and/or examinations” (p. 8).
It is the responsibility of the student to read and understand the policies, laws, rules and procedures that while they could affect your grade for a course, have not been specifically outlined in the course syllabus. These are contained in the St. George’s University Student Manual.