programming is one of the most fundamental initial skills for engineering students. Institutions that offer engineering courses have the challenge of deciding how to deliver this subject since it requires unique think...
详细信息
programming is one of the most fundamental initial skills for engineering students. Institutions that offer engineering courses have the challenge of deciding how to deliver this subject since it requires unique thinking from students. This paper addresses the impact of adopting C and Python programming languages in introductory programming courses for engineering students. A case study was conducted in the university's introductory programming course, analyzing student data. This approach divides the students into two groups according to the programming language: C and Python. Data were gathered and analyzed about their learning experiences through questionnaires, assignment scores, and students' questions posted in the class online forums. The experiment was repeated in two consecutive semesters. The main results favor Python regarding learning confidence, motivation, and general programming design decisions while favoring C for the easiness of learning data structures. This study may be helpful for institutions considering designing a new introductory programming course or redesigning existing ones.
The proliferation of Massive Open Online courses (MOOCs) [1] has led to an increased interest in automated grading for programming assignments. Educational institutions now employ a variety of techniques and systems t...
详细信息
ISBN:
(纸本)9783031351280;9783031351297
The proliferation of Massive Open Online courses (MOOCs) [1] has led to an increased interest in automated grading for programming assignments. Educational institutions now employ a variety of techniques and systems to grade programming assignments automatically, in order to make the grading process more efficient and improve students' learning experience. This paper introduces ProGrader system, an innovative automated grading tool to evaluate student progress in programming courses. The paper presents an in-depth design and implementation of the various components and standout features that make up the ProGrader system. These features include the usability of the system, the grading criteria of students' submission, available automated instructor's feedbacks, supported programming languages, integration with other tools, scalability, and user-friendly interface design. Furthermore, the paper also discusses the incorporation of learning activities based on the Felder-Silverman model [2] to identify student learning styles and learning objectives. ProGrader is among the first grading tools that utilizes test-driven development methodologies and technologies. A pilot study involving 3 assignments and 45 students has been conducted to evaluate the system's usability and effectiveness. The present study was conducted with the approval of the Institutional Review Board (IRB) at Salem State University. The course activities using Java programming language were designed based on the Felder-Silverman model [2], which aimed to identify the students' learning styles and connect them with specific learning objectives. The ProGrader tool was utilized in the study, providing students with a playground page where they could think, write and test their answers based on given instructions. The tool also provided automated feedback on how to correct mistakes and discouraged plagiarism by requiring students to write the code line by line before proceeding to the final submission. Stu
Formulating questions, whether for assessments or to create exercises, is an essential component of teaching programming. The development of well-constructed questions requires considerable effort. In this research, a...
详细信息
ISBN:
(纸本)9783031485350;9783031485367
Formulating questions, whether for assessments or to create exercises, is an essential component of teaching programming. The development of well-constructed questions requires considerable effort. In this research, a consolidated catalogue of question types was developed to assist programming instructors with the formulation of questions. Existing classifications of question types in both programming and computing were consulted in developing the catalogue. The catalogue was constructed using a systematised literature review by referring to the literature and unifying different categories of question types described in the literature. The catalogue consists of fourteen base types of questions, with the possibility of variations within most base types. The catalogue is primarily intended to assist instructors in designing and formulating more diverse types of questions in programming courses. Additionally, the author envisages that this catalogue can serve as a starting point for discussions on how to map current educational taxonomies to question types, the different skills related to these questions, appropriate formats (for instance, multiple choice vs open format questions) and the appropriate qualification levels at which these questions can be presented.
Computer programming courses are an essential facet of STEM education, confronted by many pressing challenges. Higher education (HE) students struggle to master programming principles resulting in unsatisfactory pass ...
详细信息
ISBN:
(数字)9781728109305
ISBN:
(纸本)9781728109305
Computer programming courses are an essential facet of STEM education, confronted by many pressing challenges. Higher education (HE) students struggle to master programming principles resulting in unsatisfactory pass rates, student retention and low levels of student engagement. Gamification in programming courses has been recognized as a prospective technique that could improve student participation as well as impact learning in a positive way. There is currently a shortage of review studies published in the last two years (2018-2019) that focus specifically on the gamification of programming courses in HE. The aim of this paper is to bridge this gap and to provide a comprehensive review of literature concerning studies that focused on the usage of gamification systems in the teaching of programming courses in HE from 2014 until 2019. Results indicate that the most popular gamification elements that were used in the reviewed studies were leaderboards, followed by points, badges and levels. Additionally, in terms of the tools or instruments that were used to implement gamification solutions, it was discovered that the development of a new gamification platform and the usage of existing gamification tools were the most wide-spread method for gamification implementation. Lastly, from the studies that were reviewed, it was evident that gamification of HE programming courses had a very positive impact on student engagement, student programming knowledge and student motivation. This review paper fills a void in existing literature and could therefore serve as a valuable resource for academe that consider gamifying HE programming courses.
Despite computer programming courses today often having hundreds of participants, it is important that the students complete practical programming exercises and have a possibility to participate in hands-on programmin...
详细信息
ISBN:
(纸本)9783030456900;9783030456917
Despite computer programming courses today often having hundreds of participants, it is important that the students complete practical programming exercises and have a possibility to participate in hands-on programming sessions, where they can get help from their peers and teaching assistants. However, heterogeneous devices used by students pose a great challenge. When installing and using development tools, both platform specific issues and the limitations of students' personal skill cause issues and lots of extra work for teachers. To address these challenges, we built a virtualized environment that provides the same homogeneous environment for all the students, reducing the time used for configuration and assisting students and allowing time to be used teaching the actual contents of the course. The current study provides an experience report on our course virtualization project, highlighting the drawbacks and benefits of our solution. Our preliminary findings indicate that vast majority of students are using the environment and have found it an effective and usable way to complete the practical coursework.
Context: programming courses are compulsory for most engineering degrees, but students' performance on these courses is often not as good as expected. programming is difficult for students to learn, given that it ...
详细信息
Context: programming courses are compulsory for most engineering degrees, but students' performance on these courses is often not as good as expected. programming is difficult for students to learn, given that it includes a lot of new, complex, and abstract topics. All of this has led experts to the conclusion that new teaching techniques are required if students are to be motivated and engaged in learning on programming courses. Gamification has come to be an effective technique in education in general, and is especially useful in programming courses. This motivated us to develop an open source gamified platform, called UDPiler, for use in a programming course. Objective: The main goal of this article is to obtain empirical evidence on the improvement of students' learning performance when using UDPiler in comparison to a non-gamified compiler. Method: A quasi-experiment was performed with two groups of first-year engineering students at Diego Portales University in Chile, using a non-gamified compiler and a gamified platform, respectively. Results: The results reveal that the students obtained better marks when the gamified platform was used to learn C programming. In addition, there is statistical significance in favor of there being a positive effect on the learning performance of those students who used the gamified platform. Conclusions: The results allow us to conclude that gamification is an encouraging approach with which to teach C programming, a finding that is aligned with previous empirical studies concerning gamification on programming courses, carried out in academic contexts. Nonetheless, we are aware that further validation is also required to corroborate and strengthen the findings obtained and to investigate whether the kind of gamified elements (mechanics, dynamics, and aesthetics) used have any influence on students' performance, among other issues that deserve further investigation and that are explained throughout this article.
In the traditional teaching mode, the beginners generally feel that the concepts in the programming courses are abstract and the programming ability is difficult to improve. Analyzing the teaching contents and the key...
详细信息
ISBN:
(纸本)9781728118468
In the traditional teaching mode, the beginners generally feel that the concepts in the programming courses are abstract and the programming ability is difficult to improve. Analyzing the teaching contents and the key difficulties in the teaching activities, we put forward the mixed teaching mode which combines the MOOC teaching mode and the traditional classroom teaching mode. This teaching mode can make full use of the existing online resources to build courses, and focus on arousing the learners' autonomous learning motivation and the mutual cooperation ability within study groups. The teaching practice shows that this mixed teaching mode can better improve the learning interest and practical programming ability of the students compared with the traditional teaching mode.
Several experiments on the effects of pair programming versus solo programming in the context of education have been reported in the research literature. We present a meta-analysis of these studies that accounted for ...
详细信息
Several experiments on the effects of pair programming versus solo programming in the context of education have been reported in the research literature. We present a meta-analysis of these studies that accounted for 18 manuscripts with 28 independent effect sizes in the domains of programming assignments, exams, passing rates, and affective measures. In total, our sample accounts for N = 3,308 students either using pair programming as a treatment variable or using traditional solo programming in the context of a computing course. Our findings suggest positive results in favor of pair programming in three of four domains with exception to affective measures. We provide a comprehensive review of our results and discuss our findings.
Facing the existing problems in the traditional teaching form in large classes of program courses teaching, the "Internet plus" technology and flipped classroom teaching mode are combined together. Aiming at...
详细信息
Facing the existing problems in the traditional teaching form in large classes of program courses teaching, the "Internet plus" technology and flipped classroom teaching mode are combined together. Aiming at the difficulties and key problems in large class flipped classroom teaching, flipped classroom teaching design mode based on "Internet plus" concept in large classes is put forward. It provides a new idea for the implementation of flipped classroom in programming courses of large class, and can provide reference for improving the quality of large class teaching in ordinary universities.
Big-data era brings forward new requirements of information technology talents. Adapting to this change, we need to break through the limitations of traditional teaching model and take advantage of network teaching pl...
详细信息
Big-data era brings forward new requirements of information technology talents. Adapting to this change, we need to break through the limitations of traditional teaching model and take advantage of network teaching platform in programming courses. By introducing blended teaching model, restructure the "teaching" and "learning" and construct an information-teaching environment aimed to improve the students' practical ability and innovative thinking. Taking an example of Android application development course, based on students' online learning statistics, we proves the feasibility of the implementation of blended teaching model, and provide the reference for other programming courses.
暂无评论