## 1 Introduction  
Technology-enhanced learning (TEL) has changed the mechanism of acquiring education [1]. From primary to higher levels of education, TEL has made it possible to learn online, full-time as well as part-time [2]. Online learning has numerous benefits, ranging from self-paced learning to exceptional circumstances when going to educational institutions is not a possibility [3, 4]. Despite the numerous benefits of online learning, there are still many problems associated with it. One of the main problems is unsatisfactory educational models and teaching techniques leading to a lack of motivation and engagement among students, resulting in less participation in online courses and, in extreme cases, dropout from online education [5]. Numerous models and strategies have been presented for improving education over time. An effective approach to disseminate education is learning-by-doing [6]. The learning-by doing approach is defined as learning that is a result of ones' own actions, efforts, and experiences [7]. It requires students to be actively involved in the learning process. It is not just the teacher who delivers the lectures; rather, students are expected to practice and participate in learning [8]. The learning-by-doing education approach also plays a vital role in online learning contexts. Students are expected to practice by performing learning activities as part of their learning process, which are dependent on the nature of the course [9]. Similar to face-to-face courses, memorization techniques are also usually applied in online courses that aim to disseminate knowledge. On the contrary, online courses that require the development of problem-solving skills, for example, in the cases of learning to program, learning to solve mathematical problems, and solving scientific problems, the learning-by-doing approach has proven beneficial [10; 11]. In the context of online programming courses, especially for novice and non-steam learners, we believe that a virtual laboratory environment can be used. This environment should facilitate learners to develop programming skills by practicing, similar to the practice that can be performed in a face-to-face programming laboratory. It should also help the learners to achieve their intended pedagogical goals. An important factor in the evaluation of online learning tools is students' acceptance of and willingness to use the system [12]. Several studies have been conducted to evaluate these systems for acceptance that consider various models of acceptance [13; 14]. In addition to students' evaluations, teachers' acceptance evaluations of online learning management systems have been conducted [15]. A widely used and validated model is the Unified Theory of Acceptance and Use of Technology (UTAUT) model, which takes into account the essential constructs for technology acceptance and use [16]. A construct is an idea that is based on theoretical explanations and is empirically verified [17]. Additionally, with acceptance evaluation through UTAUT, the context of usage and the necessary constructs specific to the context can also be evaluated [14]. Given the significance of the learning-by-doing approach and practice in the domain of problem solving and online programming education, a learning tool has been introduced to novice students to help them to learn to code. The tool, providing the opportunity to practice, has been incorporated into an introductory programming course for the Design and Digital Creation bachelor's degree at the Universitat Oberta de Catalunya (UOC) with the aim of helping and engaging learners. The learners of this degree program are less familiar with programming and problem-solving concepts. The primary aim of this study was to identify the major constructs for acceptance of learning-by-doing practice-based tools in online education using the validated UTAUT model. The model was extended by including the construct of motivation, which is vital for online learning tools and systems.