首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 171 毫秒
1.
Recursion is a central concept in computer science, yet it is difficult for beginners to comprehend. Israeli high-school students learn recursion in the framework of a special modular program in computer science (Gal-Ezer & Harel, 1999). Some of them are introduced to the concept of recursion in two different paradigms: the procedural programming paradigm and the logic programming (LP) paradigm. Here we discuss the implication of first learning recursion in LP on the students’ understanding of the concept. The declarative approach for teaching recursion in logic programming seems to enhance students’ recursion comprehension. We found that students who learned recursion in LP before learning it in a procedural paradigm differed, in terms of their mental models of recursion, from those who were acquainted with recursion in procedural programming only. More of the LP students possessed an adequate model of recursion as a process than did the non-LP students. Moreover, the LP students also attained a unique conception of recursion as a tool for knowledge representation.  相似文献   

2.
3.
Designing and deploying programming courses is undoubtedly a challenging task. In this paper, an attempt to analyze important aspects of a sequence of two courses on imperative-procedural and object-oriented programming in a non-CS majors Department is made. This analysis is based on a questionnaire filled in by fifty students in a voluntary basis. The issues of the programming courses that are investigated refer to: the strategy selected for the introduction to programming; the sequence of the programming techniques and languages taught and the transition from the one to the other; students’ difficulties with programming in general and with imperative-procedural and object-oriented programming in specific; the teaching and learning design of both courses; and the material that students rely on for learning programming. Based on the analysis of students’ replies on the questionnaire, related work and the instructor’s experience on teaching the courses, conclusions are drawn regarding all the aforementioned aspects of designing and deploying programming courses. The main contribution of the paper is the fact that all the important and interrelated aspects of a sequence of two programming courses are investigated in conjunction, providing realistic implications and guidelines for improving the quality and effectiveness of existing programming courses and designing and deploying new courses. The main results refer to the usage of a pseudo-language for an introduction to programming, the transition from procedural to object-oriented programming, the intrinsic difficulties of learning programming, and practices for a more successful teaching and learning design of programming courses.  相似文献   

4.
This paper presents the structure of an undergraduate course entitled ‘programming techniques and the use of specialised software in structural engineering’ which is offered to the fifth (final) year students of the Civil Engineering Department of Aristotle University Thessaloniki in Greece. The aim of this course is to demonstrate the use of new information technologies in the field of structural engineering and to teach modern programming and finite element simulation techniques that the students can in turn apply in both research and everyday design of structures. The course also focuses on the physical interpretation of structural engineering problems, in a way that the students become familiar with the concept of computational tools without losing perspective from the engineering problem studied. For this purpose, a wide variety of structural engineering problems are studied in class, involving structural statics, dynamics, earthquake engineering, design of reinforced concrete and steel structures as well as data and information management. The main novelty of the course is that it is taught and examined solely in the computer laboratory ensuring that each student can accomplish the prescribed ‘hands-on’ training on a dedicated computer, strictly on a 1:1 student over hardware ratio. Significant effort has also been put so that modern educational techniques and tools are utilised to offer the course in an essentially paperless mode. This involves electronic educational material, video tutorials, student information in real time and exams given and assessed electronically through an ad hoc developed, personalised, electronic system. The positive feedback received from the students reveals that the concept of a paperless course is not only applicable in real academic conditions but is also a promising approach that significantly increases student productivity and engagement. The question, however, is whether such an investment in educational technology is indeed timely during economic recession, where the academic priorities are rapidly changing. In the light of this unfavourable and unstable financial environment, a critical overview of the strengths, the weaknesses, the opportunities and the threats of this effort is presented herein, hopefully contributing to the discussion on the future of higher education in the time of crisis.  相似文献   

5.
虽然socket API是目前网络编程接口的事实标准,但它也存在一些的不足:接口复杂;使用不方便;协议无关性差;跨平台能力不强。针对这些问题,研究了跨平台和协议无关网络编程技术,并使用C 实现了一个跨平台协议无关网络类库。它可以同时支持Windows和Linux操作系统,支持以协议无关的方式进行网络编程,支持单播和ASM/SSM组播,支持UDP和TCP,支持基于TCP通信的标准输入输出流。通过在一个实际网络测量系统中的应用,验证了本类库达到了跨平台性和协议无关性的设计目标。  相似文献   

