首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
Abstract

Programming is an activity through which students can learn about other domains, but the difficulty of programming diminishes its usefulness as a learning activity. One approach to facilitate the use of programming for learning is to view programming as a skill like those taught through apprenticeships, and to use the apprenticeship concept of scaffolding to facilitate doing and learning through programming. Scaffolding means providing modifiable support (through fading) that communicates process, coaches, and elicits articulation. Software‐realized scaffolding embeds scaffolding in a computer‐based environment. Emile implements software‐realized scaffolding to facilitate student learning of physics by facilitating students building computer‐based models and simulations. In this article, I present Emile's features as examples of software‐realized scaffolding, and I present the results of an evaluation of Emile's effectiveness. Students were able to use Emile to create fairly sophisticated programs and gained a qualitative understanding of kinematics in the process.  相似文献   

2.

The demand for assembler language programmers has dropped dramatically over the past 20 years with the advent of structured programming languages and the accessibility of hardware features from high‐level languages. Nevertheless, a course in assembler language programming is often the first, and sometimes the only, introduction a student has to a machine's hardware. For this reason alone, assembler language programming courses should not be removed from a curriculum; instead, they should be kept and taught in conjunction with modern software engineering practices. This article describes an alternative approach to teaching assembler language programming. Whereas the students are still introduced to a machine and its assembler language, they are required to write several low‐level library routines they used in introductory courses (such as ACM CS1 and CS2). Furthermore, the S‐Machine's support software allows students to study the internals of an assembler, a librarian, and a linker.  相似文献   

3.

The pedagogical desirability of functional programming is effectively swamped by an overwhelmingly imperative‐language‐oriented culture. Because a meaningful subset of the functional paradigm is accessible within imperative languages, it is possible to identify a subset of Modula‐2 that characterizes the functional paradigm subset. A series of list‐processing problems and their solutions in the Modula‐2 subset provides students with ample exposure to the practice and theory of functional programming. Extension to the full functional paradigm and migration to specialized functional languages are managed, in the worst case by initial pseudo‐Modula‐2 programming involving hypothetical extensions supporting higher‐order functions and polymorphism. More powerful solutions to this problem are foreshadowed, in the form of preprocessor implementations of Modula‐2‐ and Ada‐derivative functional languages.  相似文献   

4.

This project is demonstrating the feasibility of using the object‐oriented paradigm to teach students software design in a nonprogramming context. The program, developed using principles of user‐based, prototyping design, teaches students to create responsibility‐driven designs of computer games. Investigations with high school students with little or no knowledge of computers and senior computer science majors have demonstrated that students can indeed learn to use Class‐Responsibility‐Collaborator (CRC) cards to produce creditable high‐level designs in a relatively short time whether or not they have programming experience and can generalize what they have learned to a new design. Although the computer science majors created more complete designs and demonstrated a deeper understanding of the design process than the high school students, these students still found the experience valuable. Both sample groups generally found the process interesting and relatively painless.  相似文献   

5.
High-School Students' Attitudes Regarding Procedural Abstraction   总被引:1,自引:0,他引:1  
During the last decade a new computer science curriculum has been taught in Israeli high schools. This curriculum introduces CS concepts and problem-solving methods independently of specific computers and programming languages, along with the practical implementation of those concepts and methods encountered in actual programming languages. The advanced study unit of the curriculum, Software Design, introduces the students to various aspects of software systems design through the use of abstract data types (ADTs). One main goal of the unit is to develop abstract thinking skills and problem-solving abilities. More specifically, the unit presents principles such as procedural abstraction, data abstraction, information hiding, modularity, efficiency, and reuse of code.We present the results of a preliminary study whose aim was to assess students' attitudes regarding procedural abstraction. The research population consisted of high-school students who attended the Software Design course (beginners), and a control group of undergraduate CS students (advanced). The results of the study clearly indicated a significant difference between the attitudes of the two groups. We found that the advanced students preferred algorithms that were formulated to some extent with high-level abstraction; however, they encountered a cognitive barrier when dealing with algorithms that they had evaluated as too abstract for them. However, beginners felt more comfortable with algorithms with low-level abstraction. Nevertheless they showed open-mindedness toward some degree of procedural abstraction. The results of the study were used to design scaffolding problem-solving tools for algorithm development, utilizing procedural abstraction techniques that can be adapted to various student populations (Haberman, B. (2002) SIGCSE Bulletin, 34(4), 60–64).  相似文献   

6.
Abstract

Tracing solutions to programming problems is a long‐standing technique used to reveal the details of a solution and to expose bugs in a program. Tracing can also help programmers build a model or representation of how a programming language responds to code. This article describes the LISP Evaluation Modeler (LEM), an on‐line tracing tool designed to (a) help novices form an understanding of and facility with the LISP evaluation process, and (b) assist all programmers in designing and debugging programs. An empirical study of LEM demonstrates its advantages for design, comprehension, and debugging and suggests ways in which LEM can help novices learning LISP.  相似文献   

