Project Based Learning with Peer Assessment in an Introductory Programming Course

Introductory programming course traditionally have higher rates of failures and dropouts. Teachers and researchers have to develop strategies to combat this problem. This article reports an experience on the first semester of a degree in computer science and the use of Project Based Learning for two projects with groups of three students. With this methodology, independence and self-study are created in the students, accompanying the subjects taught in classes with works related to real life. Since peer assessment is used in part of the classification of each project, the distribution of students by the groups was made by the teacher, who used as criteria for ordering said groups attendance in class for the first project and grade in the first test for the second project. The first project was submitted and presented by 95% of the students and the second project was only completed by 44% of the students who mostly correspond to the best grades on the first test. 93% of the students who passed the course presented both projects. Most of the students who submitted the papers found this to be an excellent strategy. It is concluded that the project is a way to improve and develop the skills of motivated students but that others have a lot of difficulty or even reluctance to follow.


I. INTRODUCTION
Teaching programming to students who do it for the first time is a task that is both complicated and challenging. Programming can be considered an art [1], a science [2], a discipline [3] or even the science of abstraction [4]. However, using a programming language is no more than a method for the programmer to communicate instructions to the computer. Some say that programming is very difficult [5], [6] while for others it may be easy [7]. Introductory programming courses traditionally have high drop-out and failure rates [8].
Teachers and researchers have to develop strategies to combat this problem, especially in an attempt to motivate, attract and engage students. Herzberg's Two-Factor Theory [9] differentiates motivator factors from hygiene factors: the first are intrinsic to the job (achievement, recognition for achievement, the work, responsibility, and growth or advancement) and hygiene factors are extrinsic to the job and include company policy and administration, supervision, interpersonal relationships, salary, status, and security. The Three-Motivator Theory [10] indicate that course success can be improved by removing demotivators, increasing intrinsic Manuscript received December 26, 2020; revised March 3, 2021. Sónia Rolland Sobral is with REMIT, Portugal (e-mail: sonia@upt.pt). motivators or increasing extrinsic motivators, or any combination of these three, as appropriate in the course context. There are several studies that prove the advantages and motivation created in students with the use of active methodologies as opposed to with passive learning in large classes, such as Technology-Enabled Active Learning (TEAL) [11]. In programming courses, instructional activities encourage students to learn how to program by doing programming and thinking about what they are doing.
Active learning involves students doing things and thinking about the things they are doing [12]. It is a process which involves having students engage in some activity that forces them to reflect upon ideas and how they are using those ideas, keeping students mentally, and often physically, active in their learning through activities that involve them gathering information, thinking and problem solving [13]. Active learning active learning presupposes the concept of Student-Centered Instruction (SCI), often defined by contrasting them with traditional instructional approaches characterized by greater teacher direction [14]. SCI is an instructional approach in which students influence the content, activities, materials, and pace of learning. This learning model places the student (learner) in the center of the learning process. The instructor provides students with opportunities to learn independently and from one another and coaches them in the skills they need effectively [13]. A variety of approaches fit beneath the umbrella of student-centered learning, including case-based learning, goal-based scenarios, learning by design, project-based learning and problem-based learning [14].
Project-based learning is a comprehensive approach to classroom teaching and learning that is designed to engage students in investigation of authentic problems. Students are responsible for both the questions and the answers to such problems [15]. This form of learning allows students to experiment and improve their skills by developing medium sized projects in contrast to small programs as is usual in courses of this type. The experience reported on this article uses two projects with groups of three students. The constitution of the groups was not maintained from the first to the second project. With this methodology, independence and self-study are created in the students, accompanying the subjects taught in classes with works related to real life.
The elements of the group were responsible for the final product, however the teacher was indirectly following the work of the groups. One of the forms of control was the use of peer evaluation done anonymously by each member of the group. Peer assessment using marks, grades, and tests have shown positive formative effects on student achievement and attitudes [16]. Since peer assessment is used in part of the classification of each project, the distribution of students by the groups was made by the teacher, who used as criteria for ordering said groups attendance in class for the first project and grade in the first test for the second project. This article is divided into four parts: the course characterization: program, schedule, evaluation and demographics of participants; characterization of the two projects: aims, rules and surveys; the results and the discussion as well as final conclusions.

