Dont take it to a shop just yet thats obviously what you dont want to do. check the car for codes first then go from what the code tells you
www.troublecodes.net should have a listing of codes for you. Also is your car fuel injected or does it have a carb? If the check engine is on chances are the computer has a stored code check that code. I know when my tps was bad the computer simulated a half throttle position so the idle was indeed higher. But also your idle air control valve could be sticking if your car has one or you could have an airleak but i doubt an airleak would cause the check engine light to come on. First check for codes then test whatever the code is saying so if it says your tps test it with a multimeter for resistance also test the plug etc. Just dont go replacing everything it could cost alot of money and be something very simple.