I wasn't very confident in my answers, but I can post my best guesses.
1. The Ken Thompson compiler works by injecting a backdoor when it is compiling the login function. Not only does it inject the backdoor into the executable, but it also knows when it is compiling itself and injects the backdoor generator into the compiler it's generating. With a backdoor function into the login function, the hacker would have full rein to login to the infected user's machine. With this access, it becomes trivial to download new code/malware onto the machine in the same way the real user would.
2.
a) The simplest method to implant malware via buffer overflow is to use shellcode. By placing a binary program on the stack written in shellcode and then changing the return address to the start of this shellcode, the hacker will be able to implant malware.
b) Nowadays, the data section of the stack (the location of the shellcode in a), is marked as non-executable by the operating system, so jumping to this binary via buffer overflow will not cause the program to run. Along with this, operating systems also utilize Address Space Randomization, which makes it very difficult to guess the addresses needed to successfully pull off a buffer overflow attack.
c) ???
3. I think he went over this really quickly in class, but I couldn't hear what he was saying if someone wants to reiterate his answers.