Disclaimer: The above resources should only be used as a reference. They are no longer maintained and were submitted as part of the respective courses.