This course introduces the dictionary data structure and user-defined functions. You鈥檒l learn about local and global variables, optional and keyword parameter-passing, named functions and lambda expressions. You鈥檒l also learn about Python鈥檚 sorted function and how to control the order in which it sorts by passing in another function as an input. For your final project, you鈥檒l read in simulated social media data from a file, compute sentiment scores, and write out .csv files. It covers chapters 10-16 of the textbook 鈥淔undamentals of Python Programming,鈥 which is the accompanying text (optional and free) for this course. The course is well-suited for you if you have already taken the "Python Basics" course and want to gain further fundamental knowledge of the Python language. Together, both courses are geared towards newcomers to Python programming, those who need a refresher on Python basics, or those who may have had some exposure to Python programming but want a more in-depth exposition and vocabulary for describing and reasoning about programs. This is a follow-up to the "Python Basics" course (course 1 of the Python 3 Programming Specialization), and it is the second of five courses in the specialization.