- 8/20/2020: Pointers on giving research presentations.
- 8/24: Topcoder SRM 640, D1, 250-Pointer - ChristmasTreeDecoration. There is commentary here on the presentation and slides.
- 8/24: Topcoder SRM 639, D1, 250-Pointer - AliceGame.
- 8/26: Topcoder SRM 639, D1, 500-Pointer - BoardFolding
- 8/26: Jgraph.
- 8/01: A-Star.
- 9/2: Topcoder problem: TrianglesContainOrigin
- 9/2: The Plank Random Choosing Algorithm.
- 9/7: Shell Scripting.
- 9/9 & 9/14: Bloom Filters.
- 9/14 & 9/16: Min-Hash.
An interesting use of hashes, and
when theoretical elegance takes a back seat to performance.
- 9/16 through 9/28: Four Interesting Network Flow Problems
- 9/28 and 10/5: Going over Lab 2: The File Allocation Table. I have online lectures for this lab from
when I taught those classes asynchronous. Here they are, if you care. The directory links
won't be correct:
- Part 1: File Allocation Tables in General. (7:19)
- Part 2: XXD and the Jdisk simulator. (17:33)
- Part 3: Details of the lab. (40:34)

- 10/5 and 10/7: PageRank
- 10/12, and 10/14: B-Trees and the
B-Tree Lab
- 10/21: Dr. Huang guest lectured on
Hierarchical Data Structures, Scene Graph and Quaternion. Thank you, Dr. Huang.
- 10/26, 10/28, 11/02: Intellectual Property.
- 11/4: The Floyd-Warshall Algorithm, and Instruction-Level Parallelism. I stop before the All-Pairs flow example. I'll return to it later.
- 11/9 and 11/11: Going over the Floyd-Warshall Lab, and then
SIMD Instructions
- 11/11 and 11/16: The Basics of Erasure Codes, plus a small digression into entropy:
My slides from class.
Here's also a nice overview paper that I wrote in 2013: James S. Plank,
"A Brief Primer on Erasure Codes for Storage Systems", ";login" Magazine, Usenix Association, 2013.
- 11/18: TENNLab - Neuromorphic computing research from my research group.
My slides from class.
- 11/23: Galois Field arithmetic. Here's the best resource:
James S. Plank,
Kevin M. Greenan and Ethan L. Miller, "A Complete Treatment of Software Implementations of Finite Field Arithmetic for Erasure Coding Applications," Technical Report UT-CS-13-717
EECS Department,
University of Tennessee, October, 2013.
- 11/30: Tips for editing photos in Gimp.
- 11/30: XOR-lists, which are a really clever way to implement doubly linked lists with just one pointer. "Optimizing Systems for Byte-Addressable NVM by Reducing Bit Flipping," by D. Bittman, D. D. E. Long, P. Alvaro and E. L. Miller (Santa Cruz).
- 11/30: Edmond's general matching algorithm: The lecture. Although I didn't discuss this in class, here's a paper that show how the general matching algorithm applies to XOR-based Erasure Codes.

- 10/20: Topcoder SRM 614, D1, 250-Pointer - MinimumSquare
- 11/5: The Rabin-Karp pattern matching algorithm.
- 11/24: This is a catch-all lecture, because with all of those jgraph presentations,
were short on time.
- We didn't get to Edmonds General Matching Algorithm this year, which is a bit of
a pity, but we simply didn't have time.

This is the order in which I lectured in 2019.

- 10/3 and 10/8: Rust from Dr. Marz
- 11/7, 11/12 and most of 11/14: Dr. Schuchard talks about cybersecurity. I was only there for his
lecture on Zero Knowledge Proofs -- good stuff!

These are lectures that I did in 2018 that I did not do in 2019

These are lectures that I did in 2017 that I did not do in 2018

- 11/21 and 11/28: Multiplying Matrices, and the Impact of Memory
- 11/30: Multiplying Matrices with Instruction Level Parallelism
- 11/30: I also went over Mario Blaum's EVENODD coding scheme, Liping Xiang's paper on performing recovery with fewer disk operations, and my paper on doing erasure coding with fewer XOR's than you'd think..

These are lectures that I did in 2016 that I did not do in 2017

- 1/21/2016: Topcoder SRM 647, D1, 250-Pointer - BuildingTowersEasy.
- 3/8 and 3/10/2016: Dr. Jantz gave guest lectures on Garbage Collection