Bryn Mawr College
CMSC 383: Data Structures
Syllabus -- Spring 2022
Last updated: Feb 1, 2022
1 Jan 19 Intro DB background Sail: Ch 1
2 Jan 24 DB background, databases generically sail: ch 1, 2
3 Jan 26 SQL Select, delete, update -- maybe also using subqueries and with Sail: ch 3
4 Jan 31 SQL Join, the SQL "with" statement Sail ch 4, Lateral Join video
5 Feb 2 SQL and Programming languages: ODBC, Python, Java Hibernate Sail: ch 6
6 Feb 7 Into to HTML. URIs and HTTP. Sail: Ch 5
7 Feb 9 Intro to Javascript. Working with the DOM in Javascript. (JQuery?)
8 Feb 14 Communicating from the client side:queries, polling, long polling, server side events, web sockets
9 Feb 16 Student talks: Javascript closures -- Al, Javascript and JSON - Anna (client side page creation), SQL procedures, triggers -- Trang. Sail: ch 6
9 Feb 21 Node JS, basic web server setup, express. (Sara, Mohamed)
10 Feb 23 Node JS: 3 student talks: Server sent events (client and server), Web Sockets (client and server), Postgres and Node (server only)
11 Feb 28 Midterm!!!
12 Mar 2 Creating tables in SQL, updating, inserting and deleting records. NO LAB Sail: ch 6
13 (after break) Mar 13 relational DB -- normal forms sail: ch 7.3, https://www.guru99.com/database-normalization.html, https://en.wikipedia.org/wiki/Database_normalization (only through 3NF), https://www.geeksforgeeks.org/normal-forms-in-dbms/https://www.javatpoint.com/dbms-normalization
14 Mar 15 Arrays and user-defined data types in PostgreSQL, NoSQL in Postgres: https://www.compose.com/articles/faster-operations-with-the-jsonb-data-type-in-postgresql/, https://heap.io/blog/when-to-avoid-jsonb-in-a-postgresql-schema, https://www.citusdata.com/blog/2016/07/14/choosing-nosql-hstore-json-jsonb/, http://www.silota.com/docs/recipes/sql-postgres-json-data-types.html, https://blog.crunchydata.com/blog/better-json-in-postgres-with-postgresql-14 sail: ch 8, sail ch 29 (on-line)
15 Mar 21 Intro to Mongo Student presentations: Mongo Book : Ch 2 -- through pg 25, Mongo Ch 3 the C, U and D of CRUD
16 Mar 23 More Mongo: R of CRUD 3 student presentations: Mongo book: Ch 4: -- through pg 63, and 63 to end, Mongo aggregation (ch 7)
17,18 March 28, 30 Indexing, B+ trees, Indexing approaches in RDBMS and Mongo, Mongo and Python Mongo: ch 5; sail: ch 14
19 April 4 NO class
20 April 6 Map-Reduce & Page Rank Sail 10.3 & online 31
21 April 11 Transactions Sail ch 18
22 April 13 Concurrency sail: ch 18
23 Spreadsheet Databases
24 Parallelization hadoop (sail 20-22) & Mongo sharding (Mongo book ch 14-17)