San Jose State University College of Science Department of Computer Science CS185C, NoSQL Database Systems, Section 1, Spring 2018

Similar documents
San Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

Course and Contact Information. Course Description. Course Objectives

Course and Contact Information. Course Description. Course Objectives

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1 and 2, Spring 2016

Course and Contact Information. Catalog Description. Course Objectives

San José State University Computer Science Department CS157A: Introduction to Database Management Systems Sections 5 and 6, Fall 2015

San José State University College of Science / Department of Computer Science Introduction to Database Management Systems, CS157A-3-4, Fall 2017

San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

San José State University Department of Computer Science CS166, Information Security, Section 1, Fall, 2018

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Fall 2017

San Jose State University - Department of Computer Science

San José State University Science/Computer Science Database Management System I

San José State University Department of Computer Science CS 166 / SE 166, Information Security, Section 4, spring, 2017

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

San José State University Computer Science CS 122 Advanced Python Programming Spring 2018

CMPE 280 Web UI Design and Development

CPS352 Database Systems Syllabus Fall 2012

Rochester Institute of Technology Golisano College of Computing and Information Sciences Department of Information Sciences and Technologies

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

San José State University College of Science / Computer Science Department Data BS Management Systems 2, CS 157B-02, Spring, 2017

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018

When does RDBMS representation make sense When do other representations make sense. Prerequisites: CS 450/550 Database Concepts

CMPE 280 Web UI Design and Development

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

FORM I: SUMMARY PAGE FOR PROPOSAL # CSCI

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

CMPE 152 Compiler Design

CMPE/SE 135 Object-Oriented Analysis and Design

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

Advanced Topics in Database Systems Spring 2016

ISM 324: Information Systems Security Spring 2014

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS LINUX SYSTEM ADMINISTRATION CSIT 2411

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development

Dr. Angela Guercio Dr. Natalia Dragan. Spring 2011

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS LINUX ADVANCED SYSTEM & NETWORK ADMINISTRATION CSIT 2475

Advanced Relational Database Management MISM Course S A3 Spring 2019 Carnegie Mellon University

CS/SE 153 Concepts of Compiler Design

CS/SE 153 Concepts of Compiler Design

CMPS 182: Introduction to Database Management Systems. Instructor: David Martin TA: Avi Kaushik. Syllabus

The Linux Command Line: A Complete Introduction, 1 st ed., by William E. Shotts, Jr., No Starch Press, 2012.

CS157a Fall 2018 Sec3 Home Page/Syllabus

Introduction to Information Technology ITP 101x (4 Units)

CSCI 434 INTRODUCTION TO LOCAL AREA NETWORKS (SPRING 2015)

PELLISSIPPI STATE COMMUNITY COLLEGE MASTER SYLLABUS ROUTING/SWITCH CONFIGURATION CSIT 2750

INFS 2150 (Section A) Fall 2018

Gerlinde Brady Phone: Office Hours: see Web at:

San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 3 & 4, Fall Semester, 2016

Syllabus. Computer Science Information Technology 975. Information Storage and Management for Computer Networks

Web Programming Fall 2011

ESET 349 Microcontroller Architecture, Fall 2018

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS HPC INTERNETWORKING & GRID TECHNOLOGY HPC 1020

San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 1 & 2, Fall Semester, 2017

CSCI 6312 Advanced Internet Programming

University of North Texas ACCT 4100 (3 hours) Accounting Systems. Section Time Place 001 TR 12:30 1:50 p.m. Busi R 6:30-9:20 Busi 231

CMPE 152 Compiler Design

Cleveland State University

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

GET 433 Course Syllabus Spring 2017

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

Compilers. Computer Science 431

EECE.2160: ECE Application Programming Spring 2017

CS 241 Data Organization using C

University At Buffalo COURSE OUTLINE. A. Course Title: CSE 487/587 Information Structures

ISATI 231: Windows Client (4 credits) Spring 2018 Mon, Tue, Wed, Thu, 13:10-14:40, MTB 105

San José State University College of Science/Department of Computer Science CS152, Programming Paradigms, Sections 1 & 2 Spring Semester, 2018

Database Systems: Concepts, design, and implementation ISE 382 (3 Units)

Syllabus -- CIS Computer Maintenance / A+ Certification

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

IS Spring 2018 Database Design, Management and Applications

Database Security MET CS 674 On-Campus/Blended

A: 90% - 100% B: 80% - <90% C: 70% - <80% D: 60% - <70% F: < 60% Important Dates:

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS HPC INTERNETWORKING & GRID TECHNOLOGY HPC 1020

Introduction to UNIX

programming exercises.

Del Mar College Master Course Syllabus. UNIX System Administration Course Number: ITSC1358

CSCI 201L Syllabus Principles of Software Development Spring 2018

Internet Web Technologies ITP 104 (2 Units)

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

San José State University Department of Computer Science CS158B, Computer Network Management, Section 1, Fall 2016

COLLEGE OF DUPAGE CIS 2542 Advanced C++ with Data Structure Applications Course Syllabus

