2.2   Programming Fundamentals