Hybrid and Non-Hybrid Block-Based Programming Languages in an Introductory College Computer-Science Course

2021 ◽  
pp. 073563312098510
Author(s):  
Wen-Chin Hsu ◽  
Julie Gainsburg

Block-based programming languages (BBLs) have been proposed as a way to prepare students for learning to program in more sophisticated, text-based languages, such as Java. Hybrid BBLs add the ability to view and edit the block commands in auto-generated, text-based code. We compared the use of a non-hybrid BBL (Scratch), a hybrid BBL (Pencil Code), and no BBL across three sections of an introductory CS course that taught Java programming, to determine whether either type of BBL offered cognitive or affective advantages for learning Java. Students in the BBL groups were surveyed about their perceptions of each BBL in terms of ease of use and helpfulness in learning Java, and all three groups were compared on their performance in Java programming. The results showed that, in this introductory CS course, neither type of BBL offered an advantage in preparing students for learning Java. These results held regardless of the students’ level of Java knowledge prior to the course.

Author(s):  
Muhammad Shumail Naveed

Computer programming is the heart of computer science and C++ and Java are the most popular and widely used languages. The performance of C++ and Java programming languages has been benchmarked using robotics, numerical, genetic and evolutionary algorithms, but not using introductory programming algorithms. This article examined C++ and Java by analysing the implementation of novice algorithms of introductory programming courses by evaluating the difficulty, effort, time and delivered bugs of programs with Halstead software metrics. The study identified that Java is more difficult than C++ in the implementation of selected algorithms. Similarly, the efforts required to translate the novice algorithms in Java are higher than C++. The time involved in translating selected algorithms in C++ is lower than Java. Similarly, the number of delivered bugs in C++ is lower than Java. The study suggests that C++ is more suitable than Java for the implementation of introductory programming algorithms and reasonably more suitable for introductory programming courses. The study emboldens the programming linguists to do further analyses in contemplating other programming languages with Halstead software metrics and other kinds of algorithms.


2021 ◽  
Vol 64 (6) ◽  
pp. 120
Author(s):  
Leah Hoffmann

ACM A.M. Turing Award recipients Alfred Aho and Jeffrey Ullman discuss their early work, the 'Dragon Book,' and the future of 'live' computer science education.


2021 ◽  
Vol 11 (3) ◽  
pp. 1073
Author(s):  
Kwanghee Jung ◽  
Vinh T. Nguyen ◽  
Jaehoon Lee

Traditional in-app virtual reality (VR)/augmented reality (AR) applications pose a challenge of reaching users due to their dependency on operating systems (Android, iOS). Besides, it is difficult for general users to create their own VR/AR applications and foster their creative ideas without advanced programming skills. This paper addresses these issues by proposing an interactive extended reality toolkit, named BlocklyXR. The objective of this research is to provide general users with a visual programming environment to build an extended reality application for digital storytelling. The contextual design was generated from real-world map data retrieved from Mapbox GL. ThreeJS was used for setting up, rendering 3D environments, and controlling animations. A block-based programming approach was adapted to let users design their own story. The capability of BlocklyXR was illustrated with a use case where users were able to replicate the existing PalmitoAR utilizing the block-based authoring toolkit with fewer efforts in programming. The technology acceptance model was used to evaluate the adoption and use of the interactive extended reality toolkit. The findings showed that visual design and task technology fit had significantly positive effects on user motivation factors (perceived ease of use and perceived usefulness). In turn, perceived usefulness had statistically significant and positive effects on intention to use, while there was no significant impact of perceived ease of use on intention to use. Study implications and future research directions are discussed.


Author(s):  
Paul G. Lee ◽  
Daeyong Lee ◽  
Gary A. Gabriele

