• 00:00 The Functions chapter
• 00:40 Why use functions?
• 04:33 Defining simple function
• 08:28 Functions - pass parameters by position.
• 10:11 Functions - pass parameters by name.
• 11:43 Mixing positional and named parameters.
• 15:20 Default values, optional parameters
• 19:18 Several defaults, using names
• 21:04 Arbitrary number of arguments *
• 26:45 Fixed parameters come before the others.
• 28:00 Arbitrary key-value pairs in parameters **
• 30:50 Extra key-value pairs in parameters
• 31:10 Every parameter option
• 32:11 Duplicate declaration of functions
• 38:03 Recursive functions (recursive factorial)
• 46:00 Recursive Fibonacci function
• 49:30 Non-recursive Fibonacci
• 51:50 Unbound recursion
• 53:18 Variable assignment and change - immutable, mutable
• 55:35 Parameter passing of functions
• 1:00:20 Function documentation
• 1:01:17 Copy-paste code
• 1:07:00 Exercises
• 1:07:24 Returning multiple values from a function
• 1:13:00 Exercise: Merge and Bubble sort
• 1:15:23 Exercise: Refactor earlier solutions to use functions.