How Collaboration Shapes Computational Thinking: Evidence from Iterative Block-Based Programming in Higher Education