My solutions to MIT's 6.005 assignments.
Find English words in the digits of Pi.
Implement a simple midi keyboard - play notes, change instruments, change octaves and record/play recording.
Implement a calculator parser.
- Define a grammar:
Symbols:
+, -, *, /
scalar, in (inches), pt (point)
( )
Grammar:
calculator ::= (regular | parenthesised)+
parenthesised = OPEN_P (regular | parenthesised)+ CLOSE_P
regular ::= (unit operator unit)+
unit ::= scalar | IN | PT
operator ::= PLUS | MINUS | MUL | DIV
scalar ::= [\d]
- Implement the lexer to tokenize the input.
- Implement the parser to evaluate the expressions.
- Put it all together.
Implement the DPLL algorithm and use it to solve sudoku puzzles.
Make a server to do prime factor searching. Create a client that makes requests to servers it is connected to. The client's connected servers must perform its operations concurrently.
Implement a server and thread-safe data structure for playing a multiplayer variant of "Minesweeper".
Make a simple Jotto playing client that communicates with a server.