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?
Announcements
- 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!
Schedule
Week | Content |
---|---|
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! Project Details |
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 |
Topics
- 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