learn fine-grained details of C++11 and x86-64 assembler with a series of increasingly difficult problems