بحث عن كتاب
تحميل و قراءة كتاب Programming Environments for Novices pdf

تحميل كتاب Programming Environments for Novices pdf

المؤلف : غير محدد
التصنيف : كتب منوعة
سنة النشر : 2003
عدد الصفحات : غير محدد
عن الكتاب : 2003م - 1443هـ Programming Environments for Novices Mark Guzdial College of Computing, Georgia Institute of Technology guzdial@cc.gatech.edu May 7, 2003 1 Specializing Environments for Novices The task of specializing programming environments for novices begins with the recog- nition that programming is a hard skill to learn. The lack of student programming skill even after a year of undergraduate studies in computer science was noted and measured in the early 80's [32] and again in this decade [20]. We know that students have problems with looping constructs [31], conditionals [8], and assembling programs out of base components [33]|and there are probably other factors, and interactions between these factors, too. What are the critical pieces? What pieces, if we ¯xed" them (made them better for novice programmers), would make programming into a more manageable, learn- able skill? If we developed a language that changed how conditionals work or loops, or make it easier to integrate components, would programming become easier? That's the issue that developers of educational programming environments are asking. Each novice programming environment (or family of environments) is attempting to answer the question, What makes programming hard?" Each answer to that question implies a family of environments that address the concern with a set of solutions. Each environment discussed in this chapter attempts to use several of these answers to make programming easier for novices. Obviously, there are a great many answers to the question What makes program- ming hard?" For each answer, there are a great many potential environments that act upon that answer, and then there are a great many other potential environments that deal with multiple answers to that question. That's not surprising, since it's almost certainly true that there is no one correct answer to the question that applies to all people. Not all of these potential environments have been built and explored, however. The ¯eld of Computer Science Education Research is too new, and there are too few people doing work in this ¯eld. We are still in the stage of the ¯eld of identifying 1 potential answers to key questions|indeed, even ¯guring out what the key questions are! Nonetheless, there are many novice programming environments that have been built, and not all can be discussed in a short primer. Instead, this chapter will focus on three families that have been particularly in°uential in the development of modern environments and in the thinking of the CS Ed research community. ² The Logo family of programming environments, that began as an o®-shoot of the AI-programming language Lisp and spawned a rich variety of novice programming environments. ² The rule-based family of programming environments, that drew from both Logo and Smalltalk-72, but even more directly, Prolog. ² The traditional programming language family of novice programming environ- ments, which tried not to change the language, but instead provide new student- centered supports for existing programming languages. The audience for these environments ranges from young school children for the Logo environments to undergraduate university students for some of the traditional programming language environments. In this chapter, the issue of student di®erences (e.g., age, background, motivation) is simply glossed over. Such a huge simpli¯cation is acceptable in this situation because the problem is so hard. No matter what the age of the students, programming is hard to learn. Whether students attempt to learn to program at a young age or at the age of young adults, the tasks and di±culties remain similar. The environments in the sections below are attempting to deal with those challenges at whatever the age of the student audience. 2 Logo and its Descendants: The Goal of Compu- tational Literacy Logo was developed in the mid-1960's by Wally Feuzeig and Danny Bobrow at BBN Labs, in consultation with Seymour Papert at nearby MIT. Logo was designed to be Lisp without parentheses." Lisp was a popular programming language for arti¯cial intelligence programming. Lisp was known for its °exibility and the ease with which data could become program, or vice-versa, making it very easy for programs to manip- ulate their own components. Lisp was especially good for creating and manipulating representations of knowledge. (See Figure 1 for the family tree of this section.) The answer to the question of What makes programming hard?" for the Logo developers was another question. When Logo was ¯rst being developed, people didn't know that programming was going to be so hard for so many. Programming was still a curiosity, an activity practiced only by the few who had access to the still-rare machines. The Logo developers asked instead Why should students program? .
وصف كتاب Programming Environments for Novices
2003م - 1443هـ Programming Environments for Novices Mark Guzdial College of Computing, Georgia Institute of Technology guzdial@cc.gatech.edu May 7, 2003 1 Specializing Environments for Novices The task of specializing programming environments for novices begins with the recog- nition that programming is a hard skill to learn. The lack of student programming skill even after a year of undergraduate studies in computer science was noted and measured in the early 80's [32] and again in this decade [20]. We know that students have problems with looping constructs [31], conditionals [8], and assembling programs out of base components [33]|and there are probably other factors, and interactions between these factors, too. What are the critical pieces? What pieces, if we ¯xed" them (made them better for novice programmers), would make programming into a more manageable, learn- able skill? If we developed a language that changed how conditionals work or loops, or make it easier to integrate components, would programming become easier? That's the issue that developers of educational programming environments are asking. Each novice programming environment (or family of environments) is attempting to answer the question, What makes programming hard?" Each answer to that question implies a family of environments that address the concern with a set of solutions. Each environment discussed in this chapter attempts to use several of these answers to make programming easier for novices. Obviously, there are a great many answers to the question What makes program- ming hard?" For each answer, there are a great many potential environments that act upon that answer, and then there are a great many other potential environments that deal with multiple answers to that question. That's not surprising, since it's almost certainly true that there is no one correct answer to the question that applies to all people. Not all of these potential environments have been built and explored, however. The ¯eld of Computer Science Education Research is too new, and there are too few people doing work in this ¯eld. We are still in the stage of the ¯eld of identifying 1 potential answers to key questions|indeed, even ¯guring out what the key questions are! Nonetheless, there are many novice programming environments that have been built, and not all can be discussed in a short primer. Instead, this chapter will focus on three families that have been particularly in°uential in the development of modern environments and in the thinking of the CS Ed research community. ² The Logo family of programming environments, that began as an o®-shoot of the AI-programming language Lisp and spawned a rich variety of novice programming environments. ² The rule-based family of programming environments, that drew from both Logo and Smalltalk-72, but even more directly, Prolog. ² The traditional programming language family of novice programming environ- ments, which tried not to change the language, but instead provide new student- centered supports for existing programming languages. The audience for these environments ranges from young school children for the Logo environments to undergraduate university students for some of the traditional programming language environments. In this chapter, the issue of student di®erences (e.g., age, background, motivation) is simply glossed over. Such a huge simpli¯cation is acceptable in this situation because the problem is so hard. No matter what the age of the students, programming is hard to learn. Whether students attempt to learn to program at a young age or at the age of young adults, the tasks and di±culties remain similar. The environments in the sections below are attempting to deal with those challenges at whatever the age of the student audience. 2 Logo and its Descendants: The Goal of Compu- tational Literacy Logo was developed in the mid-1960's by Wally Feuzeig and Danny Bobrow at BBN Labs, in consultation with Seymour Papert at nearby MIT. Logo was designed to be Lisp without parentheses." Lisp was a popular programming language for arti¯cial intelligence programming. Lisp was known for its °exibility and the ease with which data could become program, or vice-versa, making it very easy for programs to manip- ulate their own components. Lisp was especially good for creating and manipulating representations of knowledge. (See Figure 1 for the family tree of this section.) The answer to the question of What makes programming hard?" for the Logo developers was another question. When Logo was ¯rst being developed, people didn't know that programming was going to be so hard for so many. Programming was still a curiosity, an activity practiced only by the few who had access to the still-rare machines. The Logo developers asked instead Why should students program? .
تحميل
التحميل حجم الكتاب
غير محدد فى الوقت الحالى
أضافة مراجعة
0.0 / 5
تقييم

Programming Environments for Novices

بناء على 0 مراجعة
1 (0)
2 (0)
3 (0)
4 (0)
5 (0)