Course Description
This course explores modern databases that do not strictly follow the relational database design and SQL. Advantages and disadvantages will be discussed. Students will be required to work
with at least one NoSQL databases and write a program that utilizes it.
Credits: 3,prerequisites: CMPS 163, CMPS 261.
Course Preview
In this course we will have the opportunity to work with Google Firebase. It’s something unique. It acts as your server, API and datastore. Firebase does all the work for you. Firebase is a realtime database, where most databases require you to make HTTP calls to get and sync your data.
We will learn about how websockets are much quicker than HTTP and will provide a quicker way to sync your data through the network.
Course Syllabus
Course Modules
Module 1: JavaScript in the Full Stack
Module 2: Node and MongoDB Basics
Module 3: Understanding the Basics and CRUD Operations
Module 4: Introduction to Express
Module 5: Templating with Handlebars
Module 6: Controllers and View Models
Module 7: MongoDB with Node.JS, Mongoose
Module 8: RESTful API
Module 9: Quality Assurance Testing
Module 10: Deployment Services (Development Operations)
Module 11: Other Web Frameworks
Module 12: Single Page Applications
Module 13: Review
Module 14: Final Project Presentation
Module 15: Final Exam
Course Objectives
- Decide when NoSQL databases are applicable.
- List the differences between SQL and NoSQL databases.
- Explain the tradeoffs of NoSQL databases.
- Analyze scalability considerations.
- Learn to work with at least one NoSQL database.
Course Topics
- NoSQL databases
- Scalability
- Query languages