6.
Java程序设计课程是计算机专业的重要课程,不仅要学习Java的相关编程知识,更承担了让学生从面向过程到面向对象编程思想转变的任务。既要有理论知识的讲解,又要有Jdk内容的学习,一直是学生学习的难点课程。文章通过对教学过程中学生频繁出现问题的分析,设计了一套针对Java教学的方案,提出了任务驱动和过程反馈相结合的教学方式,针对不同的阶段设计相应的实例,并针对学生的反馈进行及时的修正,使学生更好地理解面向对象的基本概念和Java程序设计方法。  相似文献   

7.
指出凸分析问题的两个定理(凹规划定理和对偶定理)的证明中所存在的漏洞,并给出正确的证明.首先,将凸集的端子集的概念推广到一般集合的端集,再利用推广后的端集正确地证明了凹规划定理.其次,给出局部凸空间的一个引理,并利用这个引理证明了共轭函数的对偶定理.  相似文献   

8.
Roles of variables is a new concept that captures tacit expert knowledge in a form that can be taught in introductory programming courses. A role describes some stereotypic use of variables, and only ten roles are needed to cover 99% of all variables in novice-level programs.

This paper presents the results of an experiment where roles were introduced to novices learning Pascal programming. Students were divided into three groups that were instructed differently: in the traditional way with no treatment of roles; using roles throughout the course; and using a role-based program animator in addition to using roles in teaching.

The results show that students are not only able to understand the role concept and to apply it in new situations but—more importantly—that roles provide students a new conceptual framework that enables them to mentally process program information in a way demonstrating good programming skills. Moreover, the use of the animator seems to foster the adoption of role knowledge.  相似文献   

9.
10.
One of the primary goals of Freirean theory is the achievement of a higher level of political and social consciousness amongst participants in educational programming. Freire himself only loosely defined this sense of consciousness, and interpretations of how this abstract concept might look vary widely. In some organisations, the politically radical goals of Freirean facilitators do not match the desired outcomes of participants. Other organisations may use Freirean methods to pursue their programming, but without subscribing to Freire's revolutionary educational project. This article provides case study examples of both extremes in Brazil and Mozambique, concluding with the argument that applying Freire's notion of critical consciousness organisationally can help to make sense of the diversity of interpretation among Freirean nonprofits.  相似文献   

11.
计算机数学,又称离散数学,是计算机学科的重要专业基础课程。在实际教学中发现,计算机科学专业的学生对该课程感兴趣的不多,多数畏惧其概念多、理论强且抽象。利用一种函数式程序设计语言(Haskell)辅助学生进行计算机数学中相关概念理解及其实际编程实验,主要针对课程教学中代数系统(如群)知识点,通过群定义及其性质验证实验来介绍函数编程技术,可以帮助计算机专业学生更好地学习理解计算机数学课程,并能充分调动其学习积极性和主动性,还可培养学生接受新知识的能力。  相似文献   

12.
Making a good programming environment for beginning programmers is an enterprise which can exploit the strong connections between machine learning and human learning. Applying what we know about teaching and learning to improve the programming environment can result in a system which allows beginners to more readily acquire programming skills.Surprisingly, a universally accepted principle of good teaching and good learning has not been taken seriously enough in designing programming environments-learning by example. A good teacher presents examples of how to solve problems, and points out what is important about the examples. The student generalizes from the examples to learn principles and techniques. This paper describes a programming environment called Tinker, in which a beginning programmer presents examples to the machine, distinguishing accidental and essential aspects of the examples. The programmer demonstrates how to handle the specific examples, and the machine formulates a procedure for handling the general case. Because people are much better at thinking about concrete examples than they are at thinking about abstractions, and because examples provide immediate feedback, Tinker is a more congenial environment for a beginner than conventional programming systems.  相似文献   

13.
In this article we look at some traditional approaches to the use of computers in the teaching of modern languages. Pointing out their inadequacies, we describe a system based around the use of a natural language parser for teaching French, known as frog. The role of Artificial Intelligence techniques in general and the benefits of using the programming language Prolog in particular for this task are described. We then present a system which is based around the use of such general techniques to cope with free form French sentences but which can be generalised as the basis of future work for a language-independent teaching shell.  相似文献   

