Functional Requirements of a C-Programming Problem-Solving Application
Problem-solving skill is very important to be inculcated among the students to produce graduates that meet the demand of the Industrial Revolution 4.0 (IR4.0). However, novice programmers often face difficulties to perform problem-solving before developing a computer program. Therefore, there is a need to develop an application that can assist programmers in problem-solving. It can be done with the application of computational thinking (CT) concepts. The purpose of the application is to assist novice programmers to solve programming problems, especially in C-programming. This study has elicited the functional requirements of a problem-solving application. Requirement elicitation is an initial software development process that determines the functional and non-functional requirements of the application. However, this paper focuses only on the application’s functional requirements for the product requirement scope. The requirement elicitation was done using a triangulation strategy with qualitative approaches; semi-structured interview, document review, and an open-ended survey among five expert programming lecturers in Malaysian Polytechnics. The finding from this requirement elicitation has identified important elements that should be included in the problem-solving application. These elements are the input-process-output (IPO) chart which is combined with ten constructed scientific instructions and inquiries to facilitate the novices in problem-solving. The implication of these findings shows that the problem-solving process can be guided by the CT concepts to help students perform organized problem-solving and well-prepared programming coding.