Building equitable computer science classrooms: elements of a teaching approach
The costs and benefits of pair programming