If you want to have fun and learn a lot, then this course lectured by professor Samir is what you need. The course is challenging but not too bad. The professor helps a lot, easy on deadlines, and grades fairly. Trust me, you will enjoy it.