Abstract The proper use of integral attachment features in mechanical assemblies has been more of an art than an engineering science. An organized set of design steps for generating conceptual integral attachment designs has recently been developed based on work begun by Bonenberger. These steps outline a formal design methodology for exploring the design space of possible alternative attachment concepts. This paper describes the development of a software tool that attempts to implement the integral attachment design methodology to assist a designer in developing attachment concepts. The tool is implemented using the Java programming language. A graphical interface is used to present the methodology as a series of options that approximate the design situation. This hides many of the details of the methodology in favor of ease of use. The end result is a set of suggestions for integral fasteners that are matched to the design situation. A discussion of how the hundreds of images are handled using Java is provided. A sample case study illustrates the approach of the program. The tool represents one of the few examples of a design tool aimed specifically at generating design concepts.


Author(s):  
Colette Wanless-Sobel

Computer science (CS) is defined in wikipedia as a branch of human knowledge “relating to computation, ranging from abstract analysis of algorithms and formal grammars, to subjects like programming languages, software, and computer hardware” (Computer Science, 2005). Computer science emerged as a distinct field in the 1940s and 1950s with the development of the first electronic digital computers. To limit computer science to just computer use or its knowledge bodies, however, is reductive; CS is embedded in a complex, unquantifiable cultural context, including socio-economic and gendering practice. Computer hardware and software are designed to complement and supplement human activity and processes such as warfare, industrial applications, information management, including education, the Internet, a knowledge commons, and most recently biotechnology. Although CS is typically considered neutral and scientific, its episteme and practice is androcentric or male centered, often to the exclusion of females (Herbst, 2002). Female attributes have not typically been associated with computer science or computers. Although there is general agreement that women are as intellectually capable as men in CS, the fact remains that women today do not have equal participation in CS majors, CS engineering, programming, software design, Web site construction, or computer repair. (Jepson & Perl, 2002). In the technetronic 21st century, when computers are becoming standard for education and in symbolic analytic jobs, women’s enrollment in CS has declined, and many women do not feel confident using computers for more than e-mail transmissions, e-commerce, and social interaction in forums or newsgroups. Women who do not have knowledge or confidence in their abilities to work in CS not only have unrealized potentials in CS but also are left out of employment activities. Reasons for gendering in CS are complex and debated. Socialization, overt and tacit discrimination, and epistemological plurality are three dominant explanations. CS industries, educators, cognitive scientists, parents, and women professionals in CS are some of the groups currently working to attain gender equity in CS.


1996 ◽  
Vol 15 (1) ◽  
pp. 53-66
Author(s):  
Liejune Shiau

Most programming courses taught today are focused on managing batch-oriented problems. It is primarily because parallel computers are not commonly available, therefore problems with concurrent nature could not be explored. This consequence, at the same time, causes student's under preparation to meet the challenge of modern multi-process computation technologies. This article demonstrates an easy solution for implementing concurrent programming projects in computer labs. This solution does not require special hardware support or special programming languages. The goal is to facilitate a means to deal with the concept and usefulness of multi-process software systems in the early stage of computer science curriculum. We also include detailed descriptions on a few creative and interesting concurrent examples to illustrate this idea.


2020 ◽  
Vol 58 (7) ◽  
pp. 1372-1411 ◽  
Author(s):  
Simon P. Rose ◽  
M. P. Jacob Habgood ◽  
Tim Jay

The recent shift in compulsory education from ICT-focused computing curricula to informatics, digital literacy and computer science, has resulted in children being taught computing using block-based programming tools such as Scratch, with teaching that is often limited by school resources and teacher expertise. Even without these limitations, Scratch users often produce code with ‘code smells’ such as duplicate blocks and long scripts which impact how they understand and debug projects. These code smells can be removed using procedural abstraction, an important concept in computer science rarely taught to this age group. This article describes the design of a novel educational block-based programming game, Pirate Plunder, which concentrates on how procedural abstraction is introduced and reinforced. The article then reports an extended evaluation to measure the game’s efficacy with children aged 10 and 11, finding that children who played the game were then able to use procedural abstraction in Scratch. The article then uses game analytics to explore why the game was effective and gives three recommendations for educational game design based on this research: using learning trajectories and restrictive success conditions to introduce complex content, increasing learner investment through customisable avatars and suggestions for improving the evaluations of educational games.


Sign in / Sign up

Export Citation Format

Share Document