SYLLABUS. CISN 308 Internetworking with TCP/IP Section Units CISN 302 CLASS NAME AND TITLE (COURSE CODE): Prerequisites:

Advanced Relational Database Management MISM Course F A Fall 2017 Carnegie Mellon University

CMPE 152 Compiler Design

INST Database Design and Modeling - Section 0101 Spring Tentative Syllabus

ECONOMICS 5317: CONTEMPORARY GOVERNMENT AND BUSINESS RELATIONS

INF 315E Introduction to Databases School of Information Fall 2015

FSE 100x: Introduction to Engineering: Imagine. Design. Engineer! Spring C 2018

CSc 2310 Principles of Programming (Java) Jyoti Islam

You must pass the final exam to pass the course.

Info Sys 422/722 & ISyE 722. Computer Based Data Management. Fall, 2016

Syllabus Revised 01/03/2018

COURSE SYLLABUS FOR. COMP-297 Web Page Design: Adobe Dreamweaver

Computer Science Department

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

MGMT 4336 Networks & Data Communication Section D10

IS 331-Fall 2017 Database Design, Management and Applications

Transcription:

San Jose State University College of Science Department of Computer Science CS185C, NoSQL Database Systems, Section 1, Spring 2018 Course and Contact Information Instructor: Suneuy Kim Office Location: MacQuarrie Hall 217 (MH217) Telephone: 408-924-5122 E-mail: suneuy.kim@sjsu.edu (Preferred mode of contact is via email.) When you send me an e-mail to ask a question, use [Q] in a subject line to get a reply from me within a reasonable response time. Here is an example subject line to ask a question. [Q] lecture note Office Hours: TW 9:20 am - 10:20 am Class Days/Time/Classroom Section 1 (Lecture): TR 10:30-11:45, MH422 Course Prerequisites: CS157A (or a grade of C- or better) Course Web Site at http://www.cs.sjsu.edu/~kim/nosql Announcements and course materials will appear here. It is updated frequently. You are strongly encouraged to check out this course web page regularly. Course Description NoSQL Data Models: Key-Value, Column-Family, 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: Know the main NoSQL data models: Key-value, column-family, document, and graph stores Perform comparative analysis on NoSQL data models and relational data model Understand data distribution methods: replication and sharding Understand master-slave and peer-to-peer replications Understand Brewer's CAP Theorem and its implications for NoSQL database systems Understand the essentials of NoSQL data management through the CRUD operations and the querying mechanisms Understand NoSQL database system components and their communication protocols for the read and write process Select an appropriate NoSQL database for the use case at hand and design applications to efficiently work with the chosen database 1 of 6

