abstract thinking Courses