js-turtle ը կրթական նպատակներով օգտագործելու մասին

turtle (logo)֊ն հրաշալի միջոց է երեխաներին ծրագրավորուման գաղափարները երկրաչափական մետաֆորների և օրինակների միջոցով սովորեցնելու համար։ Այս գաղափարը իրականացված է տարբեր եղանակներով , տարբեր միջավայրերում և տարբեր ինտերֆեյսներով ՝ k-turtle, logo, turtle.py և այլն, կան նաև բազմաթիվ առցանց ինտերպրետատորներ, խաղեր և նախագծեր։ Սակայն ի՞նչ անել, եթե դասավանդվող լեզուն javascript-ն է։ Երկրաչափական մոտեցումները անցյալում մի քանի անգամ արել եմ p5 գրադարանի օգնությամբ , այս եղանակը վատը չի, սակայն «կրիան» սովորական լեզու չէ, ոչ էլ գրաֆիկա ծրագրավորելու միջավայր։ «Կրիան» հոգեբանորեն և մանկավարժորեն հիմնավորված մեթոդոլոգիա է,  այնտեղ լավագույնս մտածված են ֆունկցիաների անունները , կառուցվածքները և այլն ․․․ p5֊ը  ամբողջովին իրեն չէր արդարացնում և մանկավարժական առումով հավելյալ ջանք էր պահանջում։ Ինտերնետի հարստությունները հետազոտելու արդյունքում գտա js-turtle գրադարանը, որը նույն գաղափարների իրականացումն է , ուղղակի javascript ծրագրաորման լեզվի միջոցով։ Ֆորք եմ արել ու ահագին բան փոփոխել ու հարմարեցրել եմ,  githubումս կա։ Բարեհաջող օգտագործեցինք այն անցյալ ամսվա ընթացքում ։) Ի դեպ js-turtle-ը, ինչպես նաև կրիաների ընտանիքից ցանկացած այլ կրիա, հեշտությամբ լուծում

Արեգնազան կրթահամալիր, p5.js գրադարան, արդյունքներից մեկը

Ծրագրավորման վերջին “էպոխայի” ժամանակ (11-րդ դասարան), մի քիչ ավելի շատ ժամանակ կար, ու մտածեցի, որ կարելի է սկսել paint-ա նման մի բան գրել, մի խոսքով կա արդյունք ՝ Լուսինը գրեց ։) Մյուսները նույնպես գրեցին ահագին բաներ, սակայն ժամանակի սղության պատճառով դրանք վերջնական տեսքի չհասան, ամեն դեպքում, ահագին բան սովորեցին։   Այս գրառումը արված է հետևյալ երկու գրառումների կոնտեքստում։ Ծրագրավորման ուսուցում p5.js գրադարանի օգնությամբ Ծրագրավորում․ Ինչ ծրագրավորման լեզու սովորել առաջինը Լուսինի նախագիծը առցանց կարող եք տեսնել այստեղ։ Դբա Լավը ։)

Վերբալացում և Խնդիրներ

Կարծես թե, դրված խնդրի վերբալացումը անմիջական կապ ունի խնդիրը լուծելու կարողության հետ։ Այն երեխաները, ովքեր կարողանում են հստակ բառերով նկարագրել լուծման ալգորիթմը, այդ ալգորիթմը ծրագրավորելու ավելի մեծ շանսեր ունեն ։ Խնդրի լուծման ծրագիրը գրելուց առաջ ալգորիթմը պիտի հայերեն նկարագրվի։ Լեզվի  ու մտածողության ընդհանուր բարձր կուլտուրան անմիջական կապի մեջ է հաջողությամբ ծրագրավորում սովորելու հետ։ Չէմ բացառում, որ ծրագրավորում սովորելը  բարձրացնում է ընդհանուր մտածողական կուլտուրան և կարող է հետադարձ ազդեցություն ունենալ։ Այսինքն ոչ միայն լավ մտածողները ու խոսացողներն են լավ ծրագրավորող դառնում, այլև ծրագրավորում սովորողներն են ավելի լավ մտածող ու խոսացող դառնում։ Դբա Լավը ։)

Վրիպածին շարահյուսության մասին

Վրիպածին շարահյուսություն՝ շարահյուսություն, որը ստեղծում է վրիպելու հավանականություն։ Վրիպակներ ասելով նկատի ունեմ ծրագրավորման bug-երը։ Ծրագրավորման լեզուներում կան շարահյուսորեն թույլատրված կառուցվածքներ, որոնք սակայն վրիպածին են։ Մի երկու օրինակ ցույց տամ, որոնց վրա մտածելիս հանգեցի այս մտքին։ Օրինակ առաջին՝ SQL Այս օրինակում երկու խնդիր կա, առաջին խնդիրը այն է, որ “other field”-ը երկու բառից է կազմված հետևաբար պիտի ներառվի ապաթարցի նշանների մեջ։ Երկրորդ խնդիրը այն է, որ order բառը sql-ում ռեզերվ արված բառ է, հետևաբար այն նույնպես պիտի ներառվի ապաթարցների մեջ։ Մի փոքր ձևափոխելով կարող ենք ստանալ շարահյուսորեն ճիշտ, սակայն դեռևս վրիպածին կոդ Ինչու՞ եմ ասում, որ սա դեռ վրիպածին է, այն պատճառով, որ սովորողները պիտի մի քանի կանոն հիշեն միայն մի կանոնի փոխարեն։ Լեզվի հետ առաջին ծանոթույթյան ժամանակ անհրաժեշտ է բացատրել ու ասել ամենաընդհանուր կանոնը, որը կփոքրացնի վրիպակների առաջացման հավանականությունը։ Միակ կանոնը, որը պետք է ասել, դա այն է․ որ դաշտերի և աղյուսակների աննունները “ՄԻՇՏ” պիտի դրվեն ապաթարցի նշանների մեջ, սա իհարկե

