-Optimizing your JS for faster performance when mutating the DOM tree or some large array or object
-Understanding how a client-side framework like Angular or React or Ember actually works, e.g. how a finite state machine works, how the DOM is polled for changes, how templates are processed and rendered, these all require algorithms
-Writing your own client-side framework or compile-to-JS language