Don't take CMSC216 with Dr. Fouche. He rambles during lectures and gives unrelated examples without actually teaching the material. Projects are complicated on purpose. Exams are very long and unfair. The books won't help you prepare because questions on exams are unrelated to the material taught in the textbook.

Stay away.