You could pay attention to the CEL being lit up. Pull the codes and see what it is trying to tell you. The MAP sensor will adjust the amount of fuel fed to the engine based upon the load [vacuum inside the intake manifold]. When the throttle is closed, vacuum is relatively high, so it has light load. With the pedal to the metal, the throttle is wide open, and the vacuum inside the intake is very low. The MAP 'knows' the vacuum [Manifold Absolute Pressure] and tells the ECM what the load is. If they go whacky, your idle will be all over the place, but it would run decent at higher speeds, though I think it would use too much fuel.
The engine coolant temp and air charge temp sensors, ECT & ACT one or both could be acting up. When the engine is cold, the ECM will bump up the idle speed by opening up the IAC a bit more. Both coolant temp and incoming air temp are monitored. If they send the wrong information, the ECM will try to fiddle with the idle speed and mix as best it knows how. I think there is a specific ohm's resistance for each depending on temperature. You could remove them and test them using hot/cold water and a thermometer to see if their resistance changes as it should.
tom