Assessment × Cooperation × Exploratory learning × Foresight × Learning styles × Programming × Quality of teaching ×