Parallel Islands: A Diversity Aware Tool For Parallel Computing Education