• A controller is a set of JavaScript functions bound to a scope

  • Angular will instantiate a new Controller object, using the specified Controller's constructor function

  • The ng-controller directive tells Angular to instantiate the new controller object, and inject the new scope as a dependency

  • Controller contain business logic for the view

  • Used to set initial state of $scope object and add behaviour to the $scope object