The suitability of kinesthetic learning activities for teaching distributed algorithms