<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Proceedings of the SQAMIA</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>The Impact of Students' Pre-Knowledge on Learning  Computer Programming</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>MARKO HÖLBL</string-name>
          <email>marko.holbl@um.si</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>LILI NEMEC ZLATOLAS</string-name>
          <email>lili.nemeczlatolas@um.si</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>University of Maribor</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <volume>8</volume>
      <fpage>22</fpage>
      <lpage>25</lpage>
      <abstract>
        <p>Students taking courses of computer programming have different pre-knowledge on the topic, which not only includes their knowledge of a specific computer programming language but also their ability for algorithmic thinking and the understanding of the concept of computer programming. At the beginning of the course, they were asked to self-evaluate their knowledge of computer programming and take a pre-course test of their knowledge in JavaScript. In the scope of the research, we have compared the results of the pre-course test of students with technical and general High School education, as well as the results they achieved at the post-course test. Altogether, 55 students collaborated in both pre and post-course tests. The results indicate that students with technical and general High School backgrounds scored similarly on a pre-course test of computer programming and that students with general High School backgrounds acquired more knowledge in the course compared to the ones with a technical High School background. The results also indicate that the students with lower selfevaluation of computer programming have acquired more knowledge during the course compared to the ones with higher selfevaluation scores. Learning the principles of computer programming is an essential skill for an IT professional. Teaching computer programming is a challenge, as the algorithmic way of thinking is uncommon for people [Matthew et al. 2007, Futschek 2006, Knuth 1985, Sleeman 2002]. There are significant differences between experts and novices in computer programming, as well as many challenges on how to teach computer programming in order for the students to learn as fast as possible [Cooper et al. 2000, Fowler and Cusack 2011]. Becoming a good programmer is a cumbersome process, requiring a lot of studying and practising. Students with different secondary education level backgrounds are joining Universities to study Informatics and Computer Science or an ICT related study. A programming course usually serves as a fundamental course in any ICT-related Study Programme, due to its importance in understanding the concept of ICT systems. Additionally, the development of ICT solutions and/or services requires knowledge of computer programming. Many students come to the university with little or no pre-knowledge of programming and often tend to overestimate their knowledge. The studies have shown that pre-knowledge can have an effect on students so that they believe they already have enough knowledge on the topic and do not need to learn any more [McMillan and Hearn 2008, Sewell 2002]. This might lead to the effect that such students do not achieve the level required by university standards. Additionally, previous studies also employed different approaches to teaching programming [Janzen and Saiedian 2008, Kalelioğlu 2015].</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>In this work, we present a study where we analysed if students with different secondary
education level backgrounds, thus with different pre-knowledge of computer programming and their
self-perception of this knowledge, influenced their results in learning computer programming. The
analysis was performed with active students before taking the course, and after they had taken the
course lessons and completed the practical laboratory work. The experiment was conducted with
students who took the course Programming for Media, which involves the basics of JavaScript
programming.</p>
      <p>We set up the following research question: How does the pre-knowledge of computer
programming affect the knowledge of computer programming after taking lectures from the
computer programming course?</p>
      <p>The structure of the paper is as follows. The description of research methods is provided in
Section 2 and the main contribution of the paper in Section 3, where the results and a discussion are
given. Finally, the conclusions are presented in Section 4.</p>
    </sec>
    <sec id="sec-2">
      <title>2. RESEARCH ON STUDENTS’ KNOWLEDGE OF COMPUTER PROGRAMMING IN JAVASCRIPT</title>
      <p>We have used a test type of evaluation of pre and post knowledge of students in programming.
Further details are presented in the following sub-sections.</p>
    </sec>
    <sec id="sec-3">
      <title>2.1 Data collection and participants</title>
      <p>At the beginning of the semester, students attending the Programming for Media Course were asked
to fill in a test to assess their skills on computer programming in JavaScript. After the course was
finished and they had attended lectures as well as the exercises of the course, their knowledge and
acquired skills in computer programming in JavaScript were tested again. The sample of
demographics is presented in Table I. Altogether, 55 students collaborated in both parts of the
survey – the pre-knowledge test and the test after they obtained knowledge at lectures and exercises.
Most of the students were in their first or second year of studies. There were more female students
collaborating in the survey, and the majority of students were enrolled in the Study Programme
Media Communications. The previous secondary education (High School) of students was either
general or technical.</p>
    </sec>
    <sec id="sec-4">
      <title>2.2 Measures</title>
      <p>Measurement items were tested with a 7-point Likert-scale ranging from 1 to 7. The measurement
