Computing Profession

Teaching Data Science Research Methods to Human Resources Practitioners: Part Two


Our previous blog described a graduate-level course — Research Methods for Human Resources — offered by the Department of Labor Studies at Tel Aviv University to human resources practitioners (managers and recruiters) from various organizations in all three sectors of Israeli industry (public, private, and non-profit). One of the topics taught in this course is data science research. As mentioned, the challenge was to teach data science concepts to students who, on the one hand, have gaps in their computer science background and, on the other hand, are experts in human resources management and practice.

In this blog, and in the next one, we describe how we coped with this challenge while taking advantage of the interdisciplinarity of data science, as an integration of mathematics and statistics, computer science, and the application domain, in our case — human resources management.  

Specifically, we start by addressing the challenge of the computer science knowledge gap (in this blog) and describe how we took advantage of the students’ expertise in the application domain of human resources (in the next blog).

In the first questionnaire distributed at the onset of the semester, one of the students wrote in response to an open question: “I felt anxious when I heard that we will have to learn Python.” This statement clearly reflects programming anxiety, which is defined as a feeling of nervousness or stress when trying to write or debug code, and is usually common in the context of professional software developers (see for example, Vypirailenko, 2020). We decided to use this emotional statement as the basis of an activity that not only practices research methods, but also addresses the emotional aspects it reflects.

Therefore, in the second questionnaire, among other questions, we posed the following questions:

1. What is your programming experience?

  • I have no experience
  • I have a little experience
  • I have a lot of experience
  • If necessary, I can teach programming

2. In response to one of the questions in Questionnaire 1, a student wrote: “I felt anxious when I heard that we will have to learn Python.” In your opinion, what proportion of the class feels the same way?

  • Only a handful of students
  • Quite a lot of them, but less than half
  • Quite a lot of them, more than half
  • Almost everyone
  • Everyone

3. Please explain your answer.

Of the 53 students who answered this questionnaire, 88.7% had no programming experience, 1.9% (1 student) indicated that “If necessary, I can teach programming,” and the remaining 9.4% had only a little experience. With respect to the second question in which they were asked to estimate the prevalence of the feeling of anxiety, 39.6% estimated that more than half of the students felt the same way, 34% estimated that almost all students felt this way, and 15.1% estimated that all of the students felt this way. The rest estimated the prevalence of this anxiety as either “Only a handful of students” (3.8%) or “Quite a lot of them, but less than half” (7.5%).

Table 1 presents examples of explanations given for the prevalence of programming anxiety.

Table 1: Examples of students’ explanations for the prevalence of programming anxiety among the students in the course

Two-stage activity

Stage 1: In a class activity that took place in groups, we presented the students with their answers to the three questions, and asked them to analyze the answers, draw conclusions, and share their conclusions using a shared Google Slides presentation that we prepared prior to the lesson. Specifically, for the first two questions, we presented the distribution of the different answers according to the optional answers, and for the third question, we presented 30 of the 48 explanations mentioned in response to this question.

Stage 2: Following a class discussion, in which the students presented their conclusions (see Table 2), we gave the students another worksheet that presented the other 18 explanations presented as answers to the third question (see Table 3 for several explanations). The students were then asked to determine if and how each explanation fits their previous data analysis, or in other words, to validate the categorization they developed in the previous stage.

Table 2: Examples of students’ analysis of the prevalence of programming anxiety in the class

Table 3. Additional explanations for the prevalence of programming anxiety among the students in Stage 2 of the activity

As planned, this two-stage activity served not only learning purposes, but also fulfilled emotional needs. From the students’ perspective, the activity had several advantages:

  • Based on students’ explanations for studentss estimations of the prevalence of anxiety with respect to Python, we conclude that programming was a topic that was widely discussed among them and was regarded as a challenge. Presenting the distribution of estimations further showed each student that they were not alone in this feeling. Furthermore, the need to share their analyses enabled them to observe this phenomenon from their classmates’ perspective and to realize that other perspectives exist.
  • Analyzing their own explanations deepened the students’ understanding of the phenomenon on the class level, as well as their understanding of their own feelings towards programming on a personal level.
  • The fact that it was their data, which referred to their feelings, increased their interest and motivation to work on it.
  • During this class activity, the students practiced many research activities:
  • They analyzed quantitative as well as qualitative data;
  • they built an organizing framework for the explanations, validated it by checking its suitability (that is, its validity) for the categorization of the additional statements, and refined it according to need.

As the instructors of this course, we not only promoted the learning of a variety of research methods, but we also improved our understanding of students’ feelings and perspectives, and paid special attention to the affective aspect of the students’ learning process, which is crucial to the success of all learning processes.

Thus, despite the Python anxiety students expressed, we plan to integrate basic programming practices into one of the long sessions that will take place in the second semester of the course. Indeed, we could bypass this challenge by introducing data science through one of the visual working environments (e.g., Orange Data Mining, KNIME, and Weka), but we truly believe that some hands-on programming experience is extremely important for human resources practitioners in general, and specifically, for human resources practitioners in the tech industry who recruit software developers and data scientists.

In our next blog, we will describe how we took advantage of the students’ knowledge in the application domain component of data science, in this case, human resources management.


Orit Hazzan is a professor at the Technion’s Department of Education in Science and Technology. Her research focuses on computer science, software engineering, and data science education. For additional details, see Dafna Gelbgiser is a lecturer (tenure track) at the Department of Labor Studies at Tel Aviv University’s Faculty of Social Sciences. Her research examines the sources and patterns of inequality in education and labor market outcomes by race, immigrant status, gender, and social class background. For additional details, see

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More