Dasturlashni o'rgatish

Mazkur maqolada fikrimcha dasturlashni o'rgatish uchun foydali bo'lgan maslahatlar keltirilgan.

Kam tushuntirish, ko'p vazifa berish

2-15 daqiqa tushuntirasiz, keyin esa 5-30 daqiqali vazifani berasiz. So'ng takrorlaysiz. Unday qilmasangiz, o'quvchilaringiz siz bergan bilimni hazim qilmasdan yaxshi anglashmaydi.

Misol uchun HTML inputlarni tushuntirb quyidagi kichik vazifani berasiz.

Shunday HTML ni tuzib bering.









Qahva Zanjabil choy

Xo‘jag‘at Qorag‘at

Foydasi kam bo'lgan narsalarni o'rgatmaslik

JavaScriptda typeof degan narsani o'rgatishga vaqt sarflash kerakmi? Yo'q. Ro'yxatni tartibga solib olmaydiganlarga typeof dan nima foyda? O'rgatsangiz ham, eslaridan chiqib ketadi, chunku qo'llashmaydi.

Avval eng muhim narsalarni o'rgatasiz, foydasi kam bo'lgan narsalar bilan chalg'itmaysiz. O'quvchilaringiz dasturchi bo'lib ishlab ketishganidan keyin kam qo'llaniladigan narsalarni o'rganishga vaqtlarini sarflasa bo'ladi.

Sabrli bo'lish

Sabr qilasiz. O'quvchilar juda erinishadi, uy vazifasini qilishmaydi.

Yoqimli ovozda gapish

4 yoshar bolaga nisbatan murakkab tushunchani qanday ovozda tushuntirasiz? Fikrimcha o'quvchilarga ham shunday tushuntirsangiz samarasini beradi.

Bexatolikni talab etmaslik

O'quvchi xato qilsa uni urishishdan o'zingizni tiying. Chunki u xato qilishdan, va natijada umuman mustaqil ishlashdan, tajriba qilishdan qo'rqadigan bo'lib qoladi.

"Tushunarlimi?" deb so'rash foydasi kam

O'quvchilarga nimanidir tushuntirganingizda mutloq sukunat paydo bo'lsa, demak tushunishmadi.

Tushunchlarni o'rgatish uchun usullarni, misollarni o'ylab topish

Qanday qilib o'zgaruvchilarni tushuntirsa bo'ladi?

var bobur = 9989064875874

Yuqoridagi misolda telefon raqamni qo'ydik. Va telefon raqamga nom berdik.

Telefon raqamga bobur nomini berdik. Chunki bu raqam Boburniki.

Endi qayerda shu bobur nomdan foydalansak, mazkur telefon raqami joyiga tushib qoladi.

console.log(bobur)

Yuqoridagi kod quyidagi kodga aylanadi.

console.log(9989064875874)

Va qobiqqa (console) 9989064875874 chiqadi.

Funksiyani tushuntirish

JavaScript qobiqqa sonlarni va matnni chiqarishni biladi.

console.log('Finjon')

Bu ish console.logbuyrug'i orqali bajariladi. Natijada Finjon so'zi qobiq ichida paydo bo'ladi.

Yana JavaScript chiqib keladigan oynachani ko'rsatishni biladi.

alert('Likop')

Bu ish alert buyrugi orqali bajariladi. Natijada brauzerda oynacha paydo bo'ladi va ichida Likop so'zi turgan bo'ladi.

Lekin JavaScript salomlashishni bilmaydi.

Tasavvur qiling, JavaScript salomlashishni bilganida.

Siz quyidagicha yozar edingiz.

ozbekchaSalomlashish('Abdulhakim')

Va brauzerda Assalomu alaykum Abdulhakim aka, yaxshimisiz, uydagilar sog' omonmi? degan oynacha chiqsa.

Tasavvur qiling, JavaScriptda shunday salomlashadigan buyruq bo'lsa. Ha, bunday buyruq yo'q, lekin uni JavaScripga qo'shib qo'yish yo'li bor. Natijada JavaScriptda buyruqlar soni birga oshadi, va mazkur ozbekchaSalomlashish buyruqdan foydalana olasiz.

Ko'ramiz.

function ozbekchaSalomlashish(ism) {
    var xabar = "Assalomu alaykum " + ism + ", yaxshimisiz, uydagilar sog' omonmi?"
    alert(xabar)
}

Yuqorida kod bilan JavaScriptga yangi burqug'ni qo'shdik.

Endi undan foydalanish vaqti keldi.

function ozbekchaSalomlashish(ism) {
    var xabar = "Assalomu alaykum " + ism + ", yaxshimisiz, uydagilar sog' omonmi?"
    alert(xabar)
}

ozbekchaSalomlashish('Abdulhakim')

Va nimani ko'ryapmiz? Brauzerda salomlashadigan oynacha chiqib keldi!

Bu buyrug'dan albatta ko'p marta foydalansa bo'ladi.

function ozbekchaSalomlashish(ism) {
    var xabar = "Assalomu alaykum " + ism + ", yaxshimisiz, uydagilar sog' omonmi?"
    alert(xabar)
}

ozbekchaSalomlashish('Abdulhakim')ozbekchaSalomlashish('Bobur')ozbekchaSalomlashish('Abdulbosit')

Yuqoridagi misolda 3 marta 3 ta odam bilan salomlashadigan oynacha chiqadi.

Yuqoridagi misolda ozbekchaSalomlashish buyrugi funksiya deb ataladi.

Xullas funksiyani shunday tarzda tushuntirsa bo'ladi. Albatta bu to'liq tushuntirish emas, lekin g'oyani angladinglar degan umiddaman.

Hamma narsalarni o'rgatmaslik

