self learning for nand2tetris