Software Quality and Security in Teachers' and Students' Codes When Learning a New Programming Language

Shlomi Boutnaru, Arnon Hershkovitz

Research output: Contribution to journalArticlepeer-review


In recent years, schools (as well as universities) have added cyber security to their computer science curricula. This topic is still new for most of the current teachers, who would normally have a standard computer science background. Therefore the teachers are trained and then teaching their students what they have just learned. In order to explore differences in both populations' learning, we compared measures of software quality and security between high-school teachers and students. We collected 109 source files, written in Python by 18 teachers and 31 students, and engineered 32 features, based on common standards for software quality (PEP 8) and security (derived from CERT Secure Coding Standards). We use a multi-view, data-driven approach, by (a) using hierarchical clustering to bottom-up partition the population into groups based on their code-related features and (b) building a decision tree model that predicts whether a student or a teacher wrote a given code (resulting with a LOOCV kappa of 0.751). Overall, our findings suggest that the teachers' codes have a better quality than the students'--with a sub-group of the teachers, mostly males, demonstrate better coding than their peers and the students--and that the students' codes are slightly better secured than the teachers' codes (although both populations show very low security levels). The findings imply that teachers might benefit from their prior knowledge and experience, but also emphasize the lack of continuous involvement of some of the teachers with code-writing. Therefore, findings shed light on computer science teachers as life-long learners. Findings also highlight the difference between quality and security in today's programming paradigms. Implications for these findings are discussed.
Original languageEnglish
Pages (from-to)123-147
Number of pages25
JournalInterdisciplinary journal of e-skills and lifelong learning
StatePublished - 2015


  • Multivariate Analysis
  • Grade 12
  • Grade 11
  • Computer Software
  • Programming
  • Foreign Countries
  • Lifelong Learning
  • Differences
  • Learning
  • Comparative Analysis
  • Computer Science Education
  • Coding
  • Computer Security
  • Programming Languages
  • Data Analysis
  • High School Students
  • Israel
  • Secondary School Teachers
  • Statistical Analysis
  • Evaluation
  • Data security
  • Study and teaching
  • College students
  • Software
  • College teachers
  • Programming languages


Dive into the research topics of 'Software Quality and Security in Teachers' and Students' Codes When Learning a New Programming Language'. Together they form a unique fingerprint.

Cite this