usually (but not always) a bad CPS causes random no-starts or instant-stalls (like you turned the engine off).
I would start by cleaning out the throttle body with a toothbrush and some 02-safe throttle body cleaner. it's essentially free, so why not.
after that, try spraying that TB cleaner around while the engine is running and look for vacuum leaks, especially around the intake manifold where it bolts to the head. if a leak sucks it in, the idle speed will quickly change. also free.
after that I would investigate the TPS. if it's faulty, the computer won't be matching the air coming in with the appropriate amount of fuel. somewhere here is a how-to for checking the TPS with a multimeter, but I usually just throw on a different one from the junkyard and see if anything changes. :D
could also be a clogged up cat I guess. or a very weak spark.