DIGITAL LIBRARY
RETHINKING ASSESSMENT FOR THE ENGINEERING SOFTWARE COURSE WITH A SHIFT IN TEACHING PARADIGM
University of Houston Clear Lake (UNITED STATES)
About this paper:
Appears in: INTED2023 Proceedings
Publication year: 2023
Pages: 8353-8356
ISBN: 978-84-09-49026-4
ISSN: 2340-1079
doi: 10.21125/inted.2023.2293
Conference name: 17th International Technology, Education and Development Conference
Dates: 6-8 March, 2023
Location: Valencia, Spain
Abstract:
Programming is a vital part of software engineering. Software engineers should be able to decide what programming paradigm is best suited for a part of the application. In academics, we try to prepare students for real-world jobs. Hence it is essential to expose them to different programming paradigms. Functional paradigms (FP) are typically not taught in the undergraduate Computer Science degree, and students in the Engineering Software course were introduced to programs using functional paradigms.

The terms functional paradigm and functional programming are interchangeable in this study. Functional programming (FP) is introduced to software engineering students so that students can decide between object-oriented and functional programming during the coding phase.

This class was taught face-to-face, slowing the need for online teaching, and when the pandemic hit in 2020, classes had to be conducted online. A shift in teaching techniques during the pandemic helped in rethinking assessment. This position paper discusses how programming courses had different assessment modules.

As mentioned in an Allinjawi et al. study, students find writing programs in object-oriented languages difficult. Similarly, here students now find it challenging to write programs using FP because they learned to use only an object-oriented paradigm. Students did not perform well in the exams. They did better when given assignments for homework. Hence, I realized the problem with the assessment methodology for my programming class. Soon, I realized that other software applications help one write the program when you upload the problem. It outputs the program in any programming language.

I have been teaching this class since 2017. After we added an online section to this class, I started rethinking the assessment process, especially for the exams. When the pandemic hit, we moved to online, and that had a big issue with students cheating when taking online exams. As Gamage et al. mentioned, students' stress during an in-class exam and problems, including cheating during the online exam, is a problem. This study has found similar issues. Hence, several assessment projects were used to evaluate students learning outcomes.

Studies show that asking students to submit possible exam questions helped them learn better. So, I added this component as an assignment. The motivation was two-fold – firstly, they get extra credit if their question gets selected. Second, they get the problem for which they already have an answer. It turned out that good students worked hard and submitted thoughtful questions with their solutions. Average students did not do well. The assignment also had negative points if the questions were not as per the rubric.

The next component of summative assignments for an exam was as follows: They had to submit programming problems and the reason they chose that problem needed to be a functional paradigm and their solutions. These will be graded depending on how much thought process they had applied to develop those problems. They were given a rubric and were informed that no questions should be from their classwork, assignments, or book.
A template was given to submit their assignment:
Keywords:
Assessment, Blended classroom, programming, Software Engineering, Alternative exam, critical thinking.