This article proposes a bottom-up approach to the first course in computing, in contrast to the conventional top-down approach of teaching programming in a high-level language first, describing details of the course a...
详细信息
This article proposes a bottom-up approach to the first course in computing, in contrast to the conventional top-down approach of teaching programming in a high-level language first, describing details of the course and its benefits.
This paper examines whether undergraduate students perform better and experience lower cognitive load when programming in Algot, a visual programming language that supports programming by demonstration, than in the te...
详细信息
ISBN:
(纸本)9798400704239
This paper examines whether undergraduate students perform better and experience lower cognitive load when programming in Algot, a visual programming language that supports programming by demonstration, than in the textual programming language Python. We recruited 38 first-semester computerscience university students who had received prior instruction in the programming language Python but were unfamiliar with Algot. Participants reviewed a 12-minute video tutorial about Algot and performed the same programming tasks in Python and Algot. We graded student submissions, estimated cognitive load through physiological measures and a validated post-test survey, and evaluated free-form feedback. Our results indicated that students experienced lower negative (extraneous and intrinsic) and higher positive (germane) cognitive load when programming in Algot. Additionally, students programming in Algot scored an average grade of 5.8 out of 10, compared to an average grade of 3.4 when using Python for the same tasks, and according to the free-form feedback, Algot is perceived as well-designed and easy to learn.
Self-regulated learning holds great significance within the realm of introductory computerprogramming. It refers to the active involvement of students in their academic journey, encompassing motivational, behavioral,...
详细信息
ISBN:
(数字)9783031536564
ISBN:
(纸本)9783031536557;9783031536564
Self-regulated learning holds great significance within the realm of introductory computerprogramming. It refers to the active involvement of students in their academic journey, encompassing motivational, behavioral, metacognitive, and cognitive aspects. In addition, the social regulation of learning plays a crucial role in programming education, wherein students collaborate to regulate their cognition, behavior, motivation, and emotions, fostering temporary coordination with peers or teachers. Unfortunately, current teaching and learning methodologies in programming tend to overlook the development of self-regulation, co-regulation, and shared regulation skills. Therefore, in this research we investigate the extent to which students in introductory programming employ regulation strategies during their programming endeavors. Through an exploratory study involving 198 (one hundred ninety-eight) participants, it was discovered that a significant number of students fail to engage in regulatory strategies while learning introductory programming. Consequently, there is a pressing need to implement strategies that support students' regulation during the learning process. To address this issue, 8 (eight) instructional scripts have been developed for teachers, incorporating evidence-based principles of programming learning and focusing on fostering regulatory strategies.
In the Czech version of the Bebras Challenge, programming tasks in which a programming code is built from blocks are used alongside traditional contest tasks. This paper deals with the comparison of these programming ...
详细信息
ISBN:
(纸本)9783031734731;9783031734748
In the Czech version of the Bebras Challenge, programming tasks in which a programming code is built from blocks are used alongside traditional contest tasks. This paper deals with the comparison of these programming tasks with other informatics tasks in terms of theworkload of their solvers. programming tasks can strongly attract the contestants' attention. The aim of the paper is to find out to what extent pupils pay attention to programming tasks at the expense of other tasks and how this differs for successful and unsuccessful contestants. We prepared national round tests in which there were typically two programming tasks and ten other tasks in each age category. We conducted quantitative research with a total of 184,949 respondents from the 2023 contest. We discovered that pupils spend more time on programming tasks than on the other tasks. When designing tests that include programming tasks, it is necessary to take this into account, and thus either limit the number of tasks, increase the test time, or include less challenging tasks. Our research on programming tasks revealed that, for most age categories, successful pupils ran different versions of their solution fewer times than unsuccessful ones. We also discovered that successful solvers spent more time on the task than unsuccessful solvers. The youngest pupils were the outliers in these findings. Our paper contributes to the understanding of the extent to which it is a good idea to include programming tasks in informatics contests like the Bebras Challenge.
This Innovative-Practice Full Paper presents the curriculum development of an introductory course in programming and data science for postdoctoral researchers (PDRs) in the biosciences. The use of computing software h...
详细信息
ISBN:
(数字)9781665462440
ISBN:
(纸本)9781665462440
This Innovative-Practice Full Paper presents the curriculum development of an introductory course in programming and data science for postdoctoral researchers (PDRs) in the biosciences. The use of computing software has become ubiquitous and a working knowledge of data science has become increasingly essential for researchers in all domains. However, curriculum development focusing on imparting foundational programming skills and fundamentals of data science for researchers in domains other than computing has been scarce. Thus, there is an unmet need for curriculum development involving computational thinking, programming, and the fundamentals of data science for this audience. Recognizing these growing needs and demands of researchers to learn programming and data science that can then be applied to their area of research or practice, we developed an introductory course in programming and data science for PDRs in biology and medicine. The primary goal of the course was to develop computational thinking skills in PDRs who hail from backgrounds that have traditionally not focused on inculcating computational thinking. This course covered the fundamental concepts of programming using either Python or R - languages that researchers outside the computing community use in numerous ways including the statistical analysis of large datasets that are becoming increasingly common in biomedical research. Further, PDRs enrolled in the course were introduced to some of the broad categories of problems in data science - exploratory data analysis, classification, regression, and clustering - along with relevant algorithms and how they can be applied to real-world datasets in their respective domains using packages or libraries in Python or R. We also report the feedback from the enrolled PDRs, lessons learned, and recommendations for instructors interested in designing similar curricula. Our course focusing on computing and data science education for postdoctoral scholars from a n
In recent years, the push for secondary school students to "learn to code" has increased significantly. Currently, about half of secondary schools in the United States have computerscience education availab...
详细信息
In recent years, the push for secondary school students to "learn to code" has increased significantly. Currently, about half of secondary schools in the United States have computerscience education available to students in some form. Unfortunately, many of these schools choose a curriculum bogged down in the nuances of programming language syntax, leaving students bored, confused, unable to apply their learning to useful problems outside the classroom, and therefore disheartened about further pursuing a more conceptual computerscience education in college. As a current undergraduate who has helped teach secondary school computerscience, I witnessed firsthand the problems with current approaches. I, therefore, propose a shift in the focus of computing education research away from teaching "coding" effectively to elucidating a more abstract but nevertheless more pragmatic characterization of computerscience as an academic field, rather than programming as a trade.
Since Seymour Papert's work with the Logo programming language in the 1960s, there has been a prevailing belief in the effectiveness of visual programming environments for teaching programming to children and novi...
详细信息
ISBN:
(纸本)9798400706004
Since Seymour Papert's work with the Logo programming language in the 1960s, there has been a prevailing belief in the effectiveness of visual programming environments for teaching programming to children and novices. As these platforms evolved and became more prevalent, using block programming to teach children and beginners became increasingly more common. However, modern block programming platforms like Scratch and *** excessively restrict educators by not allowing them to create custom exercises in the platform. They also tend to make programming a solo activity, not allowing for collaboration and cooperation between learners (Scratch is an exception in this regard). Additionally, they are usually located in standalone websites instead of being implemented in locations that students already frequent regularly. Having identified these gaps in the field of block programming environments, this paper proposes NextBlocks, a new block programming platform implemented as a Moodle plugin. This platform enables educators to create custom exercises, emphasizing social perception and collaboration features. It supports features that are uncommon in block programming environments, contributing to a more interactive and engaging learning experience. Furthermore, being integrated into the Moodle Learning Management System makes NextBlocks more easily accessible within the educational framework. As an open-source platform, besides solving current challenges, it can also serve as a foundation for future expansion by the education community. This paper explores some of the unique features of NextBlocks, presents a case study on the platform, and discusses its potential contributions to enhancing programming education for beginners within a collaborative learning environment.
The following article presents and corroborates an outcome space branch-and-bound algorithm for solving the general linear multiplicative programming problem (GLMPP). In this new algorithm, GLMPP is transformed into i...
详细信息
The following article presents and corroborates an outcome space branch-and-bound algorithm for solving the general linear multiplicative programming problem (GLMPP). In this new algorithm, GLMPP is transformed into its equivalent problem by introducing auxiliary variables. To compute the tight upper bound for the optimal value of GLMPP, the linear relaxation programming problem is assembled by using bound and hull linear approximations. Furthermore, the global convergence and computational complexity of the algorithm are demonstrated. Finally, the soundness and advantage of the proposed algorithm are validated by solving a demonstrative linear multiplicative problem.
This study investigated patterns in the development of computational thinking and programming expertise in the context of the Exploring computerscience (ECS) program, a high school introductory CS course and professi...
详细信息
ISBN:
(纸本)9781450358903
This study investigated patterns in the development of computational thinking and programming expertise in the context of the Exploring computerscience (ECS) program, a high school introductory CS course and professional development program designed to foster deep engagement through equitable inquiry around CS concepts. Prior research on programming expertise has identified three general areas of development program comprehension, program planning, and program generation. The pedagogical practices in ECS are consistent with problem solving approaches that support the development of programming expertise. The study took place in a large urban district during the 2016-17 school year with 28 ECS teachers and 1,931 students. A validated external assessment was used to measure the development of programming expertise. The results indicate that there were medium-sized, statistically significant increases from pretest to posttest, and there were no statistically significant differences by gender or race/ethnicity. After controlling for prior academic achievement, performance in the ECS course correlated with performance on the posttest. With respect to specific programming concepts, the results also provide evidence on the progression of the development of programming expertise. Students seem to develop comprehension and planning expertise prior to expertise in program generation. In addition, students seem to develop expertise with concrete tasks prior to abstract tasks.
The reach of technology stretches across a wide variety of domains: from the health industry to entertainment and gaming. Software programming undoubtedly plays a major role in modern technology. Therefore, computer s...
详细信息
ISBN:
(纸本)9789819754403;9789819754410
The reach of technology stretches across a wide variety of domains: from the health industry to entertainment and gaming. Software programming undoubtedly plays a major role in modern technology. Therefore, computerscience and programming education is of the utmost importance. In our research, we aim to investigate the best approaches and languages to be used to introduce programming to students and others wishing to learn to program. Indeed, there are numerous approaches to learning programming and lots of existing research regarding these approaches. There are also numerous programming languages and types of audiences. We highlight various methods that can be used to teach programming, and how those approaches can best be matched to different programming languages and audiences. We build upon existing research to reach conclusions, and we conduct our own survey that involves computerscience students, computerscience teachers, and software development professionals. Our goal is not to promote a certain approach or to promote a particular programming language. Rather, we find correlations and provide recommendations regarding which languages are most suitable for different approaches and audiences.
暂无评论