Interdisciplinary computational thinking with music and programming: a case study on algorithmic music composition with Sonic Pi