items are presented in Table II. There were altogether 25 questions in the survey. To connect the
pre-course test of each student and the post lectures test, we used a unique ID number that a
student had to enter when filling in the pre-course test on his/her knowledge and on the exam at the
• 5:3
end of the course. The first part of the test (demographical questions and questions 1-11 in Table II)
were only asked in the pre-course test. In the post-course test (after the students had already done
the tasks and taken the lectures) only the questions 12-18 were asked. The questions were chosen to
suit the lectures concept. To connect the pre-knowledge of each student and the grade for Database
Modelling, we used a unique ID number that a student had to enter when filling in the
selfevaluation questionnaire on his/her knowledge and on the exam at the end of the course.
var num1 = Number (prompt("Insert number 1:"));
Y/N
1 – Strongly disagree
2 – Disagree
3 – More or less disagree
4 – Undecided
5 – More or less agree
6 – Agree
7 – Strongly agree
A box into which we save the
data.</p>
      <p>A box into which we save
unchangeable data.</p>
      <p>JavaScript expression.</p>
      <p>JavaScript number.</p>
      <p>I don’t know.
24
34
4
Undefined
"A"
"B"
"C"
"A" in "B"
AND operator: &amp;&amp;
OR operator: ||
NOT operator: !
No operator.
var num2 = Number (prompt("Insert number 2:"));
if((num1 &lt; 0) ??? (num2 &lt; 0)){
console.log("At least one of the numbers is
negative.");}
else{console.log("Both numbers are positive or
0."); }
How many times will the text appear in the program?
var i = 0;
while (i &lt;= 4) {
console.log ("Hello!");
i++; }
How many times will the text appear in the program?
for(var i = 1; i &lt; 5; i ++) {
console.log ("What is up?");}
If we do not know how many times the loop should repeat,
which loop should we use?
The correct answer is marked with bold in the questions 12-18.</p>
      <p>Once
4 times
5 times
An infinite number of times
Once
4 times
5 times
An infinite number of times
While loop
For loop
Whichever – For or While
loop.</p>
      <p>Y
Y
Y</p>
    </sec>
    <sec id="sec-5">
      <title>3. DATA ANALYSIS AND RESULTS</title>
      <p>After collecting the data using the test, we have used SPSS for data analysis in this study. The
results are presented in the following sub-sections.</p>
    </sec>
    <sec id="sec-6">
      <title>3.1 Testing the programming pre-knowledge of students with different educational backgrounds</title>
      <p>First, we compared the students with technical and general High School background. We conducted
the pre-course test of knowledge with questions 12-18, which are given in Table II. On average, both
the students with technical and general high school educational background scored similarly on a 7
question test for pre-knowledge of computer programming in JavaScript. The average for a group
with a technical High School background was 3.68; while students with a general High School
background scored a bit better in the pre-course test that is 3.79 points on average out of 7. A more
detailed analysis is presented in Table III.</p>
      <p>Pre-course test score (0-7)
.00
0
2</p>
      <p>Additionally, we analysed how much knowledge students with general and technical High School
backgrounds acquired during the course by calculating the difference in the pre and post-course
tests. These were the same in both cases (questions 12-18 in Table II). Altogether, 7 points could be
achieved in repeated tests. If a student scored more points in the post-course test than in the
precourse test, the value was positive. For example, if a student scored 4 points in the pre-course test
and 6 points in the post-course test, the difference would be +2 points. As Figure 1 indicated,
students with a technical High School, background improved on average by 1 point, and students
with a general High School background on average by 2 points between the pre- and post-course
tests.</p>
    </sec>
    <sec id="sec-7">
      <title>3.2 Comparison of pre- and post-course test results from students with different pre-knowledge on programming</title>
      <p>An analysis of the variance between different groups was conducted next. Questions 2 to 11 indicate
the level of knowledge of JavaScript programming according to the self-evaluation of students. The
following 7 questions test basic users’ knowledge on JavaScript programming (questions 12 – 18
given in Table II). After calculating the difference, we ran a Univariate analysis of Variance and
compared the different groups.</p>
      <p>
        Next, we divided students based on their self-evaluation in computer programming. Group 1 had
an average lower than 4 out of 7 when doing the self-evaluation (questions 2-11), while group 2
selfassessed their computer programming knowledge higher than 4 out of 7. As can be seen from Table
IV, students who had lower pre-knowledge of computer programming improved their score on
average by 2.53 points after taking lectures, compared to the ones with higher pre-knowledge. Those
improved their score just by 0.91 points. However, students with higher pre-knowledge scored better
in both cases – in the pre-course test and in the post-course test. Yet, in the post-course test, the
difference was not as high. The results of the univariate analysis of variance also indicate that the
significance of Levene’s test [Dav
        <xref ref-type="bibr" rid="ref3">id et al. 2006</xref>
        ] is &lt;.005, which rejects the null hypothesis, where we
tested if the error variance of the dependent variable was equal across the groups. This indicates a
significant difference between groups with low pre-knowledge and high pre-knowledge in computer
programming. We conducted another test, the “Test of Between-Subjects Effects with dependent
variable Difference in pre- and post-course tests”, and the difference between the two groups was
also significant, and lower than 0.005. Furthermore, the partial eta squared is .210, which means
that 21% of the variance is explained in the dependent variable.
      </p>
      <p>Fig. 2 depicts the box plot of the two different groups and the differences between the pre and the
post-course tests. As can be concluded from the boxplot, some of the students have even scored less in
the post-course test than in the pre-course test. Some with low pre-knowledge even scored up to 6
points (out of 7) more in the post-course test, while the others with high pre-knowledge scored mostly
up to 3 points more in the post-course test in comparison to the pre-course test.</p>
      <p>Mean
2.75
5.13</p>
      <p>SD
1.97
1.25
Mean
(difference)
2.53
0.91
Df1
1
F</p>
    </sec>
    <sec id="sec-8">
      <title>3.3 Discussion</title>
      <p>In this study, we investigated how the pre-knowledge of computer programming affects the
knowledge of computer programming after taking lectures from the computer programming course.
We found that the students with low pre-knowledge in computer programming gained more
knowledge during the lessons than the ones with high pre-knowledge of programing. Additionally,
students with a more technical background in computer programming did not present better
knowledge of computer programming in the pre-course test than students with no technical
backgrounds. Students having luck in the pre-course test, since the answers were a, b, c, d and they
could have chosen the right one, which could explain this. However, it would be expected that, if they
did not know the answer, they would choose the “don’t know” option. Students from general High
School backgrounds also learned more while taking the lessons then the students from technical
High Schools.</p>
    </sec>
    <sec id="sec-9">
      <title>4. CONCLUSION</title>
      <p>At the Faculty of Electrical Engineering and Computer Science at the University of Maribor,
students were taking the course Programming for Media in the first or second year of their studies.
We asked the students at the beginning of the course to self-evaluate their knowledge of
Programming in JavaScript, and, at the same time, test their computer programming skills using a
questionnaire. After taking the course, the students again took a test of their computer programming
skills. Our results indicate that the students with no, or very little, pre-knowledge of computer
programming had acquired much knowledge from the basic course of computer programming, and
had achieved almost the same results as students with a lot more pre-knowledge. We could conclude
that the self-esteem of the students with pre-programming skills is not a positive thing, because the
students put less effort into the course. Our statistical analysis showed that students with technical
and general High School backgrounds scored similarly on a pre-course test of computer
programming, which was quite surprising. We expected that students with a technical background
would have more knowledge of computer programming. Students with general High School
backgrounds also acquired more knowledge while taking the course than students with a technical
High School background. The limitation of this study is a small sample, but the study could be tested
on a larger sample.</p>
      <p>Additionally, it would be expected that students with a technical background would acquire more
knowledge after attending the lessons of the Programming for Media. However, our results indicate
the opposite.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>Matthew</given-names>
            <surname>Butler</surname>
          </string-name>
          , Matthew Butler, and Michael Morgan.
          <year>2007</year>
          .
          <article-title>Learning challenges faced by novice programming students studying high level</article-title>
          .
          <source>In Proceedings of the 24th ascilite Conference</source>
          ,
          <volume>99</volume>
          -
          <fpage>107</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>Stephen</given-names>
            <surname>Cooper</surname>
          </string-name>
          , Wanda Dann, and
          <string-name>
            <given-names>Randy</given-names>
            <surname>Pausch</surname>
          </string-name>
          .
          <year>2000</year>
          .
          <article-title>Developing Algorithmic Thinking With Alice</article-title>
          .
          <source>In Proceedings of the Isecon</source>
          ,
          <volume>506</volume>
          -
          <fpage>539</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>I.</given-names>
            <surname>Olkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. G.</given-names>
            <surname>Ghurye</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Hoeffding</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. G.</given-names>
            <surname>Madow</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H. B.</given-names>
            <surname>Mann</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Contributions to Probability and Statistics: Essays in Honor of Harold Hotelling</article-title>
          . DOI:https://doi.org/10.2307/2984135
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>Adrian</given-names>
            <surname>Fowler</surname>
          </string-name>
          and
          <string-name>
            <given-names>Brian</given-names>
            <surname>Cusack</surname>
          </string-name>
          .
          <year>2011</year>
          .
          <article-title>Kodu Game Lab: Improving the motivation for learning programming concepts</article-title>
          .
          <source>In Foundations of Digital Games</source>
          ,
          <fpage>238</fpage>
          -
          <lpage>240</lpage>
          . DOI:https://doi.org/10.1145/2159365.2159398
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <given-names>Gerald</given-names>
            <surname>Futschek</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Algorithmic Thinking: The Key for Understanding Computer Science</article-title>
          . In International conference on informatics in
          <source>secondary schools-evolution and perspectives</source>
          ,
          <volume>159</volume>
          -
          <fpage>168</fpage>
          . DOI:https://doi.org/10.1007/11915355_
          <fpage>15</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <given-names>David</given-names>
            <surname>Janzen</surname>
          </string-name>
          and
          <string-name>
            <given-names>Hossein</given-names>
            <surname>Saiedian</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Test-driven learning in early programming courses</article-title>
          .
          <source>In ACM SIGCSE Bulletin</source>
          ,
          <volume>532</volume>
          . DOI:https://doi.org/10.1145/1352322.1352315
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <given-names>Filiz</given-names>
            <surname>Kalelioğlu</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>A new way of teaching programming skills to</article-title>
          K-12
          <source>students: Code.org. Comput. Human Behav</source>
          .
          <volume>52</volume>
          , (
          <year>November 2015</year>
          ),
          <fpage>200</fpage>
          -
          <lpage>210</lpage>
          . DOI:https://doi.org/10.1016/J.CHB.
          <year>2015</year>
          .
          <volume>05</volume>
          .047
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>Donald E.</given-names>
            <surname>Knuth</surname>
          </string-name>
          .
          <year>1985</year>
          .
          <article-title>Algorithmic Thinking</article-title>
          and
          <string-name>
            <given-names>Mathematical</given-names>
            <surname>Thinking</surname>
          </string-name>
          .
          <source>Am. Math. Mon. 92</source>
          ,
          <issue>3</issue>
          (
          <year>1985</year>
          ),
          <fpage>170</fpage>
          . DOI:https://doi.org/10.2307/2322871
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>J H McMillan and Jessica Hearn</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Student self-assessment: The key to stronger student motivation and higher achievement</article-title>
          .
          <source>Educational Horizons</source>
          <volume>87</volume>
          :
          <fpage>40</fpage>
          -
          <lpage>49</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <given-names>Derek</given-names>
            <surname>Sleeman</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>The challenges of teaching computer programming</article-title>
          .
          <source>Commun. ACM 29</source>
          ,
          <issue>9</issue>
          (
          <year>2002</year>
          ),
          <fpage>840</fpage>
          -
          <lpage>841</lpage>
          . DOI:https://doi.org/10.1145/6592.214913
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>