Fundamentals of Programming: Paradigms Intro