Exploring the effects of gender and learning styles on computer programming performance: implications for programming pedagogy | Synapse