Coding Assignment 2: Hidden Markov Models