(1) Functions f(x) = x*x 0 or more inputs; exactly zero or one output; can have side effects definition and call/use (2) While-loop (3) Bulls and Cows (P3) (4) Objects and Classes (5) Date Class (P5) COMPUTER SCIENCE is a misnomer; There is a lot of artistic .... boolean expression: found = False index = 7 xs = [1,2,3,4,5,6,7,8,9,10] not found and index < len(xs) not found = True len(xs) = 10 index = 7 index < len(xs) = True True and True = True found = False index = 17 xs = [1,2,3,4,5,6,7,8,9,10] not found and index < len(xs) not found = True len(xs) = 10 index = 17 index < len(xs) = False True and False = False BOTTOM UP PROBLEM SOLVING TOP DOWN PROBLEM SOLVING UP-DOWN PROBLEM SOLVING TUPLE is a list that cannot be modified Python Strings cannot be modified; immutability Python List is mutable s1 = { name = "Raj", courses = [('7003',1.5,'A'), ......]} s2 = { name = "Tony", courses = [(),(),()]} d1 = Date(7,15,2021) d2 = Date(7,16,2021) d1.leap_year() d3 = d1.tomorrow()