San Jose State University
College of Science
Department of Computer Science
CS157C, NoSQL Database Systems, Sections 80 and 81, Spring 2023

Course and Contact Information

Course Description

NoSQL Data Models: Key-Value, Wide-Column, Document, and Graph Stores. CAP Theorem. Distribution Models. Current NoSQL Databases: Configuration and Deployment, CRUD operations, Indexing, Replication, and Sharding. Public Data Sets. API Coding and Application Development. NoSQL in the Cloud. Team Project.

Course Learning Outcomes

Upon successful completion of this course, students should be able to:

Course Topics

Topics Weeks
Fundamentals of NoSQL (NoSQL Features, Data Models, and Distribution Models) 1.5
Introduction to MongoDB 1
MongoDB CRUD operations and Advanced Queries 2
MongoDB Replication 0.5
MongoDB Sharding 1
MongoDB Indexes 1
Introduction to Cassandra 0.5
Cassandra Query Language (CQL) 1
Cassandra Data Modeling 0.5
Cassandra Architecture 2
Total 14
Note: Selection of specific NoSQL databases may vary, but should be chosen to compare and contrast data models (e.g., document vs. column-family store) and distribution models (e.g., master-slave vs. peer to peer distribution). For any chosen NoSQL databases, their configuration and deployment, CRUD operations, strategies of indexing, replication, and sharding are expected to be taught.

Required Texts/Readings

Course Requirements and Assignments

Evaluation (Exams)

Grading Information

Technology Requirements

Students are required to have an electronic device (laptop, desktop or tablet) with a camera and built in microphone. SJSU has a free equipment loan (https://www.sjsu.edu/learnanywhere/equipment/index.php) program available for students.

Students are responsible for ensuring that they have access to reliable Wi-Fi during tests. If students are unable to have reliable Wi-Fi, they must inform the instructor, as soon as possible or at the latest one week before the test date. See Learn Anywhere website (https://www.sjsu.edu/learnanywhere/equipment/index.php) for current Wi-Fi options on campus.

Recording Zoom Classes

The Zoom classes will not be recorded. A recorded PowerPoint presentation will be used as part of each class and will be available to the students after the class. The recordings are for instructional or educational purposes, and should only be shared with students enrolled in the class through the course website. Discussions, Q&A, and demonstrations of examples on the board will not be recorded. Students are not allowed to record my Zoom classes.

Online Exams

Proctoring Software and Exams

Exams will be proctored in this course through Respondus Monitor and LockDown Browser. Please note it is the instructor’s discretion to determine the method of proctoring. If cheating is suspected the proctored videos may be used for further inspection and may become part of the student’s disciplinary record. Note that the proctoring software does not determine whether academic misconduct occurred, but does determine whether something irregular occurred that may require further investigation. Students are encouraged to contact the instructor if unexpected interruptions (from a parent or roommate, for example) occur during an exam.

Testing Environment: Setup

Students must:

Technical difficulties

Internet connection issues: Canvas autosaves responses a few times per minute as long as there is an internet connection. If your internet connection is lost, Canvas will warn you but allow you to continue working on your exam. A brief loss of internet connection is unlikely to cause you to lose your work. However, a longer loss of connectivity or weak/unstable connection may jeopardize your exam.
Other technical difficulties: Immediately email the instructor a current copy of the state of your exam and explain the problem you are facing. Your instructor may not be able to respond immediately or provide technical support. However, the copy of your exam and email will provide a record of the situation.

Contact the SJSU technical support for Canvas:

Technical Support for Canvas Email: ecampus@sjsu.edu Phone: (408) 924-­‐2337
https://www.sjsu.edu/ecampus/support/

Classroom Protocol

University Policies

COVID-19 and Monkeypox

Students registered for a College of Science (CoS) class with an in-person component should view the CoS COVID-19 and Monkeypox Training slides for updated CoS, SJSU, county, state and federal information and guidelines, and more information can be found on the SJSU Health Advisories website. By working together to follow these safety practices, we can keep our college safer. Failure to follow safety practice(s) outlined in the training, the SJSU Health Advisories website, or instructions from instructors, TAs or CoS Safety Staff may result in dismissal from CoS buildings, facilities or field sites. Updates will be implemented as changes occur (and posted to the same links).

CS157C: NoSQL Database Systems, Spring 2023: Semester Schedule

Subject to change with fair notice.
Week Topics Assignments
1 Course Orientation
1 Fundamentals of NoSQL
2 Fundamentals of NoSQL
2 Fundamentals of NoSQL
3 Fundamentals of NoSQL
3 Fundamentals of NoSQL
4 Introduction to MongoDB
4 Introduction to MongoDB
5 Introduction to MongoDB
5 MongoDB CRUD operations and Advanced Queries
6 MongoDB CRUD operations and Advanced Queries
6 MongoDB CRUD operations and Advanced Queries
7 MongoDB CRUD operations and Advanced Queries
7 MongoDB Replication
8 MongoDB Replication
8 MongoDB Replication
9 MongoDB Sharding
9 MongoDB Sharding
10 MongoDB Sharding
10 MongoDB Indexes
11 MongoDB Indexes
11 MongoDB Indexes
12 Introduction to Cassandra
12 CQL
13 CQL
13 CQL
14 Cassandra Data Modeling
14 Cassandra Data Modeling
15 Cassandra Architecture
15 Cassandra Architecture
Final Section 80: Tuesday, May 23 7:15-9:30 AM
Section 81: Monday, May 22 9:45 AM-12:00 PM
Last Updated Sep 13, 2023