This course will expose students to design and implementation of Database systems and team software development. The course introduces relational database design, query languages including SQL, theory behind the design of relational schemas and normal forms, database application development, and team software development. It introduces Not just SQL (NoSQL) database systems, types of NoSQL databases, and design of NoSQL databases. A semester long team project requiring the design and implementation of a relational database system and full stack development. As part of the Writing in the Disciplines (WID) requirement, a number of written reports will be assigned (in this class and in CS2501) and classroom discussions will be required.
Note: Students taking this course are also expected to be taking CS2501 to meet the degree requirements.
WARNING: This version of the site is from 2021 - perhaps you want a newer version?
- The course will meet on Zoom. Log into Blackboard for the Zoom link!
- Use our Slack Message Board!
- This website is under construction. Check the syllabus or last year’s edition for a sense of what is to come!
|Week 1||Monday 1/11: Intro to Databases and the Web Lecture Slides - Video (see Slack for password)
Wednesday 1/13: More DB Intro and Course Logistics Lecture Slides - HTML/CSS Lab Slides - Lecture+Lab Video
DUE: Lab Activity 2 on Friday 1/15 - submit by registering here
|Week 2||No classes.
DUE: Python Training and Assignment by Sunday 1/24 11:59PM
|Week 3||Monday 1/25: Relational Model Lecture Slides - Video (see Slack for password)
Wednesday 1/27: Relational Algebra Lecture Slides - Python Flask Web Development Lab Slides - Lab/Lecture Video (see Slack for password)
Suggested: Read Building Queries with Relational Algebra
DUE: Lab 2 on Tuesday 2/2 11:59PM - submit here
Optional: Resubmit RPS HW by Friday 2/5 (see #course-announcements on slack)
|Week 4||Monday 2/1: SQL DDL Lecture Slides - Video
Wednesday 2/3: SQL DML Lecture/Lab Slides - Video
DUE: SQL Lab on Tuesday 2/9 11:59PM - submit here
DUE: Relational Algebra HW on Monday 2/15 11:59PM
|Week 5||Monday 2/8: Entity-Relationship Model Lecture Slides - Video
Wednesday 2/10: Normalization Slides - Flask + SQL Lab Slides - Lecture + Lab Video
DUE: Flask+SQL Lab due Tuesday 2/16 11:59PM - submit here
|Week 6||Monday 2/15: NO CLASS
Wednesday 2/17: More Normal Forms Lecture Slides - Lecture Video
AWS Lab Slides - Lab Video (sorry, first few minutes were not recorded) - AWS Installation Guide
Suggested: Read Dr. Simha’s Normalization Notes
Note: This week’s lab does not need to be submitted, but you will use the code for a later HW
|Week 7||Monday 2/22: Project Overview & Shopping Cart Lecture Slides - Video - Shopping Cart ER Diagram
Wednesday 2/24: Exam Review Slides - Video
DUE: SQL HW due 2/24 before class
DUE: Normalization HW due 2/24 before class
|Week 8||Monday 3/1: MIDTERM! - Exam Info Page
Wednesday 3/3: Git and Project Prep Lab Slides - Lecture/Lab Video
Due: Shopping Cart HW due
Get VS Code set up!
|Week 9||Monday 3/8: Agile Development Lab Slides - Video
Wednesday 3/10: Mentor Meetings and DBMS Internals Slides - Video
Due 3/10: Each team must complete their team charter with their Git (Lab 8) and Agile development (Lab 9) plans.
Due 3/10: All team members must complete the Team Feedback Form
|Week 10||SPRING BREAK!
Project 5 Questions due Wednesday March 17 - submit as git issue
|Week 11||Monday 3/22: Programming tips and Limitations of RDBMS Lecture Slides - Video
Wednesday 3/24: Python Data Structures Lab Slides - Video and Mentor Meetings
|Week 12||Monday 3/29: NoSQL Lecture Slides - Video
Wednesday 3/31: NoSQL Part 2 Lecture Slides - Data Analytics in Pandas Lab Slides - Video (starts ~7:00)
|Week 13||Monday 4/5: Project Phase 1 Preliminary Demo - Team Feedback Form
Wednesday 4/7: Indexing Slides - Security Slides - Video
|Week 14||Monday 4/12: Project Phase 1 DUE
Wednesday 4/14: Phase 2 Intro Video and Sophomore Focus Group
|Week 15||Monday 4/19: Web App Architecture Slides - Video
Wednesday 4/21: Web Services Lab Slides - Video and Mentor Status Checks
|Week 16||Monday 4/26: No-Grade Quiz + Course Evals - Video
Wednesday 4/28: Web Tech + Mentor Meetings Slides - Video
Thursday 4/29 (GW Monday): Course Summary Slides - Video
- Course Overview and Introduction to Database Systems
- Introduction to the Relational Model and Relational Algebra
- SQL and programming in SQL (MySQL)
- Theory of relational schema design and normal forms
- Entity Relation Model and ER to Relational mapping
- Database Management System Design
- Views, Security in SQL
- Introduction to NoSQL and Data Analytics
- Web Application Development
- Team Software Development