When approaching CS education research, it is important to keep in mind which population the research is studying. The skills, cognitive abilities, motivations, etc. can vary widely, requiring, for example, different pedagogical techniques to promote effective learning. Here are some example populations; however, these should probably be viewed as a rather crude partitioning:
Similar to different populations of learners, different skills may also require different pedagogical approaches to create effective learning. Here are some examples of skills that are commonly the focus of CS education: