modified CSP1150 lecture 3 post