CSE 250 syllabus

pull/1/head
Oliver Kennedy 2021-07-30 00:45:07 -04:00
parent 26e07a66b0
commit fed550d0a0
Signed by: okennedy
GPG Key ID: 3E5F9B3ABD3FDB60
7 changed files with 1163 additions and 17 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
---
redirect: 2021fa/index.html
title: CSE 250 - Data Structures
---
Redirecting you <a href="<%=redirect%>">here</a>...

View File

@ -15,6 +15,14 @@ sli_do_link_small = "
<img src='graphics/slido.png' width='150px'/>
"
%>
<!--
2021 by OK;
- Suggestion for next year: emphasize that the students should add a README file documenting,
among other things, the set of people they discussed the project with.
-->
<section>
<section>

View File

@ -11,6 +11,9 @@ textbook: "Ch. 16.1"
It might also be useful to cover:
- Typechecking
- Schema Generation for RA Trees
- Alias
- Emphasize map/filter/take/etc... Maybe even have those as part of checkpoint 0?
-
2021 by OK:
- All three of the above go away with the switch to Spark, but the corresponding bits should now highlighted.

View File

@ -34,6 +34,10 @@ textbook: "Ch. 15.1-15.5, 16.7"
I made these changes already to 03-09-CostOpt1, so they should probably be backported here next time I teach the class.
Another thing that it might be worth emphasizing next time is the difference between the low-level
discussion of hash tables here (which explicitly deal with hash collisions) and the more common
hash map abstraction (which typically covers hash collisions internally via .equals or similar)
-->
<section>

View File

@ -10,6 +10,10 @@ textbook: Ch. 18.3-18.7, 19.2
it might be worth doing some more thorough examples next year.
Another point that might be made better is that locking is used to enforce ORDER and not ISOLATION. That is, classical OS-style locking is used to keep multiple transactions from executing in parallel (strict serial ordering). 2-phase locking is used to ensure the relative ordering of conflicts. A timeline along the lines of the validation tests in the OCC lecture might be helpful.
2021 by OK
- Review WAIT-DIE/WAIT-WOUND and confirm the ordering with the textbook. In particular, WAIT-DIE
allows older transactions to block on younger ones.
-->
<section>

View File

@ -2,6 +2,37 @@
title: Courses
---
<h2>CSE 250 - Data Structures</h2>
<p>This course provides a rigorous analysis of the design, implementation, and properties of advanced data
structures. Topics include time-space analysis and tradeoffs in arrays, vectors, lists, stacks, queues, and
heaps; tree and graph algorithms and traversals, hashing, sorting, and data structures on secondary storage.
Surveys library implementations of basic data structures in a high-level language. Advanced data structure
implementations are studied in detail. Illustrates the importance of choosing appropriate data structures when
solving a problem by programming projects in a high-level language.
</p>
<ul>
<li><a href="cse-250/2021fa/index.html" style="font-size: 150%">Fall 2021</a></li>
</ul>
<h2>CSE 4/562 - Database Systems</h2>
<p>
<b>Database Systems</b> teaches the inner workings of data management systems. Focus areas include organizational data structures (physical layouts, indexes, materialized views), data processing algorithms (join, sort), query optimization (relational algebra equivalences, query planning, cost modeling), transactional semantics (X-serializability, locking, OCC, MVCC), and recovery (WAL, Undo Logging, ARIES). The course involves a term-long project where students build a query processing system.
</p>
<ul>
<li><a href="cse-562/2021sp/index.html">Spring 2021</a></li>
<li><a href="cse-562/2019sp/index.html">Spring 2019</a></li>
<li><a href="cse-562/2018sp/index.html">Spring 2018</a></li>
<li><a href="cse-562/2017sp/index.html">Spring 2017</a> (Graduate Only)</li>
<li><a href="cse-462/2016sp/index.html">Spring 2016</a> (Undergraduate Only)</li>
<li><a href="cse-562/2015sp/index.html">Spring 2015</a> (Graduate Only)</li>
<li><a href="https://piazza.com/class/hbnssrlgj3o2xl">Spring 2014</a> (Graduate Only)</li>
<li><a href="https://piazza.com/buffalo/spring2013/cse562/home">Spring 2013</a> (Graduate Only)</li>
</ul>
<h2>CSE 662 - Languages &amp; Runtimes for Big Data</h2>
@ -17,23 +48,6 @@ title: Courses
</ul>
<h2>CSE 4/562 - Database Systems</h2>
<p>
<b>Database Systems</b> teaches the inner workings of data management systems. Focus areas include organizational data structures (physical layouts, indexes, materialized views), data processing algorithms (join, sort), query optimization (relational algebra equivalences, query planning, cost modeling), transactional semantics (X-serializability, locking, OCC, MVCC), and recovery (WAL, Undo Logging, ARIES). The course involves a term-long project where students build a query processing system.
</p>
<ul>
<li><a href="cse-562/2021sp/index.html" style="font-size: 200%">Spring 2021</a></li>
<li><a href="cse-562/2019sp/index.html">Spring 2019</a></li>
<li><a href="cse-562/2018sp/index.html">Spring 2018</a></li>
<li><a href="cse-562/2017sp/index.html">Spring 2017</a> (Graduate Only)</li>
<li><a href="cse-462/2016sp/index.html">Spring 2016</a> (Undergraduate Only)</li>
<li><a href="cse-562/2015sp/index.html">Spring 2015</a> (Graduate Only)</li>
<li><a href="https://piazza.com/class/hbnssrlgj3o2xl">Spring 2014</a> (Graduate Only)</li>
<li><a href="https://piazza.com/buffalo/spring2013/cse562/home">Spring 2013</a> (Graduate Only)</li>
</ul>
<h2>UBDB Seminar</h2>