Assessing students in classrooms is important. Self-assessment is also another important part in teaching and learning. It helps both teachers and the students to understand where to improve in the school curriculum. Therefore in this paper we have talked on the different self-assessment screens which are available to teach computer programming. We proposed a new way of self-assessing novice learners to evaluate novice Object-Oriented Programming (OOP) learners theoretical and java coding skills. A previous work was published (Hosanee, 2015) where the requirements of a novice OOP tool were identified. An OOP novice learning tool was built. The software consisted of many features. E-assessment was among one of the software. Therefore, in this paper, the assessments screens are being evaluated. Feedbacks received from novice OOP learners confirmed that the screens were simple and students enjoyed answering the questions.
Object-Oriented Programming(OOP), novice OOP learners, software tool, assessment tools, inheritance OOP concept, association OOP concept, formative assessment, summative assessment, sub-classes and super classes.
Assessment is an important factor to evaluate the performance of a student (Shepard, 2000). Everywhere around the world, we perform different classroom assessments at the different educational level: primary secondary and tertiary. Even at job interviews, we perform different assessments (monstertrak.com, 2001; M, 2009). This is a reflection of the skills and knowledge that one possesses. To successfully pass an assessment, self-assessment can help to achieve this. We usually self-assess ourselves before going to an exam or for a job interview. Therefore, both types of assessment, the classroom assessment and the self- assessment, are important to an individual (gov.on.ca, 2007; A.Ross, 2006; Desjarlais & Smith, 2011). Classroom assessment is a formal one and a self-assessment is an informal one (Jeff, 2013; Roder, 2004).
Today, there exist few researches (KHAMIS et al., 2008) being carried out to assess computer programming student’s skills although much work is being done to improve existing software and teaching skills to allow maximum students to engage themselves when they are learning computer programming. Existing self-assessment evaluation screens evaluate the students’ coding skills only, but not his/her theoretical knowledge. Therefore, in this paper, we present different optional screens where we can have both theoretical and coding questions in the same software for the students to understand OOP properly.
2. Background study
One of the biggest challenges of teachers is to how to evaluate students’ programming skills (Bennedsen & Carpersen, 2006). The main issues with teaching OOP to students are the lack of teachers to teach and the lack of quality instructional materials (Kellaghan & Greaney, 2001). Therefore, we are not able to assess these students properly as they are not supported correctly to learn OOP concepts. Hence, self- learning becomes important when teachers are not able to provide the support needed (Kemppainen & Hein, 2008).
As already mentioned in the introduction section, today we have many undergoing researches for teaching OOP, but we have few researches regarding the evaluation of the skills of OOP learners (KHAMIS et al., 2008). Assessment can be in two categories (KHAMIS et al., 2008): formative assessment and summative assessment. Formative assessment is an assessment which occurs at the start of the program or during the usage of the program. It provides an immediate feedback to the student on the particular feature he is working with. Formative assessment allows teachers and “students with information and insights needed to improve teaching effectiveness and learning quality”. On the other hand, summative assessment is carried out at the end of a program. It is used to check the level of learning. It is usually the final grade of the student. Therefore, undergoing researches include both formative assessment and summative assessment (KHAMIS et al., 2008) effectiveness. Typical examples of these researches include the evaluation of OOP skills based on their emotional state (Martin, 2012), designing a new approach with the Delphi technique to evaluate OOP learners’ skills (KHAMIS et al., 2008), designing a criterion-referenced assessment model which is derived from Goal Questions Metrics methodology (Khamis et al., 2007), on self-assessment of OOP (Antala & Koncz, 2011) , the outside-in methods (Janke & Wagner, 2015) , using a User Knowledge Assessment Tool (UKAT) to “personalise training and facilitate self-learning” (Seffah et al., 1999), self-assessment of OOP skills via the web known as quizzjet (Hsiao et al., 2008), a platform to self-evaluate students’ java programming skills (Bettini et al., 2004).
The Methodology consists of integrating both summative and formative self-assessment questions for students to self-learn OOP in OOP novice software learning tool. Both theoretical and coding skills should be assessed. Most questions in self-assessment screens should be related to what has been taught previously during the class session. In this paper, we choose java programming language for the coding assessments. An evaluation with some students has been done to assess the different self-assessment screens in the OOP novice tool built.
A prior work (Hosanee, 2015) was conducted to determine the requirements of OOP novice learners. Based on these data, a software with assessments screens were built. In this paper, we will show the results of the self-assessment screens only. In the first part of this section, we will show you the screens
for OOP theoretical questions and in the second part of this section, we will show you the different java coding assessment screens which were built. Questions in both parts are typical examples of inheritance and association, two of the many concepts of OOP.
4.1. Theoretical self-assessments questions
4.1.a. First Method
The following figure shows a self-assessment screens which allow OOP learners to evaluate their basic OOP concepts. Questions are in fill-in the blank type. For instance, the user is expected to select the appropriate answer from the different combo boxes in every sentences. He will be expected to click on the “validate” button to validate his answers. If he fails to answer to the questions, he will be prompted to try again until he is able to answer all the questions successfully. Feedbacks received for this screens confirm that the screen is simple and fun. Students enjoy the fill-in the blank features.
illustration not visible in this excerpt
Figure 1 Fill-in the blank question