Վեբ ծրագրավորման և էջատման վարժություններ

Մի հատ առանձին վեբ֊նախագիծ ունեի, որտեղ տեղադրում էի ծրագրավորման և էջատման վարժություններ։ Հիմա բոլոր վարժությունները միաձուլել եմ բլոգիս հետ։ Պատճառներից մեկը այն է, որ վարժությունների կայքը wordpress.com-ի վրա էր, ինչը  չէր տալիս նոր ֆունկցիոնալ ավելացնելու կամ փոփոխելու հնարավորություններ․ այստեղ ինձ համար ավելի հարմար կլինի։ Այնպես որ, կրթվեք, վարժվեք ու տենց ․․․ Կարող եք սկսել այստեղից՝ http://ablog.gratun.am/development_exercises/   Դբա Լավը ։Ճ

Ինչպես են սովորում ծրագրավորել | Բար Քեմփ Երևան 2016

Ահագին ժամանակ առաջ այսպիսի մի հետազոտություն էի նախաձեռնել։ Այս բարքեմփը դարձավ պատճառ, որ հետազոտության մեջ ինչ որ մի արդյունքի գամ ու ներկայացնեմ հետաքրքիր կետերը։

Ֆունկցիաները ծրագրավորում ուսուցանելիս

Մի դիտարկում եմ արել՝ երբ երեխաները (և ոչ միայն) սովորում են ծրագրավորման հիմունքները, ամենադժվար ընկալվող բանը ֆունկցիաներն են։ Ոչ թե ստանդարտ գրադարաններում գտնվող ֆունկցիաները, այլ այն ֆունկցիաները, որոնք իրենք պիտի ստեղծեն որևէ խնդիր ավելի էֆեկտիվ լուծելու համար։ Կուզեմ այս գաղափարի հաստատում կամ մերժում ստանալ ընթերցողից, ով դասավանդման փորձ ունի ․․․ Իմ զինանոցում մի քանի մեթոդ և մետաֆոր կա, որոնք ես օգտագործում եմ երբ փորձում եմ ֆունկցիաների գաղափարը, օգտագործումը և օգտակարությունը ցույց տալ։ 1․ Ֆունկցիաները որպես պրոցեդուրաներ կամ մոդուլներ Այս մոտեցումը ցուցադրելու համար նախ լուծում եմ որևէ խնդիր առանց ֆունկցնարի օգտագործման, իհարկե երկար է ստացվում ․․․ ապա ցույց  եմ տալիս նույն խնդրի լուծումը ամբողջական ծրագրային կոդը տրոհելու միջոցով և դրա տարբեր մասերից ֆունկցիաներ սարքելու եղանակով։ Հույս ունենալով, որ ավելի կարճ ծրագիրը գրավիչ կլինի։ Զուգահեռ պատմում եմ, որ ինչպես քաղաքականության մեջ, այնպես էլ ծրագրավորման ժամանակ աշխատում է «բաժանիր և տիրիր» սկզբունքը։ Այստեղ կարելի է նաև մոդուլյարության մասին խոսել։ 2․ Թույլատրում եմ գնալ երկար

Ծրագրավորում․ Ինչ ծրագրավորման լեզու սովորել առաջինը

Բարի լույս․ Շատերը ուզում են ծրագրավորում սովորել։ Դա նորմալ աշխատանքի հնարավորություն  է, շատ հետաքրքիր ու լավ վարձատրվող։ Սակայն որքան էլ շատ են ուսումնական կենտրոնները, առցանց ռեսուրսները ու գրքերը, սկսնակները դժվարանում են ընտել առաջին ծրագրավորման լեզուն։ Իրականում առաջին լեզվի և տեխնոլոգիական ուղղության ընտրությունը որոշվում է որևէ կոմպետենտ մարդու կողմից տրված խորհրդով։ Հիմա ես ուզում եմ իմ փայ խորհուրդը տալ, թե իմ կարծիքով (ու ոչ միայն իմ), որ լեզուն արժե սովորել որպես առաջին լեզու։ Իհարկե պետք է հասկանալ, որ միայն ծրագրավորման լեզվի իմացությունը մարդուն դեռ ծրագրավորղ չի դարձնում, այլ բաներ էլ է պետք իմանալ, տենց computer science-ոտ բաներ։ Տվյալների տիպեր և կառուցվածքներ, ալգորիթմներ, նախագծման կաղապարներ, մաթեմատիկա և այլն, սակայն այս բոլորը ուսումնասիրելու համար գոնե մեկ ծրագրավորման լեզու նախապես իմանալը շատ օգտակար է, որոշ դեպքերում նաև պարտադիր է։ Մարդիկ այսպիսի ուղեցույց են ստեղծել, որը օգնում է կողմնորոշվել լեզվի ընտրության մեջ։ Սեղմեք պատկերին ավելի մեծ տարբերակը տեսնելու համար։ Նայեք, հետո չմոռանաք հետ գալ ։) Իհարկե