There are plentiful online programming resources that enable learners to develop an understanding of conceptual knowledge and practical implementation. However, learners, especially novices, often experience difficult...
详细信息
This paper presents adaptable materials that teach programming fundamentals via game programming with Greenfoot, a free Java based game development platform. The materials consist of five independent modules, each of ...
详细信息
ISBN:
(纸本)9781467352611
This paper presents adaptable materials that teach programming fundamentals via game programming with Greenfoot, a free Java based game development platform. The materials consist of five independent modules, each of which focuses on a group of related computing fundamentals. Each module includes the shell of a game, lessons that teach programming fundamentals, hands-on exercises that apply the fundamentals to add functionality to the game, and questionnaires and content-based quizzes that can be used to assess the effectiveness of the lessons. An instructor's guide is also included. These materials were used to teach computing concepts to high school students in two different venues in summer 2011 and 2012. Formal assessments found that the students experienced a significant increase in knowledge in computing and an increased interest in computing and likelihood of taking computing courses in the future. The paper describes the motivation for this work, how it relates to other works, the teaching and assessment materials, the key concepts covered in each module, the venues in which the materials were tested, and the results. It also discusses how the instructional materials can be used in other venues and provides a link to the materials so that others may use them.
Introductory programming courses often use a full-featured programming language, such as Python, Java, or C++, wherein students concurrently learn programming concepts along with language syntax. However, many instruc...
详细信息
ISBN:
(纸本)9781450351034
Introductory programming courses often use a full-featured programming language, such as Python, Java, or C++, wherein students concurrently learn programming concepts along with language syntax. However, many instructors believe that learning programming concepts first, then learning a specific language's syntax, may be more effective than learning both concurrently. Thus, some courses first teach programming via flowcharts and pseudocode. Some tools and materials support teaching programming via flowcharts, but we felt much improvement was needed. Therefore, we developed a new flowchart language, named Coral-Charts, specifically intended to teach fundamental programming constructs like assignments, branches, loops, functions, and arrays. We developed a web-based graphical simulator for Coral-Charts; no local tool installation is necessary (unlike the most common existing flowchart tool). The simulator always displays the values of variables, which helps students comprehend the impact of statements. The simulator enforces a layout that intentionally mirrors textual code's top-to-bottom execution and sub-statement indentation, easing the transition to a textual language. Furthermore, we defined a new pseudocode-like language, named Coral (***), that is executable and that matches Coral-Charts. Syntax is ultra-simple and only essential constructs are included. Certain features automatically detect or eliminate many new-learner errors. Students can type Coral code, from which a Coral-Charts flowchart is auto-generated, and students can execute both the code and flowcharts. Coral was carefully designed to naturally lead into languages Python, Java, or C++. Coral and Coral-Charts are used in the textbook Fundamental programming concepts (***/catalog/fundamental-programming-concepts). We welcome feedback on the approach and potential collaborators in implementing experiments.
An intervention using the unplugged programming and storytelling (UPS) strategy was implemented in this study to cultivate students' programming learning motivation and concepts. The participants were 49 second gr...
详细信息
An intervention using the unplugged programming and storytelling (UPS) strategy was implemented in this study to cultivate students' programming learning motivation and concepts. The participants were 49 second graders at a primary school in southern Taiwan. The course was conducted for 12 lessons (40 min each lesson). A quasi-experimental design was employed in this study. During the course, students in the experimental group were taught using the UPS strategy. Data collection included the programming Concept Test and programming Learning Motivation Scale supplemented by classroom observation and interview data. The results revealed that the experimental group outperformed the comparison group in programming learning motivation and concepts after the course with the UPS strategy. This teaching experiment obtained large effect sizes. Interviews showed that students perceived positively, which helped them develop their programming concepts. The implication is that the UPS strategy may contribute to primary school programming courses.
Among the most fundamental concepts of computer science education is introductory programming, and, many effective approaches were proposed to teach programming to novice learners. Despite all efforts, students still ...
详细信息
ISBN:
(纸本)9783319585093;9783319585086
Among the most fundamental concepts of computer science education is introductory programming, and, many effective approaches were proposed to teach programming to novice learners. Despite all efforts, students still show poor performance with course assessments, which can then lead to dropping out of their studies after their first experience with programming. In the last few years, a number of interventions were suggested, including the utilization of educational games that can motivate, stimulate and engage students far better than conventional approaches. In this paper, we present CodeAdventure, an educational adventure-like game that has been designed for learning and practicing introductory programming concepts. CodeAdventure adopts an integrated design approach that employs various mechanisms and techniques to achieve a truly immersive game learning experience while in parallel provides a fun way to practice and apply various programming concepts. CodeAdventure uses compelling graphics and incorporates different learning techniques that have been shown to be effective for students' learning, such as providing hints and clues on how to solve puzzles, referencing instructional material, and immediate feedback on students' performance.
We present the kernel language approach;a new way to teach programming that situates most of the widely known programming paradigms (including imperative, object-oriented, concurrent, logic, and functional) into a uni...
详细信息
ISBN:
(纸本)140207266X
We present the kernel language approach;a new way to teach programming that situates most of the widely known programming paradigms (including imperative, object-oriented, concurrent, logic, and functional) into a uniform setting that shows their deep relationships and how to use them together. Widely different practical languages (exemplified by Java, Haskell, Prolog, and Erlang) with their rich panoplies of abstractions and syntax are explained by straightforward translations into closely related kernel languages, simple languages that consist of small numbers of programmer-significant concepts. Kernel languages are easy to understand and have a simple formal semantics that can be used by practicing programmers to reason about correctness and complexity.
The Computing Alliance of Hispanic Serving Institutions (http://***), a consortium of 7 institutions focused on the recruitment, retention, and advancement of Hispanics in computing, is implementing and promoting the ...
详细信息
ISBN:
(纸本)9781424419692
The Computing Alliance of Hispanic Serving Institutions (http://***), a consortium of 7 institutions focused on the recruitment, retention, and advancement of Hispanics in computing, is implementing and promoting the development of recruitment mechanisms to attract other majors to the field of Computer Science. CS has lost roughly 50% of its majors in the last 5 years. The member institutions have introduced a 3-credit hour course called CS0 that is intended to motivate students, especially those who have a weak background in computing, to continue studies in computing and to prepare students for success in the first CS course. There are two models that are being implemented: one using Alice software and another using Python. CAHSI is creating a repository for support materials for dissemination of each of the implementations and collecting data to determine the success of the approaches. This paper discusses the structure, materials, and implementations, and presents preliminary results.
This article presents the design of a tangible tool for teaching basic programming concepts to students with visual impairments and low vision. Meeting the preliminary requirements of this ongoing project (Tangible in...
详细信息
ISBN:
(纸本)9783030491079;9783030491086
This article presents the design of a tangible tool for teaching basic programming concepts to students with visual impairments and low vision. Meeting the preliminary requirements of this ongoing project (Tangible input, cost-efficient, and minimal maintenance), the paper describes the design of the hardware of this prototype with inexpensive materials, such as Lego blocks, 3.5mm stereo audio jack connectors, relays, resistors, and an Arduino Mega microcontroller. To identify the Lego blocks that represent the code instructions, the system provides three different methods of identification;color, 3D printed labels, and braille labels. To acquire feedback and validate this prototype, a preliminary study with nine participants with Visual Impairment and Low Vision has been carried out. All participants completed the task successfully, provided feedback about the prototype, and all recommended this prototype to teach basic programming concepts. Currently, the project is focused on the implementation of music as an output method of programs created by users. The objective is to create a programming tool completely independent of visual graphics or information.
The Raspberry Pi is a small computer useful for teaching students basic computer knowledge. This paper discusses the integration of the Raspberry Pi in an introductory information systems course. Previously, the initi...
详细信息
ISBN:
(纸本)9781509059201
The Raspberry Pi is a small computer useful for teaching students basic computer knowledge. This paper discusses the integration of the Raspberry Pi in an introductory information systems course. Previously, the initial course in the College of Engineering and Information Sciences was a general applications course not focused on computer science or engineering. A new course was developed integrating the raspberry pi with hands on labs to improve student engagement. The initial course should be exciting and motivating to students. By creating a new course with interesting labs that integrate the Raspberry Pi, higher pass rates and student satisfaction will be achieved.
There are learning barriers with traditional textbooks, students often do not read the textbook, the contents are outdated, or the cost is exorbitant. There is a need for modern knowledge sources to replace the tradit...
详细信息
ISBN:
(纸本)9798350320503
There are learning barriers with traditional textbooks, students often do not read the textbook, the contents are outdated, or the cost is exorbitant. There is a need for modern knowledge sources to replace the traditional textbook to engage learners and develop deeper levels of cognition and knowledge retention. This paper introduces zyBooks in a beginning programming course. The course was previously designed to utilize the Python language with activities in an Integrated Development Environment (IDLE). The new design utilizes zyBooks focusing on initial programming concepts. In the design, students use Python to program a data analytics project in a Project-Based Learning (PBL) framework and zyBooks to learn basic programming skills through practical application. The utilization of zyBooks as a modernized source of knowledge resulted in increased achievement of student outcomes and increased student satisfaction with the learning methodology.
暂无评论