7.
Novice programmers are facing many difficulties while learning to program. Most studies about misconceptions in programming are conducted at the undergraduate level, yet there is a lack of studies at the elementary school (K-12) level, reasonably because computer science neither programming are regularly still not the part of elementary school curricula’s. Are the misconceptions about loops at elementary school level equal to those at the undergraduate level? Can we “prevent” the misconceptions by using the different pedagogical approach, visual programming language and shifting the programming context toward game programming? In this paper, we tried to answer these questions. We conducted the student misconceptions research on one of the fundamental programming concepts – the loop. The research is conducted in the classroom settings among 207 elementary school students. Students were learning to program in three programming languages: Scratch, Logo and Python. In this paper, we present the results of this research.  相似文献   

8.

This article describes an educational tool, implemented in Prolog, that takes advantage of the connection between logic programming and databases to provide an evaluator for relational query languages. The tool utilizes a common data definition facility and provides the student with a choice of query languages: relational algebra, domain relational calculus, tuple relational calculus, and SQL. The students use the relational interpreter for a sequence of homework assignments that both provide invaluable feedback on each language and illustrate the differences between the languages.  相似文献   

9.
ABSTRACT

In this study I explored how elementary school students are initially assigned to homeroom classrooms (criteria used and heterogeneous vs. homogeneous grouping), subsequently assigned to mathematics classes (e.g., self‐contained, regrouped, departmentalized), and grouped for mathematics instruction within classes (e.g., whole‐class, two groups, individualized). This three‐dimensional typology of school and classroom organization was used to survey 571 elementary school principals from 12 states. Results showed that students were generally assigned to heterogeneous self‐contained homeroom classes, that they remained in these same classes for mathematics, and that mathematics was usually taught to entire classes (whole class). Within‐class ability grouping, within‐grade regrouping, and departmentalized plans were used increasingly for mathematics at the intermediate grades, but across‐grade or Joplin Plan programs were infrequent.  相似文献   

10.
In this case study, a group of nine 4th grade children were introduced to the Logo programming language during three 90-minute sessions over a four-week period. They attended a private university-based laboratory school serving students with various learning disabilities. This project demonstrated that a classic version of Logo captured the students’ interest. It was a viable source of interactive challenge and problem-solving experience that provided students with a great deal of pride, intrinsic reward, enjoyment, and sense of ownership of learning. The process of overcoming obstacles while programming with Logo may be especially beneficial for students with mild disabilities.  相似文献   

11.
ABSTRACT

There have been many successful examples of new methodological approaches developed to help students in computer programming courses. Of these approaches, the peer assessment mechanism could be useful in providing students with opportunities to learn from one another, improve their learning experience and reach efficient learning outcomes. The paper presents and analyses an improved system based on the received evaluations of a previously developed web-based programming-assisted environment. This system automatically manages the peer code review process and delivers feedback to peers in a manner that favours the incremental learning of the concepts presented throughout the course. The experimental results are focussed on the impact of this system on students’ programming competence, time management capabilities and student engagement.  相似文献   

12.
Background and Context: The relationship between novices’ first programming language and their future achievement has drawn increasing interest owing to recent efforts to expand K–12 computing education. This article contributes to this topic by analyzing data from a retrospective study of more than 10,000 undergraduates enrolled in introductory computer science courses at 118 U.S. institutions of higher education.

Objective: We explored the relationship between students’ first programming languages and both their final grades in an introductory computer science course and their attitudes about programming.

Method: Multiple matching techniques compared those whose first language was graphical (e.g., Scratch), textual (e.g., Java), or absent prior to college.

Findings: Having any prior programming experience had positive effects on both attitudes about programming and grades in introductory computer science courses. Importantly, students whose first language was graphical had higher grades than did students whose first language was textual, when the languages were introduced in or before early adolescent years.

Implications: Learning any computer language is better than learning none. If programming is to be taught to students before early adolescence, it is advised to start with a graphical language. Future work should investigate the transition between different types of programming languages.  相似文献   


13.
Summaries

English

A special cognitive‐preference inventory dealing with agriculture was developed, validated and administered to 943 middle‐school students and their teachers. This is the first reported study of cognitive preferences of 7th and 8th grade (12 to 13 year‐old) students. The inventory was found to be a valid and reliable measure of cognitive preferences related to agricultural topics studied in Israeli schools.

Preference for application (A) was found to be negatively correlated in different students with either recall (R) or principles (P) or critical questioning (Q).

Studying the ‘new’ agriculture compared with the ‘old’, resulted in a lower preference for R and a higher preference for A. Female students had, on the average, a higher preference for R and P while males tended to prefer A and Q. Children whose fathers were simple workers had the highest preference for R while children whose fathers were academics had the lowest preference for R. Teachers, when compared with their students, had a much higher preference for P and a much lower preference for R. A close correspondence was found between reported emphasis in classroom tests and the cognitive‐preference modes of teachers.

  相似文献   

