Coursera Cryptography I course - programming assignments