كتاب Programming Environments for Novicesكتب تقنية المعلومات

كتاب Programming Environments for Novices

Programming Environments for Novices Mark Guzdial College of Computing, Georgia Institute of Technology [email protected] 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
Mark Guzdial
College of Computing, Georgia Institute of Technology
[email protected]
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?

سنة النشر : 2003م / 1424هـ .
عدد مرات التحميل : 14066 مرّة / مرات.
تم اضافته في : الأحد , 11 مايو 2008م.
حجم الكتاب عند التحميل : 1.2 ميجا بايت .

ولتسجيل ملاحظاتك ورأيك حول الكتاب يمكنك المشاركه في التعليقات من هنا:


بيئات البرمجة للمبتدئين
Mark Guzdial
College of Computing، Georgia Institute of Technology
[email protected]
7 مايو 2003
1 البيئات المتخصصة للمبتدئين
تبدأ مهمة تخصيص بيئات البرمجة للمبتدئين بإدراك
أن البرمجة مهارة صعبة ليتعلم.
لوحظ نقص مهارات البرمجة لدى الطلاب حتى بعد عام من الدراسات الجامعية في علوم الكمبيوتر
وقياسها في أوائل الثمانينيات [32] ومرة ​​أخرى في هذا العقد [20]. نعلم أن الطلاب
يواجهون مشكلات في التراكيب الحلقية [31] والشرطية [8] وتجميع البرامج
من المكونات الأساسية [33] | وربما هناك عوامل وتفاعلات أخرى
بين هذه العوامل أيضًا.
ما هي القطع الحاسمة؟ ما قطع، وإذا كنا ¯xed "هم (جعلها أفضل
للمبرمجين المبتدئين)، من شأنها أن تجعل البرمجة الى أكثر قابلية للإدارة، learn-
مهارة قادرة؟ إذا وضعنا اللغة التي غيرت كيفية عمل الشرطية أو الحلقات،
أو تجعل من السهل على الاندماج المكونات ، هل تصبح البرمجة أسهل؟ هذه هي
المشكلة التي يطرحها مطورو بيئات البرمجة التعليمية. تحاول
كل بيئة برمجة مبتدئة (أو مجموعة بيئات)
الإجابة على السؤال ، ما الذي يجعل البرمجة صعبة؟ " تتضمن كل إجابة على هذا
السؤال مجموعة من البيئات التي تعالج القلق بمجموعة من
حلول. تحاول كل بيئة تمت مناقشتها في هذا الفصل استخدام العديد من
هذه الإجابات لتسهيل البرمجة على المبتدئين.
من الواضح أن هناك العديد من الإجابات على السؤال ما الذي يجعل البرمجة
صعبة؟ "لكل إجابة ، هناك العديد من البيئات المحتملة التي
تعمل على هذه الإجابة ، ومن ثم هناك العديد من البيئات المحتملة الأخرى
التي تتعامل مع إجابات على هذا السؤال. هذا ليس مفاجئًا ، لأنه من
شبه المؤكد أنه لا توجد إجابة واحدة صحيحة للسؤال الذي ينطبق
على جميع الأشخاص.
ومع ذلك ، لم يتم بناء واستكشاف كل هذه البيئات المحتملة.
مجال علوم الكمبيوتر البحث في التعليم جديد للغاية ، وهناك عدد قليل جدًا منه
الناس الذين يعملون في هذا المجال. ما زلنا في مرحلة تحديد إجابة
واحدة
محتملة للأسئلة الرئيسية | في الواقع ، حتى تحديد ماهية الأسئلة الرئيسية
!
ومع ذلك ، هناك العديد من بيئات البرمجة المبتدئة التي تم
بناؤها ، ولا يمكن مناقشتها كلها في كتاب تمهيدي قصير. بدلاً من ذلك ، سيركز هذا الفصل
على ثلاث عائلات كانت لها أهمية خاصة في تطوير
البيئات الحديثة وفي تفكير مجتمع أبحاث CS Ed.
² مجموعة لوجو لبيئات البرمجة ، التي بدأت كلغة O®-shoot
للغة البرمجة AI Lisp ونتج عنها مجموعة متنوعة غنية من
بيئات البرمجة للمبتدئين .
² عائلة بيئات البرمجة المستندة إلى القواعد ، والتي تم اشتقاقها من كل من Logo
و Smalltalk-72 ، ولكن بشكل مباشر أكثر من Prolog.
² عائلة لغات البرمجة التقليدية لبيئات البرمجة للمبتدئين
، والتي حاولت عدم تغيير اللغة ، ولكنها بدلاً من ذلك توفر دعمًا جديدًا
يركز على الطالب للغات البرمجة الحالية.
يتراوح جمهور هذه البيئات من أطفال المدارس الصغار
لبيئات Logo إلى طلاب الجامعات الجامعيين لبعض
بيئات لغات البرمجة التقليدية . في هذا الفصل ، تم تجاهل مسألة الاختلافات الطلابية
(على سبيل المثال ، العمر ، الخلفية ، الدافع). هذا تبسيط ضخم
مقبول في هذه الحالة لأن المشكلة صعبة للغاية. بغض النظر عن عمر
الطلاب ، من الصعب تعلم البرمجة. سواء حاول الطلاب تعلم
البرمجة في سن مبكرة أو في سن الشباب ، تظل المهام والصعوبات
متشابهة. تحاول البيئات الموجودة في الأقسام أدناه التعامل مع
تلك التحديات مهما كان عمر جمهور الطلاب.
2 الشعار وأحفاده: الهدف من شعار
محو الأمية الحاسوبية
تم تطويره في منتصف الستينيات من قبل والي فيوزيج وداني بوبرو في
مختبرات بي بي إن ، بالتشاور مع سيمور بابيرت في معهد ماساتشوستس للتكنولوجيا القريب. تم تصميم الشعار ليكون
Lisp بدون أقواس. "كانت Lisp لغة برمجة مشهورة للصناعة اليدوية
برمجة الذكاء. عُرفت Lisp بمرونتها وسهولة تحويل
البيانات إلى برنامج ، أو العكس ، مما يجعل من السهل جدًا على البرامج معالجة
مكوناتها. كان Lisp جيدًا بشكل خاص لإنشاء
تمثيلات المعرفة والتلاعب بها . (انظر الشكل 1 للاطلاع على شجرة العائلة في هذا القسم.)
كانت الإجابة على سؤال ما الذي يجعل البرمجة صعبة؟ "بالنسبة
لمطوري Logo ، كان سؤالًا آخر. عندما كان يتم تطوير Logo لأول مرة ، لم يكن الناس
يعرفون أن البرمجة ستبدأ أن تكون صعبًا جدًا بالنسبة للكثيرين ، كانت البرمجة لا تزال
تثير الفضول ، وهو نشاط يمارسه فقط قلة من الذين لديهم إمكانية الوصول إلى الأجهزة التي لا تزال نادرة
.



