the mini-project solutions to Principles of Computing Coursera