A. Program
The course is part of a university degree in Computer Science. It is taught in the first semester and constitutes the students' first contact with computer thinking and a programming language. In this course of propaedeutic nature, a student should, among other skills to be achieved, be able to develop and implement computer solutions for problem solving, that is, to learn correctly and effectively how to program. Before elaborating a program, the student must know how to understand the problem, how to develop strategies for the precise problem he intends to solve with the machine, and how to establish methods for the detailed and rigorous description of solutions that can be implemented on a computer. The programming language chosen was C. 52 students were enrolled and divided into two practical classes. However, 12 students never attended any theoretical or practical classes.
Classroom classes are divided into theoretical and practical laboratory classes, respectively with 2 hours and 4 hours per week. The planned program includes Computer Thinking using Top-Down and Algorithms; Conditional structures; C Programming Language; Cycles; Functions and Procedures; Arrays: one dimension and several; Array ordering and search; Record arrays (1 to 1, 1 to n and n to n); Alphanumeric and frequency of sub-alphanumeric.

B. Evaluation
The evaluation method of the discipline is based on a continuous evaluation model with four elements of evaluation and attendance requirement above 60% according to the formula: Grade = Test1 * 40% + Test2 * 40% + Project1 * 10% + Project2 * 10%. Where Test1 is the test score taken in the eight week of classes, Test2 is the test score taken in the last week of classes of the semester. Project1 is the grade given to the student in the project presented in the eight week of classes and Project2 is the grade assigned to the student in the project presented in the last week of classes in the semester. The tests foresee the use of computers and paper and have an expected duration of 90 minutes with 15 minutes of tolerance. For all other times (supplementary and special seasons) the grade is based of an exam using a computer and paper. The exam is expected to last 120 minutes with a 15-minute tolerance.
Considering 14 school weeks, the first test was scheduled for the beginning of week 8 and the second test for the end of week 14. The statement and constitution of the groups of project 1 was delivered at the beginning of the 4th week and the equivalent of project 2 at the beginning of the week 11.
C. Demographics of Participants 37 students responded to an initial survey: five female (14%) and 32 male (86%). The average age was 19.2 years and the most frequent age was 18 years. The maximum age was 34 and the minimum was 18, with 81% of the students being 18, 19 or 20 years old. 19 students had a computer science course in secondary education: 14 attended computer applications B in the 12th year, four Information and Communication Technologies (ICT) in the 9th year and a Web Design in the 10th, 11th and 12th years. 19 students replied that they had some programming knowledge, having referred to Java, JavaScript, C #, C, Pascal, HTML and CSS, Visual Basic and Python.

A. Aims and Rules
Group work is a way to get students to put into practice in a structured way what they have been learning in the curricular units. In this case there will be two phases of work: one that ends in the middle of the semester and another that ends with the end of classes.
In the proposed work, groups of three elements are created by the professor. As the work model includes peer group assessment, it was decided not to allow students to form groups, as this task is often done only out of friendship, which would jeopardize a fair assessment of colleagues. For the constitution of working groups in the first phase, an attendance sheet was used in the course: students were ordered according to their number of attendance in the first three weeks of classes. The distribution of students by groups was presented in the fourth week of the semester. The students were given a statement that included the subject taught until half of the semester. 13 groups were created: 11 of the groups with three students and two groups with two students. For the constitution of working groups in the second phase, the grade sheet students of the firs test was used: students were ordered according to their test grade 1. The distribution of students by groups was presented in the tenth week of the semester. The students were given a statement that included the material to be taught until the end of the semester. 12 groups were created with three students each.
In each of the phases of the group work, two surveys are answered by each element, where each of the elements evaluates their peers. The grade of each of the phases assigned by the teacher is corrected by the average of the grades assigned by the peers of each of the members of the group, provided that at least two other members of the group answer the surveys. The product of each of the two phases of the work is submitted into MOODLE by the project leader. The product consists of a program in language C and a document with an explanation of the program: scheme, algorithm and / or text. Presentation is mandatory. The project statement provided that each group would choose a different type of store and would simulate the various activities of that business. The choices in the first project were travel agency, school supplies, DIY store, cinema, disco, pharmacy, ice cream shop, jewelry, restaurant, shoe store, supermarket, technology store and pet store.

B. Surveys
The following Fig. 1 outlines the surveys, documents and C programs that were to be submitted by students each week, and also indicates the weeks for which the two tests are scheduled:  Zero is the initial survey to characterize students;  P1a, P1b, P2a and P2b are the surveys for the beginning and end of each of the two project phases;  Doc1a, Doc1b, Doc2a and Doc2b are the beginning and end documents for each of the two project phases;  C1 and C2 are the C programs at the end of the first and second phases of the project;  Test 1 and Test 2 are the tests from the beginning of the 8th week and the end of the 14th week. Each student had to answer a survey at the beginning of each phase of the project and another one on the delivery day. The surveys were anonymous but included the students' number. 13 questions were answered on a scale of 0 to 5, "nothing" to "excellent" respectively. There was a final open question for comments and suggestions. The 13 questions were: 1) I am enjoying this group work 2) I am enjoying working with this group 3) I feel that I improve my skills in the course because of this group work 4) 4. I feel that I improve my group work skills because of this group work 5) My presence at group meetings (face-to-face, skype ...) 6) My work in group work until today 7) Self-assessment from day 1 to today regarding group work [Colleague A; B] A. Colleague name 8&11. My colleague's attendance at group meetings (face-to-face, skype ...) 9&12. My colleague's work on group work 10&13. My colleague's assessment of group work Observations and suggestions.

