The program assignments of the Hardware Software Interface on Coursera.