smarty-pants

noun: Someone who presents as being obnoxiously clever.