• 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.