نوع الكتاب : pdf.
اذا اعجبك الكتاب فضلاً اضغط على أعجبني
و يمكنك تحميله من هنا:

تحميل Programming Environments for Novices



كتب اخرى في كتب لغة السي

موسوعة البرمجة بلغة السي PDF

قراءة و تحميل كتاب موسوعة البرمجة بلغة السي PDF مجانا

C Programming Tutorial PDF

قراءة و تحميل كتاب C Programming Tutorial PDF مجانا

لغة C الشامل PDF

قراءة و تحميل كتاب لغة C الشامل PDF مجانا

البرمجة تحت نظام اللينكس PDF

قراءة و تحميل كتاب البرمجة تحت نظام اللينكس PDF مجانا

مقدمة في البرمجة بلغة C PDF

قراءة و تحميل كتاب مقدمة في البرمجة بلغة C PDF مجانا

البداية في التعامل مع الملفات في لغة السي PDF

قراءة و تحميل كتاب البداية في التعامل مع الملفات في لغة السي PDF مجانا

المزيد من كتب لغات البرمجة في مكتبة كتب لغات البرمجة , المزيد من كتب الإلكترونيات والطاقة في مكتبة كتب الإلكترونيات والطاقة , المزيد من الكتب التقنية والحاسوبية العامة في مكتبة الكتب التقنية والحاسوبية العامة , المزيد من كتب الكمبيوتر والانترنت في مكتبة كتب الكمبيوتر والانترنت , المزيد من كتب بي اتش بي في مكتبة كتب بي اتش بي , المزيد من كتب شبكات الحاسوب في مكتبة كتب شبكات الحاسوب , المزيد من كتب فجوال بيسك دوت نت في مكتبة كتب فجوال بيسك دوت نت , المزيد من كتب فجوال بيسك 6 في مكتبة كتب فجوال بيسك 6 , المزيد من كتب سي بلس بلس في مكتبة كتب سي بلس بلس
عرض كل كتب تقنية المعلومات ..
اقرأ المزيد في مكتبة كتب إسلامية , اقرأ المزيد في مكتبة كتب تقنية المعلومات , اقرأ المزيد في مكتبة المناهج التعليمية والكتب الدراسية , اقرأ المزيد في مكتبة القصص والروايات والمجلّات , اقرأ المزيد في مكتبة كتب الهندسة والتكنولوجيا , اقرأ المزيد في مكتبة الكتب والموسوعات العامة , اقرأ المزيد في مكتبة كتب تعلم اللغات , اقرأ المزيد في مكتبة كتب التنمية البشرية , اقرأ المزيد في مكتبة الكتب التعليمية , اقرأ المزيد في مكتبة كتب التاريخ , اقرأ المزيد في مكتبة كتب الأطفال قصص ومجلات , اقرأ المزيد في مكتبة كتب الطب , اقرأ المزيد في مكتبة الكتب العلمية , اقرأ المزيد في مكتبة كتب علوم سياسية وقانونية , اقرأ المزيد في مكتبة كتب الأدب , اقرأ المزيد في مكتبة كتب الروايات الأجنبية والعالمية , اقرأ المزيد في مكتبة كتب اللياقة البدنية والصحة العامة , اقرأ المزيد في مكتبة كتب الأسرة والتربية الطبخ والديكور , اقرأ المزيد في مكتبة الكتب الغير مصنّفة , اقرأ المزيد في مكتبة كتب المعاجم واللغات , اقرأ المزيد في مكتبة كتب علوم عسكرية و قانون دولي
جميع مكتبات الكتب ..