14.
The search for new, authentic science assessments of what students know and can do is well under way. This has unearthed measures of students' hands-on performance in carrying out science investigations, and has been expanded to discover more or less direct measures of students' knowledge structures. One potential finding is concept mapping, the focus of this review. A concept map is a graph consisting of nodes representing concepts and labeled lines denoting the relation between a pair of nodes. A student's concept map is interpreted as representing important aspects of the organization of concepts in his or her memory (cognitive structure). In this article we characterize a concept map used as an assessment tool as: (a) a task that elicits evidence bearing on a student's knowledge structure in a domain, (b) a format for the student's response, and (c) a scoring system by which the student's concept map can be evaluated accurately and consistently. Based on this definition, multiple concept-mapping techniques were found from the myriad of task, response format, and scoring system variations identified in the literature. Moreover, little attention has been paid to the reliability and validity of these variations. The review led us to arrive at the following conclusions: (a) an integrative working cognitive theory is needed to begin to limit this variation in concept-mapping techniques for assessment purposes; (b) before concept maps are used for assessment and before map scores are reported to teachers, students, the public, and policy makers, research needs to provide reliability and validity information on the effect of different mapping techniques; and (c) research on students' facility in using concept maps, on training techniques, and on the effect on teaching is needed if concept map assessments are to be used in classrooms and in large-scale accountability systems. © 1996 John Wiley & Sons, Inc.  相似文献   

15.
借鉴相关教学方法,将人工智能领域的概念格理念引入偏重问题求解的课程中,提出一种新型的学习体系。本文介绍该体系的理念与路线,以程序设计课程为例阐述概念格的建立过程,并进行效果评估。  相似文献   

16.
The Knowledge in Pieces (KiP) framework offers a powerful perspective to understand the dynamic nature of knowledge and knowledge development. However, there is still much we do not know about the mechanisms underlying the moment-to-moment knowledge construction process. The purpose of this study was to explore the ways in which contextual knowledge elements support that process. According to KiP, a knowledge element, once activated, becomes part of the context that shapes the activation, configuration, and operation of other elements. Based on this assumption, we hypothesized that when the structural and operational characteristics of these contextual knowledge elements are compatible with those of the target concept, the contextual knowledge elements can support the knowledge construction process. This hypothesis was investigated in the domain of recursion, a fundamental but challenging programming concept. Sixty undergraduate computer science students completed four recursion evaluation tasks with varying likelihood to induce compatible contextual elements. Results showed that students performed better on high-compatibility tasks than on low-compatibility tasks at both the group level and individual level. Further qualitative analysis identified the knowledge elements involved and elaborated and refined the explanatory model for the contextual support effect.  相似文献   

17.
The concept of intellectual giftedness has had a long history in the literature of psychology and education. However, though the existence of the phenomenon underlying this concept has never actually been disputed, there are multiple ongoing debates regarding its definition, methods for its identification, and subsequent programming. This essay is conceived to contribute to the discussion on intellectual giftedness and to provide a global context for the other articles in this issue. The essay is comprised of three major parts. First, we review the defining terms, contexts and theories historically and currently applied to the understanding of intellectual giftedness. Second, we comment on models used to identify it. Third, we discuss the major influences that directly shape the treatment of giftedness in a number of international settings.  相似文献   

18.
儿童编程教育与基础课程的融合已成为编程教育领域研究的重要课题。儿童编程教育融入学科教学是转变与重塑计算教育观念的一次新尝试,也是推广与普及儿童编程教育的创新举措,更能助力编程教学与学科知识彼此协同发展。Scratch具有算法简化、媒体丰富的图像空间,自上而下、分而治之的修补理念,设计建造、交流协作的自由情境等特征优势,成为“用编程学”的媒介首选。基于此,文章以基于设计的研究为设计原则,并以4P学习法为理论基础,构建了以小学科学内容为案例的儿童编程与学科融合的教学模式,以期丰富与优化小学科学教学方式并探索推广多样化的儿童编程教学形式。  相似文献   

19.
This paper is concerned with pupils' learning of the concept of variable in the Logo programming environment and how this relates to teaching. Results from three research projects are described and compared in a discussion of how improvements in learning have been influenced by a refinement in teaching method. This refinement has been influenced, in part, by the theories of Vygotsky. Within this paper, details of the changes in teaching approach are described together with a discussion of the effects of these changes. The main conclusion drawn is that in mathematics education we need to make more explicit the underlying theories influencing our work, because these theories influence both the ways in which we work in the classroom and the ways in which we analyse our data.I am grateful to Celia Hoyles and Harvey Mellar for their comments on an earlier version of this paper. And I would like to thank the Economic and Social Science Research Council for their support for Project AnA (Grant Number R000232132).  相似文献   

20.
在计算机上应用高等数学解决实际问题的任务中,应用传统的文本语言编程时要求开发者有深厚的数学功底和较高的编程技能,这两方面限制了问题解决的实现和效率。该文试图将工科领域应用的虚拟仪器技术引入数学分析领域,通过相应实例说明了它的应用方法,展现了其快速、形象、强大的数学问题解决能力。这种技术它在工程领域和高等数学教学中都有很强的实用价值。  相似文献   

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

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