# Class Requirements
- attend class
- contribute to the discussion
- present a paper
- write [blog](http://818.kelehers.me/blog.rb) entries
- build massive and awesome projects in Go

# Grading
- Projects: 
  - There will six projects, each with a two-to-three week time window.
  - 10% for the first, 11% each for the rest
  - All projects must get at least half credit to pass the course.
- Paper presentation: 5%
- Blog entries: 10%
  - You are required to upload a blog entry before each class except the first. More details in class.
- Midterm/Final: 20%


# Projects
- P1: Go, and UbiStore
- P2: Security, Verification
- P3: Log Synchronization, gRPC
  - merkel trees
  - background anti-entropy
- P4: RAFT
  - consensus!
- P5: RAFT 2
  - more consensus
    - joint consensus
	- integration into anti-entropy
- P6: Abstractions on a Shared Log
  - transactions
  - high-level abstractions
	
# Things of Note

- [Piazza](https://piazza.com/umd/fall2023/cmsc818e)
  - Do not post code, other than small snippets to illustrate a problem, *no
    code answering question*.
  - I do encourage posting questions about Go usage, FUSE weirdness, etc.
- [Web page](https://sedna.cs.umd.edu/818/)
  - one-stop shop for all info goodness


# What are we doing?

- learning systems by building them
  - building things we can actually use.
