Functions (subroutines)

  1. Defining simple function
  2. Defining a function
  3. Parameters can be named
  4. Mixing positional and named parameters
  5. Default values
  6. Several defaults, using names
  7. Arbitrary number of arguments *
  8. Fixed parmeters before the others
  9. Arbitrary key-value pairs in parameters **
  10. Extra key-value pairs in parameters
  11. Every parameter option
  12. Duplicate declaration of functions (multiple signatures)
  13. Recursive factorial
  14. Recursive Fibonacci
  15. Non-recursive Fibonacci
  16. Unbound recursion
  17. Variable assignment and change - Immutable
  18. Variable assignment and change - Mutable
  19. Parameter passing of functions
  20. Passing references
  21. Function documentation
  22. Sum ARGV
  23. Copy-paste code
  24. Copy-paste code fixed
  25. Copy-paste code further improvement
  26. Palindrome
  27. Exercise: statistics
  28. Exercise: recursive
  29. Exercise: Tower of Hanoi
  30. Exercise: Merge and Bubble sort
  31. Solution: statistics
  32. Solution: recursive
  33. Solution: Tower of Hanoi
  34. Solution: Merge and Bubble sort