Investigating students’ perceptions and experiences to broaden participation in computing