Fundamentals of Programming: Python Course Notes