Motivation of Engineering Students with a Mixed-Contexts Approach to Introductory Programming Bianca L. Santana State University of Feira de Santana Feira de Santana, Bahia Brazil 44036–900 biancasantana.ls@gmail.com Jose Solenir L. Figueredo State University of Feira de Santana Feira de Santana, Bahia Brazil 44036–900 solenir.figueredo@gmail.com Roberto A. Bittencourt State University of Feira de Santana Feira de Santana, Bahia Brazil 44036–900 roberto@uefs.br Abstract—This research to practice full paper investigates mo- tivation of engineering students with a mixed-contexts approach to introductory programming. Non-major CS1 students usually have more difficulties learning computer programming than CS majors, for reasons such as lack of interest in computing or courses formatted for CS majors. Student motivation is vital in the learning process, and fostering it is important to promote more effective learning. Various initiatives have been proposed to increase engagement and reduce the difficulties faced by non-majors in CS1 courses. We believe that motivation can be improved by using a mix of languages and tools already tested in CS1 teaching. In this paper, we evaluate a teaching approach for non-majors, which combines the use of Scratch in a context of game creation, and Python with both turtle graphics and image manipulation. We performed an exploratory case study with CS1 civil engineering students from our institution to analyze the impact of this approach on student motivation. Our results describe motivation arisen during the course in terms of attention, relevance, confidence and satisfaction (ARCS), and as practical factors that contribute to either increase or decrease motivation. I. I NTRODUCTION Computing plays an ever-growing role in people’s personal and professional lives. This raises a demand for general understanding of basic principles of computer science and how to apply them. As information technology fluency and computational thinking become more relevant to modern life, CS educators need to meet the demand of diverse audiences by creating courses for CS non-majors. Various authors state that programming is a fundamental component of any proposal of introduction to computer science appropriate to undergrad- uates, for its impact on problem-solving skills, precision of thinking, accuracy in exposition, and consideration of details [1], [2]. Regardless of audience, however, programming is usually hard to learn, and non-major students can experience these difficulties at higher levels, as they are usually both novices and more interested in a different field. Several factors may aid in understanding difficulties faced by non-majors CS1 courses. Among them, motivation plays a key role. Learning how to code demands practice, which is more natural when apprentices are motivated [3], [4]. To be successful, CS1 courses should address the needs of non- majors and provide a motivating context [5]. Over the years, various initiatives have been proposed to reduce difficulties faced by non-majors, and to improve their engagement. Results show that this audience takes more advantage of courses tailored to their needs than the traditional CS1 course [6]. In our institution, science and engineering students must take a compulsory CS1 course. Our instructors’ perceive a failure of the traditional CS1 course, with a more formal introduction to languages such as Pascal or C, to engage non- major students. Most of our engineering students take CS1 while they are freshmen. To increase their engagement, we promoted changes to this course to reduce their initial diffi- culties. We try to bring computer science closer to their likes, and, consequently, improve their motivation. Our approach proposes a mix of languages and tools already tested in CS1 teaching: the Scratch tool in a context of game development, and the Python language aided by a screen turtle library and an environment for image manipulation. Our goal was to understand how the proposed approach influences student motivation through a case study carried out with a CS1 class of Civil Engineering freshmen from our institution. From this goal, we raised two research questions: i) How does student motivation arise in this approach in terms of its different dimensions of attention, relevance, confidence and satisfaction?, and ii) Which are the various likely influences of this approach on student motivation?. Since this was an exploratory case study, we had no previous hypotheses to test. Instead, we focused on an in-depth analysis of motivation, which is the main contribution of this work. Results suggest that introducing programming concepts through Scratch in a context of game creation enhances student motivation and facilitates later understanding of Python. Nonetheless, as the complications of a “real-life” programming language arise, motivation levels fall. We also identify aspects of our approach that positively and negatively influence student motivation, and describe them in a preliminary model.