School or Shoal?
A random assemblage of fish merely using some localised resource such as food or nesting sites is known simply as an aggregation.
When fish come together in an interactive, social grouping, then they may be forming either a shoal or a school depending on the degree of organisation.
A shoal is a loosely organised group where each fish swims and forages independently but is attracted to other members of the group and adjusts its behaviour, such as swimming speed, so that it remains close to the other members of the group.
Schools of fish are much more tightly organised, synchronising their swimming so that all fish move at the same speed and in the same direction. Shoaling and schooling behaviour is believed to provide a variety of advantages.
Tony Shih on Flickr; Info from Wikipedia