IV. RESULTS AND DISCUSSION
P1a survey was answered by 34 students, P1b by 35, P2a by 28 and P2b was answered by 20 students. Although the distribution of groups in the first part of the project foresees 37 students and the second part of the project has 36 students, the presentations were made by 36 and 16 students, respectively.
The averages dropped in almost all questions, with Pa1> Pa2> Pb1> Pb2. This did not happen only in questions 3, 5 and 6. The best averages of answers were those of questions 5 and 6, with values greater than 4.5 (Fig. 2).
The most frequent answer to the questions was 5 (excellent), except for question 1 and 2 in the second phase of project which was 4 (Fig. 3).
Only 7 students wrote comments at the end of the Pa2 survey, 3 to say that they liked the work, 4 to show displeasure in relation to the group: "We did a good job, despite having some difficulties. We should have organized ourselves better"; "The group runs well. There is a good interaction"; "A very interesting work, which completely helps to better understand the concepts taught and practiced in class". "I enjoyed doing the job and helped me develop programming skills. But I had some complications with the group because we were only two and my colleague had some difficulties in the matter, which meant that I had to do a lot of the work alone.", "I liked the work but I didn't get along with my partner.", "We have no 3rd element", "The work was all done by {} and by me". To the P2b survey, only 4 made final comments, all to refer to their group colleagues: "We divided everything into parts and everyone did their part. The group worked well.", "I did the work myself without the help of any colleagues.", "None of the group members bothered to come to me and ask about the job. * only worried about it when it was 2 or 3 days before delivery, but offered no help." and "It was the job that I worked more for". At the beginning of the first project there were 37 students and 35 students were presented. In the second part of the project there were 36 students at the beginning and 16 students at the end. In the latter case, two groups ended with just one student, five of the groups did not show any students.  In the Table I we see that initially in project 1 there were 11 groups of 3 students and 2 groups of 2 students (i1). There were presentations for the 13 groups, 9 with 3 students and 4 with 2 students (in). In project 2 there were 12 groups of 3 students (i1). There were presentations for the 7 groups, four with 3 students, one with 2 students and two ended with just one student (in).
The teacher's assessment (0 to 5) was decreasing in the case of the first project (in which students were grouped by class attendance) (Tg). In the case of the second project, there was no significant difference in relation to the grades attributed by the teacher to each of the groups. Columns C1, C2 and C3 show the evaluation of the pairs in a decreasing way. These assessments were generally better for project 1 than for project 2.
Of the 27 students who attended any test (test1 + test2 or appeal exam), 15 passed and 12 failed. Of the 15 that were approved, 14 presented themselves in the two phases of the project (P1 and P2). Of the 12 that failed, only 2 worked on the second project. None of the 10 students who missed the exams submitted and presented the second phase of the project (Table II).

V. CONCLUSIONS
The relative value of the project's evaluation was relatively small (10% of the final grade) and the work grade would not be considered for the time of appeal. We cannot consider that the grade contributed much to the formula for calculating the grades. But from the results we can see that 14 of the 15 students who were approved worked in the two project phases. It is concluded that the work helped them to obtain the necessary skills.
It was found that a large part of the students who scored low in the first test did not do the second project: the reasons may be lack of necessary knowledge, student strategy or dropping out of the course.
The answers to the questionnaire show that most students really liked the project, almost always classifying each of the items asked as excellent. However, it was found that the average of responses was almost always decreasing as the semester progressed.
There were many problems with working groups, which is reflected in the evaluations attributed to their peers. These ratings were better in the first part of the project than in the second.
These evaluations were not always reflected in what happened within the groups: sometimes there were situations in which the students felt that they had no support from colleagues and evaluated those same colleagues with positive grades.
This group work was very beneficial for students who are motivated and intend to succeed in the course, but not for other students who do not work daily or who have difficulties in obtaining the skills necessary to succeed in a course of this type.
A group project like the one proposed further widens the gap between students who pass and fail or drop out.