smarty-pants

 
(British also smarty-boots)

noun