smartypants

noun

A person who annoyingly shows off how clever they are.