Our last three blogs 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 the Israeli economy (public, private, and non-profit). One of the topics taught in this course is data science research. As we emphasized in these blogs, 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.
Specifically, in one of these blogs, we described how we handled students' expression of programming anxiety in a way that did not involve programming. Nevertheless, since we do believe that programming experience is crucial for human resources practitioners in the data and tech era, we decided not to entirely give up the idea of imparting some programming experience to our students. We therefore designed four Colab notebooks that gradually introduce the students to the world of programming and enable them to experience the taste of the programming activity.
Why should human resources practitioners gain some programming experience?
In a class discussion we facilitated on the above question, students suggested the following four arguments, addressing four different levels:
- Personal level: Reducing the anxiety of human resources practitioners, enhancing their self-efficacy as employees in a technology-oriented industry, and promoting their professional development;
- Professional level: Improving the human resources practitioners' understanding of the profession of data science in general, and of the skills required for its performance in particular. Since all organizations are becoming data-driven organizations, such an understanding has a crucial role in any organization's candidate recruitment processes, regardless of the sector it belongs to;
- Organizational level: Establishing the human resources practitioners in their organization as employees who can contribute significantly to the discourse that takes place in their organization, by introducing data-driven approaches to human resources management (e.g., people analytics) that eventually will promote the organization;
- Professional community level: People analytics (that is, the use of data science for a variety of purposes related to human resources management) is becoming part of the profession of human resource management, for which some programming knowledge is required. Therefore, the programming experience gained in the course can help the human resources practitioners lead professional processes in their professional community.
The four notebooks
The four Colab notebooks we designed enable the students to experience programming, in general, and Python programming, in particular. They are:
- Notebook 1: Working with notebooks, basic statistical operations (average, median, etc).
- Notebook 2: Dataframes
- Notebook 3: Working with files and implementing the KNN algorithm (based on the database constructed in class for the prediction of an employee's perseverance in the company, presented in our March 24, 2023 blog)
- Notebook 4: Visualization
The four notebooks were facilitated over four consecutive weeks for about two hours each. As we shall see, even such short a programming experience not only reduced students' programming anxiety, but also increased their self-evaluation of their programing experience, as well as their sense of potential contribution to their organization in human resources-related topics.
To address the four levels of the students' professionalism described above (personal, professional, organizational, and professional community), we followed several guidelines in the design of the notebooks.
On the one hand, we wished to reduce students' anxiety. Therefore,
- the students could execute the Python commands without adding any new code; yet those who wanted to enrich their experience could add cells and write their own code.
- the given code was illustrated with data about human resources (salary table, bonuses, retention in the company, etc.) and included visualization and calculation of statistical measures of these human resources-related concepts.
- we continuously illustrated how ChatGPT can support the programming process by allowing the students to ask any questions they wished about how to program and receiving specific answers with illustrative code.
On the other hand, we wished to provide the human resources practitioners an opportunity to get a feel for the computer science component of data science and experience computational thinking. The notebooks therefore:
- include interesting, yet simple, algorithms that can also be carried out manually (e.g., transforming a table from a wide format to a long format for the sake of visualization, see Notebook 4);
- include open tasks for exploration. For example, in Notebook 3, to illustrate the role of data in algorithm execution, each student could add his or her personal data to the demonstration of the implementation of the KNN algorithm. Then, when the algorithm predicted the categorization of a new employee, different categorizations were sometimes received by different students according to the data each one added.
How is the Python experience expressed on the four levels presented above, with respect to the exposure of the human resources practitioners to Python programming?
As it turns out, even such a short programming experience changed the students' perception of their professionalism, as is illustrated below for the four levels presented above.
Personal level: At the beginning of the academic year we asked the students what their programming experience was; we asked them again after their Python experience. As can be seen in Table 1, not only did the percentage of responding students who perceived themselves as having no programming experience drop from 88.7% to 61.5%, but the percentage of responding students who declared that they have some programming experience more than tripled from 9.4% to 30.8%.
Table 1. Students' perception of their programming experience – at the beginning of the academic year and after the programming experience
|
Beginning of the academic year (n=53) |
After the programming experience (n=26) |
I am inexperienced
|
88.7% |
61.5% |
I have a little experience |
9.4% |
30.8% |
I have a lot of experience |
0% |
3.8% |
If needed, I can teach programming |
1.9% |
3.8% |
In another questionnaire, which was distributed prior to the programming experience, we posed the following questions, among others:
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 that 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
This question appeared also in the questionnaire that we distributed after the programming experience. Table 2 compares students' answers to this question before and after the programming experience.
Table 2. Students' perception of the level of programing anxiety – in the middle of the first semester
(before the programming experience) and after the programming experience
|
Before the programming experience (n=53) |
After the programming experience (n=26) |
Only a handful of students |
3.8% |
19.2% |
Quite a lot of them, but less than half |
7.5% |
26.9% |
Quite a lot of them, more than half |
39.6% |
38.5% |
Almost everyone |
34% |
15.4% |
Everyone |
15.1% |
0% |
The data presented in Table 2 shows that before the Python experience, 88.7% of the students estimated that more than half of the students felt programing anxiety; after the Python experience, this number dropped to 53.9%. Even more interesting is the drop in the percent of students who estimated that everyone feels anxiety: After the Python experience, none of the students estimated that everyone has this feeling, compared with 15.1% prior to the programing experience. As can be seen, anxiety levels subsided significantly.
Professional level: After each notebook, we asked the students to suggest questions that they, as human resources practitioners, can ask candidates in a job interview and what they can learn from the candidates' answers to these questions.
Table 3 presents illustrative examples of questions that the students proposed in a shared document after the first and the last (fourth) notebooks. Clearly, such questions could not have been asked without having some programming experience.
Table 3. Students' suggestions of questions to be asked in interviews with candidates for their organization
After working on Notebook 1:
|
After working on Notebook 4:
|
Organizational level: In the questionnaire distributed following the Python programming experience, we asked the students: To what degree will you be able to contribute to the discourse at your organization that focuses on software development, in general, and on Python, in particular, with relation to a) human resources; b) software development; and c) other organizational issues? Table 4 presents the distribution of student responses to the question, for each of the three topics.
Table 4. Students' estimation of their contribution to the discourse in their organization about a) human resources; b) software development; and c) other organizational issues (n=26)
|
Human resources issues |
Software development issues |
Other organizational issues (one student did not reply) |
I will contribute significantly |
11 |
2 |
7 |
I will have some contribution |
9 |
7 |
12 |
I will not be able to contribute to the discourse |
6 |
17 |
6 |
As can be seen, the students see their greatest potential contribution to the discourse about software development in the context of human resources – exactly as was our target in providing them with the Python programming experience. Furthermore, the human resources practitioners also realized that they may have some contribution to discourse related to software development regarding other organizational issues and software development issues, yet in a less significant way.
Professional-community level: People analytics, for which some programming knowledge is required, is becoming part of the profession of human resource management. As it turns out, after the programming experience, the students see this connection, encapsulated in people analytics, between human resources and programming experience, as is illustrated in what follows.
In the questionnaire distributed following the Python programming experience, we asked the students: In your opinion, to what degree is knowing programming, in general, and Python, in particular, relevant for human resources management? As It turns out, 19.2% of the students estimated this knowledge as "very relevant," 53.8% of the students estimated it as "somewhat relevant," and 26.9% of the students estimated it as "not at all relevant." In other words, about three-quarters of the students realized the relevance of their short, yet focused, programing experience for their profession—human resources management.
Conclusion
We suggest that our decisions to integrate basic programming practices into the course, despite the Python anxiety students expressed, and not to bypass this challenge by introducing data science through one of the visual working environments (e.g., Orange Data Mining, KNIME, and Weka), were correct from the pedagogical perspective. As we anticipated, even the short hands-on programming experience turned out to be extremely important for the human resources practitioners on the personal, professional, organizational, and professional community levels.
We conclude by mentioning that the interdisciplinarity of data science played a central role in our ability to achieve the above results: The students' expertise in human resources enabled us to situate the Python experience (the computer science component of data science) in a meaningful and familiar context for the students – human resources (the application domain component of data science), while coding and calculating basic statistics measures (the math and statistics component of data science), which the students learned in the first part of the course.
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 https://orithazzan.net.technion.ac.il/. 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 https://english.tau.ac.il/profile/dgelbgiser.
Join the Discussion (0)
Become a Member or Sign In to Post a Comment