--- /dev/null
+TESTCASES [[/10]]
+------------------
+ -3 Not explaining random vs. LRU algorithm
+ -3 Not testing/explaining heavily paging program
+ -3 Not testing/explaining mmap
+ -1 No other test cases
+
+
+DESIGN [[/40]]
+--------------
+
+DESIGNDOC (per problem):
+ -10 Doesn't discuss page table design
+ -10 Doesn't discuss swap design
+ -5 Doesn't discuss page replacement algorithm
+ -5 Doesn't explain how memory mapping works
+
+Overall:
+ -3 Holds a global lock while accessing the disk
+ -1 Gratuitous use of malloc() (e.g. for allocating a list or a lock)
+ -1 Inappropriate use of ASSERT (e.g. to verify that malloc() succeeded)
+
+Swap File Design
+ -10 Doesn't allow out of order pages within swap disk
+ -2 Does not synchronize data structure (give name of data structure here)
+
+Page Table / Page Replacement
+ -10 Doesn't use an inverted, hashed, or other efficient page table design
+ -5 Uses random/sequential page replacement
+ +2 Unusually clever page replacement
+ +5 Sharing code pages
+ -2 Does not synchronize data structure (give name of data structure here)
+
+Demand Paging / Memory Mapping
+ -10 Loading is not at all lazy
+ -5 Loading is not entirely lazy
+ -5 Stack does not grow downward from top of address space
+ -5 Stack does not grow automatically
+ -2 Does not synchronize data structure (give name of data structure here)
+
+
+STYLE [[/10]]
+-------------
+ -5...-10 Fixing code after submission
+ -5 Doesn't compile as submitted
+ +1...+5 Cool test programs etc.
+
+
+COMMENTS
+--------
+