O'quvchi o'zi tushinib, yoki internetdan o'rganib keta oladigan narsalarni o'rgatmaysiz, faqat qisqacha aytasiz. Misol uchun barcha bootstrap sinflarini o'rgatib nima qilasiz? O'quvchiga qiziq bo'lsa Bootstrap saytiga kirib o'zi o'qisin. Axir internetdan o'rganishni ham shogirdlaringiz o'rganishi kerak.

Hamma narsalarni orgatsangiz, shogirdlaringiz sizga juda bog'lanib qolishadi. Mustaqil ravishda bir ishni boshlashsa birinchi yuzlagan muammolarida to'xtab qolishadi. Chunki ular internetdan ma'lumot izlashni, mustaqil ravishda muammolarni yechishni o'rganishmagan. Siz ularga hamma narsani tushuntirib berad edingiz, barcha muammolarni yechib berar edingiz.

Mustaqil ishlashga undash

Xatosini topishga, yechimning yo'lini topishga, chuqur fikrlashga, mustaqil ishlashga, internetdan ma'lumot topishga o'quvchiga vaqt bering, va hattoki majburlang.

Ammo juda qattiq majburlasangiz o'quvchingiz qochib ketishi mumkin. Chunki o'quvchi tayyor chaynalgan bilimni yutish uchun darsga kelganku, firklash, harakat qilish, vaqt sarflash uchun emas.

Eng to'g'ri yechimni talab qilmaslik

O'quvchining yechimi uncha zo'r bo'lmasa ham, lekin yozgan kodi ishni bajarsa, kodini qabul qilish kerak. Yozgan kodini qabul qilmasangiz, o'quvchida o'ziga ishonch ketadi, va har doim "to'g'ri qilyampanmi o'zi" o'ylaydigan bo'lib qo'lishi mumkin.

Qo'proq savollar sorash, o'quvchilarni uyg'otish, kallasini ishlatishga undash

2 daqiqadan ko'proq tushuntirsangiz o'quvchilar uxlab qolishni boshlashadi. Ularni uyg'otish uchun savollarni bering.

Misol uchun.

<h3 class="daraxt">Eman</h3>

<style>
    .daraxt { color: green; }
    h3 { color: brown; }
</style>
  1. Emanning rangi qayday?
  2. Nimaga? Keyin emas to'g'ri javobni va sababini tushuntirasiz.

Yana misol.

var yopganNon = 2000

if (yopganNon > 3000) {
    alert('qimmat')
} else {
    alert('odatiy')
}
  1. Yuqoridagi kod nima qiladi?
  2. Nimaga? Keyin emas to'g'ri javobni va sababini tushuntirasiz.

To'g'ri javob berishga qiynalgan o'quvchilarga maqolaning tagidagi "Qog'oz" usulidan foydalanib misolning bajarilish tartibini tushuntirasiz.

Kichik bolalarni jamoalarga bo'lib sovrinlar berish

Kichik bolalarga dars berish qiyin. Ularni qiziqtirish uchun va o'rganishga undash uchun darsdan o'yin qiling. Bolalar o'ynashni yaxshi ko'rishadi, o'qishni emas.

Bolalarni 2 yoki 3 jamoaga bo'lasiz. Vazifa berasiz. Vazifani birinchi bajargan jamoaga 1 qadoq pechenye sotib olasiz.

Katta guruhlarda shunday usuldan ham foydalansa bo'ladi, lekin hali shuni muvaffaqiyatli qilmadim.

console.log, echo, print dan foydalanish

Bular eng sodda dasturning bajarilish tartibini tushunish va qo'ng'iz topish usullaridir. O'quvchilarga ularni o'rgating.

Aksilqo'ng'izdan foydalash

O'quvchilar aksilqo'ng'izni (debugger) yoqtirishmaydi. Lekin undan ham foydalanib turish kerak. Aksilqo'ng'izga o'xshagan pythontutor.com sayti bor.

Qog'ozdan foydalanish

Juda samarali usul. Hattoki qiynalyatganlarga ham yordam beradi.

Misol.

var i = 0
var k = 1
while (i < 10) {
    k = k * 3
    console.log(k)
    i = i + 1
}

Konsolda quyidagini chiqaryapti.

3
9
27
81
243
729
2187
6561
19683
59049

Qanday qilib yuqoridani misolni ishlash tartibini zaif o'quvchiga tushuntirsa bo'ladi? Menga ishoning, aksilqo'ng'iz (debugger) va console.log yordam bermaydi. Pythontutor ham uchna foydali emas. Mana nima yordam beradi - qog'oz.

O'quvchingizga yuqoridani misolni matematika misol kabi qog'ozda yechishni ko'rsatasiz.

Birinchidan misolni sal o'zgartiramiz. Kamroq yozish uchun 10 o'rniga 4 qo'yamiz. Bundan ishlash tartibi uncha o'zgarmaydi.

var i = 0
var k = 1
while (i < 4) {    k = k * 3
    console.log(k)
    i = i + 1
}
3
9
27
81

Endi qog'ozda yozishni boshlaymiz.

JavaScript davr bajarilish tartibi
JavaScript davr bajarilish tartibi

Yuqoridagi rasmdagi Tartib qismini qadamma-qadam tushuntirib qog'ozda yozib berasiz.

Tushuntirganingizdan keyin, o'quvchiga vazifa berasiz - boshqa misolni xuddi shunday qilib qog'ozda yozib bersiz. Chiqmasa yordam berib turasiz. Bu haqiqattan ham samarali usul.

Menimcha shu usulni tushunish uchun yuqoridagi rasm yetmaydi. Xudo xohlasa mazkur usulning tafsilotlarni tasvirga olib shu maqolaga qo'shaman.