14.
Formal mathematical methods remain, for most high school students, mysterious, artificial and not a part of their regular intuitive thinking. The authors develop some themes that could lead to a radically new approach. According to this thesis, the teaching of programming languages as a regular part of academic progress can contribute effectively to reduce formal barriers. This education can also be used to enable pupils to access an accurate understanding of some key mathematical concepts. In the field of heuristic knowledge for technical problem solving, experience of programming is no less valuable: it lends itself to promote a discussion of relations between formal procedures and the comprehension of intuitive problem solving and provides examples for the development of heuristic precepts (formulating a plan, subdividing the complexities, etc.). The knowledge gained in programming can also be used for the discussion of concepts and problems of classical mathematics. Finally, it can also facilitate the expansion of mathematical culture to topics in biological and physical sciences, linguistics, etc. The authors describe a programming language called ‘Logo’ adapted to objectify an enduring framework of mathematical experimentation.  相似文献   

15.

In the context of our goal to bring parallel computing into the undergraduate curriculum, we needed a parallel‐programming language that was accessible to students and independent of any particular hardware platform. Finding nothing appropriate, we chose to design our own language. The result, DAPPLE, is a C++ class library designed to provide the illusion of a data‐parallel programming language on conventional hardware and with conventional compilers. DAPPLE defines Vectorand Matrixclasses, with most C++ operators overloaded to provide elementwise arithmetic, and supports data‐parallel operations like scans, permutations, and reductions. DAPPLE also provides a parallel if‐then‐else statement to restrict the scope of the above operations to partial vectors or matrices. In this article we describe the DAPPLE language, the pedagogical decisions that went into its design, and our experience using DAPPLE in the classroom. DAPPLE is freely available on the Internet.  相似文献   

16.
The first part of this paper reviews the criteria offered by du Boulay, O'Shea and Monk (1981) for designing a coneeptual model of a programming environment for teaching novices programming. It argues that although the criteria offered, namely simplicity and visibility, are helpful, these criteria alone are not sufficient as they do not address the choice of which aspects of the conceptual model are to be presented to the learner. In order to address this issue it is necessary to carve up the conceptual model differently and to distinguish different aspects. One important aspect for novices is a functional view, as this will help them develop programming plans. A new complementary categorisation is offered which offers three views of the conceptual model: namely state, procedure and function, and adds a new criterion, namely consistency. Two languages designed for novices using the general criteria of du Boulay, O'Shea and Monk are then analysed in detail, firstly using du Boulay et al.'s criteria, and secondly using the proposed categorisation. Data from novices learning to program in the two languages shows that although the languages had been satisfactorily designed according to du Boulay et al.'s criteria, a number of learning difficulties remained, which were satisfactorily accounted for by the new categorisation.  相似文献   

17.
Abstract

This study extended the internal/external reference model to multiple languages including students’ language of instruction, first foreign language, and second foreign language. We examined whether social and dimensional comparisons play similar roles in the formation of students’ self-concept related to different languages and whether dimensional comparisons result in contrast or assimilation effects. All students had German as the language of instruction and English as the first foreign language. Students were divided into a subsample (N?=?487) learning French as a second foreign language and a subsample (N?=?481) learning Latin. Invariance tests demonstrated that the achievement–self-concept relations were similar across the subsamples, but interesting group differences became apparent when analyzing the French and Latin subsamples separately.  相似文献   

18.
ABSTRACT

This article presents original qualitative research applying paired text study, havruta learning, to the secular college classroom. I adapted this method to a first-year seminar in a public university and found that students perceived that havruta improved their abilities to verbalize their understandings through reading text aloud and debating one another, opened their eyes to new perspectives, engaged them in argumentation, and empowered them to take charge of learning. Despite students’ overall resoundingly positive reflections upon their havruta experience, I also inquired as to perceived disadvantages, which included unbalanced participation, discomfort with disagreeing, and agreement leading to stagnation. Strategies I posit to address these challenges include planning for and evaluating future havruta learning and evaluating the balance and quality of work of partners.  相似文献   

19.

The Learning Enrichment Service (LES) is a multi‐optioned, research based model for bettor meeting the needs of gifted secondary school students. It acts as a school‐wide support system for teachers and students in both the regular classroom and specialized programs by screening, training, networking, counselling and exchanging information for enrichment programming.  相似文献   

20.
Abstract

To help introductory programming students gain an integrated, generative understanding of LISP, we designed, implemented, and evaluated the LISP Knowledge Integration Environment (LISP‐KIE). The LISP‐KIE reflected a conceptual framework which featured (a) scaffolding of students as they control their own learning rather than telling students what they should know and (b) activities engaging students in expert problem‐solving practices rather than exercises emphasizing syntax and small problems. We conducted two in‐depth studies and one comparison study to show that the LISP‐KIE fostered knowledge integration. By knowledge integration, we mean linked, organized, and connected information about such aspects of programming as design, testing, specific problem solutions, and self‐monitoring.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号