Yes, get the codes first.
Guessing would be a waste of time.
The computer uses the IAC(idle air control) valve to set the idle, this is a step motor that the computer can set at over 100 positions, the motor opens and closes a valve to let more or less air into the intake, more air = higher RPM, less air = lower RPM.
The valve on this can get "sticky" so it doesn't always go where computer wants it, so computer has to readjust it.
If this happens computer will turn on CEL.
EVAP(gas tank vent) system has a valve controlled by computer, computer uses engine vacuum to suck gas fumes from fuel tank, if this valve is acting up CEL will come on, and if there is a vacuum leak on the EVAP system idle can go up suddenly then computer uses IAC valve to lower it.
Vacuum leaks on other hoses can do the same thing.
And there is more.....................get the codes and write them down, no "I think they said 123456............", lol.