Apply to UMichigan as early as you can… if you get in in the fall, then you only need to apply to a handful of other schools… Michigan is in the top 20 for CS… so you should feel very fortunate that you live in a state for which your public flagship has such an outstanding program.
If you get into Michigan, then there is no point in applying to more than half a dozen reaches to see if you win the lottery. Here are the elite private schools that are also in the top 25 for CS:
These are super-elite overall as well as the top of the heap for CS (ranked in top 10):
Carnegie Mellon, MIT, Stanford, Cornell, Princeton
These are super-elite overall with very strong computer science (ranked in top 25):
Columbia, Harvard, Penn, Brown, Rice, USC, Yale, Duke
Again, I’ve excluded public schools because, honestly, there is no point applying to another public when your in-state option is Michigan.