Engineering undergraduates learning computer system modeling in a constructivist learning environment: multilevel analysis of collaborative and individual learning