Course Topics Topics Features of NoSQL Databases 0.5 NoSQL Data Models 1.0 NoSQL Distribution Models 0.5 Introduction to MongoDB 0.5 MongoDB CRUD operations 0.5 MongoDB Advanced Queries 0.5 MongoDB Indexes 0.5 MongoDB Replication 0.5 MongoDB Sharding 0.5 API coding with MongoDB 0.5 Introduction to Cassandra 0.5 Cassandra Query Language (CQL) 1 Cassandra Data Modeling 0.5 Cassandra Architecture 1.5 API coding with Cassandra 0.5 NoSQL in the cloud: Amazon AWS 0.5 Processing NoSQL data: Map-Reduce, Hadoop Hive 0.5 Project proposal presentations 1.5 Paper presentations 2 Total 14 Weeks Note: Selection of specific NoSQL databases may vary, but should be chosen to compare and contrast data models (e.g., document vs. wide column 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 Textbook: None required References NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence by Parmod J. Sadalage and Martin Fowler (not available in the Kings) MongoDB: The Definitive Guide: Powerful and Scalable Data Storage 2nd Edition by Kristina Chodorow, May 2013 The Definitive Guide to MongoDB: A Complete Guide to Dealing with Big Data using MongoDB, Third Edition by David Hows, Peter Membrey, Eelco Plugge and Tim Hawkins, December, 2015 Mastering Apache Cassandra - Second Edition by Nishant Neeraj, March 26, 2015 2 of 6

Cassandra: The Definitive Guide: Distributed Data at Web Scale Jul 22, 2016 by Jeff Carpenter and Eben Hewitt Other readings: A list of additional references will be provided per topic as needed. Course Requirements and Assignments Programming Assignments: 4~5 individual programming assignments are given, unless otherwise specified. Team Project A team of three people conducts the project. The project involves configuring and deploying a NoSQL database, data population, and programming using API. There will be a 15 minute-long project proposal presentation per team. The final result of the project will be submitted through the project submission link on the course web site. Team Presentation A team of three people will study an assigned paper and give a 30 minute-long presentation. The team will choose a paper from the list which will be prepared by the instructor. Submission/Late Policy Any assignments/project turned in past the deadline will get a penalty: For each late day, a 20% of the maximum obtainable score of the work will be taken out of what you earned. (a late day is one 24 hour period beyond the due date). For example, suppose the maximum score of an assignment is 100 and you earned 80 points. If the submission is late by two days, the final score of the assignme nt would be 80-2 * 20 = 40. Any submission turned in more than 48 hours past the deadline will result in a grade of zero for that assignment. On-line submission: You can submit your work multiple times. If then, the latest one will be considered as the final submission. If the final submission is late, the late policy will be applied. E-mail submissions will not be accepted for grading. Teamwork Policy Once a team is formed, it will last throughout the semester. If you dissolve your team, a significant amount of penalty will be determined by the instructor and given to both parties. For the project, students are expected to submit their peer evaluation in addition to the final report. The task responsibility and contribution of every team member must be precisely documented in a peer evaluation form. Software MongoDB Cassandra Oracle Virtual Box Linux (Ubuntu, CentOS, etc) Programming Language: Java and/or Python Evaluation (Exams) There will be one midterm exam and one comprehensive final exam. The exams are scheduled as below. The dates of midterm exams are subject to change with fair notice, but the final exam date is firm and cannot be changed. 3 of 6

Midterm Exam: TBA Final Exam: Tuesday, May 22, 0945-1200 Makeup Exam Policy Absolutely no make-up exams will be offered under any circumstances. For those who couldn't take the exam or worked hard but had a bad day on the exam day ending up with a low score, I offer the following opportunity to possibly replace your worst midterm score with the final score. If your final exam (percentage) grade is higher than your worst midterm (percentage) grade, then I will replace the worst midterm grade with your final exam grade. For example, if you have a 60% on your worst midterm and you receive an 80% on the final exam, I will replace the 60% by 80% in the computation of your course grade. Grading Information You will receive the final grade based on the weighted average score on your performance. The grading weights are as follows. Assignments: 20% Midterm: 20% Final Exam: 25% Project: 20% Presentation: 13% Participation: 2% (participating in project presentation sessions) First I try scores of 90, 80, and 70 to cutoff letter grades of A-, B-, and C-, respectively. If overall class performance is too low to use these cut offs, I set a cut off of C- to a lower score than the class total average but a higher score than 60 (this number may change), and divide the students' group above the cut off of C- into A+, A, A-, B+, B, B-, C+, C, C-. The rest of students will be given by a grade of D+, D, D-, F or WU depending on their class performance. The same method will be applied to every student enrolled in the class including graduate students. Classroom Protocol Policy on Academic Integrity Any cheating on an exam will result in a grade of F in the class. If duplicate programs are found, both the provider and the copier will receive 0 point on the assignment. A second offense results in a grade of F in the class. Any incident of academic dishonesty will be reported to University for disciplinary action. Attendance: University policy F15-12 at http://www.sjsu.edu/senate/docs/f15-12.pdf states that "Students should attend all meetings of their classes, not only because they are responsible for material discussed therein, but because active participation is frequently essential to insure maximum benefit for all members of the class. Attendance per se shall not be used as a criterion for grading." Consent for Recording of Class and Public Sharing of Instructor Material : University Policy S12-7, http://www.sjsu.edu/senate/docs/s12-7.pdf, requires students to obtain instructor's permission to record the course: "Common courtesy and professional behavior dictate that you notify someone when you are recording him/her. You must obtain the instructor's permission to make audio or video recordings in this class. Such permission allows the recordings to be used for your private, study purposes only. The recordings are the intellectual property of the instructor; you have 4 of 6

University Policies not been given any rights to reproduce or distribute the material." "Course material cannot be shared publicly without his/her approval. You may not publicly share or upload instructor generated material for this course such as exam questions, lecture notes, or homework solutions without instructor consent." Per University Policy S16-9, university-wide policy information relevant to all courses, such as academic integrity, accommodations, etc. will be available on Office of Graduate and Undergraduate Programsâ Syllabus Information web page at http://www.sjsu.edu/gup/syllabusinfo/â CS157C: NoSQL Database Systems, Spring 2018: Semester Schedule Subject to change with fair notice. Week Dates Topics 1 Course Orientation 1 Features of NoSQL Databases 2 NoSQL Data Models 2 NoSQL Data Models 3 NoSQL Distribution Models 3 Introduction to MongoDB 4 MongoDB CRUD operations 4 MongoDB Advanced Queries 5 MongoDB Indexes 5 MongoDB Replication 6 MongoDB Sharding 6 API Coding with MongoDB 7 Project Proposal Presentation 7 Project Proposal Presentation 8 Project Proposal Presentation 8 Midterm 9 Introduction to Cassandra 9 Cassandra Query Language (CQL) 10 Cassandra Query Language (CQL) 10 Cassandra Data Modeling 11 Cassandra Architecture 11 Cassandra Architecture 12 Cassandra Architecture 12 API Coding with Cassandra Assignments 5 of 6

13 NoSQL in the cloud 13 Map-Reduce, Hadoop Hive 14 Presentation 14 Presentation 15 Presentation 15 Presentation Final Tuesday, May 22, 0945-1200 6 of 6