أعلان
أعلان

تحميل كتاب Programming Environments for Novices pdf
المؤلف : غير محدد
عن الكتاب : 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? .
أعلان
أعلان
تحميل
التحميل | حجم الكتاب |
---|---|
غير محدد فى الوقت الحالى |
أعلان
أضافة مراجعة
1 (0)
2 (0)
3 (0)
4 (0)
5 (0)
كتب ذات صلة بكتاب Programming Environments for Novices

0.0
كتاب شرح مشروع اشارات المرور باستخدام المت ..
غير محدد
كتب منوعة - كتب لغة السي - غير محدد عدد الصفحات