زه څنګه ماشومانو ته Python درس ورکوم

زه څنګه ماشومانو ته Python درس ورکوم

زما اصلي کار د معلوماتو او پروګرام کولو پورې اړه لري R، مګر پدې مقاله کې زه غواړم زما د شوق په اړه وغږیږم ، کوم چې حتی یو څه عاید راوړي. زه تل د ملګرو، ټولګیوالو او ملګرو زده کونکو ته د شیانو په ویلو او تشریح کولو کې علاقه لرم. دا هم تل زما لپاره اسانه وه چې د ماشومانو سره ګډه ژبه ومومئ، زه نه پوهیږم ولې. په عموم کې، زه باور لرم چې د ماشومانو روزنه او روزنه د ټولو مهمو فعالیتونو څخه دی، او زما میرمن یوه ښوونکې ده. نو، شاوخوا یو کال دمخه، ما په محلي فیسبوک ګروپ کې اعلان وکړ، یوه ډله جوړه کړه او په اونۍ کې یو ځل د سکریچ او پایتون تدریس پیل کړ. اوس زه پنځه ګروپونه لرم، په کور کې زما خپل ټولګي او انفرادي درسونه. زه څنګه په دې ډول ژوند ته راغلم او په سمه توګه زه څنګه ماشومانو ته درس ورکوم، زه به تاسو ته پدې مقاله کې ووایم.

زه په کالګري، البرټا، کاناډا کې ژوند کوم، نو ځینې شیان به محلي مشخصات وي.

کوټه

د تمرین لپاره د ځای شتون له پیل څخه یوه لویه اندیښنه وه. ما د ساعت په اوږدو کې د کرایې لپاره د دفترونو او ټولګیو د لټون هڅه وکړه، مګر ډیره بریالۍ نه وه. زموږ پوهنتون او SAIT، د MIT ځایی معادل، د کمپیوټر سره او پرته ټولګي وړاندې کوي. هلته نرخونه خورا انساني نه و ، او په پایله کې دا معلومه شوه چې پوهنتون کوچنيانو ته اجازه نه ورکوي ، او SAIT عموما یوازې خپلو زده کونکو ته کرایه کوي. نو، دا اختیار له منځه یوړل شو. ډیری دفتري مرکزونه شتون لري چې د ناستې خونه او دفترونه د ساعت په اوږدو کې کرایه کوي، دلته ټول شرکتونه شتون لري چې د بشپړ ټولګي څخه د څلورو کسانو لپاره یوې خونې ته د انتخابونو یوه ډله وړاندې کوي. ما هیله درلوده، ځکه چې البرټا د تیلو ولایت دی، موږ له 2014 راهیسې په سست بحران کې یو، او ډیری سوداګریز ځایونه خالي دي. ما باید هیله نه درلوده؛ نرخونه دومره بې رحمه وګرځیدل چې ما په لومړي سر کې هم باور نه درلود. د مالکینو لپاره دا اسانه ده چې په خالي دفترونو کې ناست وي او د ډنډ کولو په پرتله لګښتونه ورکړي.

په هغه شیبه کې، ما په یاد ولرم چې زه په منظمه توګه خپل مالیه ورکوم، او ایا زموږ ګران ایالت، یا بلکه، د کالګري ښار، هلته څه شی لري. دا معلومه شوه چې واقعیا شتون لري. ښار د هاکي او نورو فګر سکیټینګ سپورتونو لپاره میدانونه لري ، او پدې میدانونو کې داسې خونې شتون لري چیرې چې د یخ جنګیالي د راتلونکي جګړو لپاره ستراتیژیو باندې بحث کوي. په لنډه توګه، هر میدان یو څو خونې لري چې میزونه، څوکۍ، سپینه تخته او حتی د کیتلی سره سنک لري. قیمت خورا الهی دی - په هر ساعت کې 25 کاناډایی توګریک. ما په پیل کې پریکړه وکړه چې د یو نیم ساعت لپاره ټولګي ترسره کړم، نو ما د هر ټولګي لپاره د هر ټولګي 35 ډالر د پنځو کسانو په ډله کې ټاکلي، ترڅو د کرایې تاوان ورکړي، او په خپل جیب کې یو څه واچوم. په عموم کې، ما په میدانونو کې کار کول خوښ کړل، دا یوه ستونزه حل کړه - ډیری روسی ژبی خلک په سویل کې ژوند کوي، او زه د ښار په شمال کې اوسیږم، نو ما په مینځ کې شاوخوا یو میدان غوره کړ. خو ستونزې هم وې. د کاناډا بیوروکراسي ښه او دوستانه ده، مګر، په نرمۍ سره، یو څه ناپاک کیدی شي. هیڅ ستونزه نشته کله چې تاسو د تال سره عادت شئ او دمخه پلان کوئ ، مګر ځینې وختونه ناخوښه شیبې رامینځته کیږي. د مثال په توګه، د ښار په ویب پاڼه کې تاسو کولی شئ په اسانۍ سره وخت او ځای وټاکئ او یوه خونه خوندي کړئ، مګر تاسو نشئ کولی پیسې ورکړئ، په هیڅ ډول. دوی پخپله تلیفون کوي ​​او د کارت تادیات مني. تاسو کولی شئ دفتر ته لاړ شئ او پیسې ورکړئ. یوه مسخره خو ډیره خوندوره شیبه وه کله چې زه د دویم درس د ادا کولو لپاره د دوی زنګ ته په تمه وم، هغه نه و راغی او په وروستۍ ورځ زه دفتر ته پنځلس دقیقې ناوخته وم. زه باید امنیت ته په بې رحمه مخ سره ورشم او دروغ وایم چې کوټه بک شوې وه. موږ کاناډایان د دې لپاره زما خبره اخلو؛ دوی ما په آرامۍ اجازه راکړه او هیڅ یې ونه کتل، مګر زه به دا کار ونه کړم که خلک لا دمخه ټولګي ته نه وي راغلي.

په دې توګه ما د ژمي او پسرلي په اوږدو کې کار وکړ، او بیا بدلونونه راغلل چې وروستی ډډ وو. لومړی ، دفتر د لیدونکو لپاره وتړل شو او دوی وړاندیز وکړ چې د کونج شاوخوا د تلیفون له لارې تادیات ومني. زه لږ تر لږه نیم ساعت مخکې په لاره کې ناست وم. دوهم، که پخوا زما ګرانې ترور زما څخه د یو نیم ساعت لپاره پیسې اخیستې، اوس کومې نجلۍ تلیفون ته ځواب ورکړ او ویل یې چې پیسې یوازې د یو ساعت لپاره دي. په هغه وخت کې، زما ډله یا هم درې یا دوه کسان وه، او اضافي $ 12.5 په بشپړ ډول بې ګټې نه و. البته، زه ایډیالوژیک یم، مګر که زما ښځه ما په کوڅه کې وغورځوي، نو هیڅوک به نه وي چې درس ورکړي. زه هغه وخت لا وزګار وم.

او ما پریکړه وکړه چې کتابتون ته لاړ شم. کتابتونونه په زړه پورې خونې په بشپړ ډول وړیا کرایه کوي، مګر یو کیچ شتون لري - تاسو سوداګریز فعالیتونه نه شئ ترسره کولی. حتی خیریه موسسو ته اجازه نه ورکول کیږي چې هلته پیسې راټول کړي. ما ته وویل شول چې دا په ځانګړي ډول کنټرول نه دی، اصلي شی دا نه ده چې په ننوتلو کې پیسې واخلئ، مګر زه واقعیا د مقرراتو ماتول نه خوښوم. بله ستونزه دا ده چې اکثره خونې قبضې وي او په یوه وخت کې په یوه ځای کې د درسي ټولګیو ترسره کول ستونزمن کار دی. ما د دوبي او ژمي په لومړیو کې په کتابتونونو کې تدریس کاوه، ما باید هغه ځایونه غوره کړل چې ځای ولري، او په پای کې ما پنځه یا شپږ کتابتونونه بدل کړل. بیا ما دوه میاشتې مخکې د ځای په بک کولو پیل وکړ، او بیا هم، ما دا یوازې په یو کوچني کتابتون کې ترسره کړ؛ پاتې نور په منظم ډول د اړتیا وړ وخت لپاره ځای نه درلود. او بیا ما پریکړه وکړه چې په کور کې د کمپیوټر ټولګي جوړ کړم. ما تخته ځوړند کړه، د اعلان څخه یې دویم میز او یو څو زاړه مانیټرونه واخیستل. په کار کې، شرکت ما یو نوی پیاوړی لپ ټاپ واخیست ځکه چې زما په کمپیوټر کې تحلیل نږدې 24 ساعته وخت نیسي. نو، ما یو نوی زوړ کمپیوټر درلود، یو زوړ زوړ کمپیوټر، یو لیپ ټاپ چې زما کوچنی یې پرده ټوټه کړه، او یو پخوانی نټ بوک چې ما پخپله سکرین مات کړ. ما دا ټول د مانیټرونو سره وصل کړل او د لینوکس مینټ په هر ځای کې نصب کړل، پرته له دې چې د نیټ بوک، په کوم کې چې ما یو ډیر سپک توزیع کټ نصب کړی، داسې ښکاري، پاپي. زه لا تر اوسه یو زوړ نوی لپ ټاپ لرم، په 200 ډالرو اخیستل شوی، ما دا تلویزیون سره وصل کړ. هغه څه چې مهم دي دا دي چې زموږ مالک په دې وروستیو کې زموږ کړکۍ بدلې کړې، او په خونه کې د ډارونکي، ویجاړ شوي سکور پر ځای، موږ اوس نوي سپین چوکاټونه لرو. زما میرمن د وړکتون لپاره د اوسیدو خونه ، پخلنځی او دوهم د خوب خونه ساتي ، نو ټول پوړ په بشپړ ډول تدریسي و. نو، اوس هر څه د ودانۍ سره سم دي، راځئ چې درس ته لاړ شو.

سکریچ

زه د سکریچ ژبې په کارولو سره د برنامه کولو اساساتو تدریس پیل کوم. دا یوه ژبه ده چې چمتو شوي بلاکونه کاروي، په یو وخت کې په MIT کې اختراع شوي. ډیری ماشومانو لا دمخه په ښوونځي کې سکریچ لیدلی، نو دوی دا په چټکۍ سره اخلي. دلته چمتو شوي پروګرامونه او درسي پلانونه شتون لري، مګر زه یې نه خوښوم. ځینې ​​​​یې عجیب دي - خپله کیسه جوړه کړئ، د بیلګې په توګه. ټوله برنامه د بې شمیره بلاکونو څخه جوړه ده say '<...>' for 2 seconds. دا لیدل کیدی شي چې دا د ډیرو تخلیقی اشخاصو لخوا اختراع شوی، مګر د دې طریقې سره تاسو کولی شئ د کلاسیک هندي سپتیټي کوډ لیکلو څرنګوالی زده کړئ. د پیل څخه، زه د DRY په څیر د اصولو په اړه خبرې کوم، د نورو دندو راټولول خورا ښه دي، مګر ماشومان ژر تر ژره ماهیت درک کوي او د ماشین ټوپک په څیر یې پیل کوي. د پایلې په توګه، دوی په یوه درس کې هغه څه کوي چې باید په پنځو کې یې کړي وي. او د دندو لټون او غوره کول ډیر شخصي وخت نیسي. په عموم کې ، سکریچ د یوې ژبې نه ، بلکه د IDE ډیر یادونه کوي ، چیرې چې تاسو اړتیا لرئ په یاد ولرئ چیرې چې کلیک وکړئ او چیرې د څه لپاره وګورئ. هرڅومره ژر چې زده کونکي ډیر یا لږ آرام وي ، زه هڅه کوم چې دوی پایتون ته انتقال کړم. حتی زما اوه کلنه نجلۍ په پایتون کې ساده پروګرامونه لیکي. هغه څه چې زه د سکریچ ګټې په توګه ګورم دا دی چې دا لومړني مفکورې لري چې په لوبو کې زده شوي. د ځینو دلیلونو لپاره، دا د هرچا لپاره خورا ستونزمن دی، پرته له استثنا، د متغیر مفکورې پوهیدل. په لومړي سر کې ما په چټکۍ سره موضوع واخیسته او تر هغه وخته پورې لاړم چې زه د دې حقیقت سره مخ شوم چې دوی حتی نه پوهیدل چې پدې اړه څه وکړي. اوس زه په متغیراتو ډیر وخت تیروم او په دوامداره توګه دوی ته راستون یم. تاسو باید یو څه احمقانه حمام وکړئ. زه په سکرین کې مختلف متغیرونه بدلوم او دوی د دوی ارزښتونه بولم. سکریچ د کنټرول جوړښتونه او د ارزښت چکونه هم لري، لکه while, for او یا if په python. دوی خورا اسانه دي ، مګر د ځړول شوي لوپونو سره ستونزې شتون لري. زه هڅه کوم چې د ځړول شوي لوپ سره څو دندې ورکړم، او دا چې عمل یې روښانه وي. له هغې وروسته زه د دندو ته لاړم. حتی د لویانو لپاره، د فعالیت مفهوم څرګند ندی، او حتی د ماشومانو لپاره. زه د اوږدې مودې لپاره د دې په اړه وغږیږم چې په عموم کې فعالیت څه شی دی، زه د یوې فابریکې په اړه خبرې کوم چې توکي د انپټ په توګه ترلاسه کوي او د توکو مسله کوي، د پخلي په اړه چې د خامو موادو څخه خواړه جوړوي. بیا موږ د محصولاتو سره "سینڈوچ جوړ کړئ" برنامه جوړوو، او بیا موږ له هغې څخه یو فنکشن جوړوو، کوم چې محصولات د پیرامیټونو په توګه لیږدول کیږي. زه د سکریچ سره د زده کړې دندې پای ته رسوم.

پيتون

د پیتون سره هرڅه ساده دي. د ماشومانو لپاره پیتون یو ښه کتاب دی، کوم چې زه یې درسوم. دلته هرڅه معیاري دي - لینونه، د عملیاتو ترتیب، print(), input() etc په اسانه ژبه لیکل، د طنز سره، ماشومان یې خوښوي. دا د ډیری پروګرامینګ کتابونو لپاره یو عام نیمګړتیا لري. لکه څنګه چې په مشهور ټوکه کې - څنګه د الو رسم کول. اوول - حلقه - الو. له ساده مفاهیمو څخه پیچلو مفاهیمو ته لیږد ډیر ناڅاپي دی. دا ما څو ناستې نیسي ترڅو اعتراض د نقطې میتود سره ضمیمه کړم. له بلې خوا، زه په بیړه کې نه یم، زه ورته شی په مختلفو لارو تکراروم تر هغه چې لږترلږه یو څه انځور سره یوځای شي. زه د متغیرونو سره پیل کوم او دا ځل یې په پایتون کې بیا ماتوم. تغیرات یو ډول لعنت دی.

یو هوښیار زده کونکی، چې څو میاشتې مخکې یې په سکریچ کې متغیرات په کلک هوډ کړي، په نوې دروازه کې د رام په څیر ښکاري او نشي کولی X د Y سره اضافه کړي، کوم چې په پورتنۍ کرښه کې په واضح ډول لیکل شوی. موږ تکرار کوو! متغیر څه شی لري؟ نوم او معنی! مساوي نښه څه معنی لري؟ دنده! موږ څنګه مساوات وګورو؟ دوه برابره نښه! او موږ دا بیا بیا تکرار کوو تر څو بشپړ روښانتیا. بیا موږ دندو ته ځو، چیرې چې د دلیلونو په اړه توضیحات خورا اوږد وخت نیسي. نومول شوي دلیلونه، د موقعیت له مخې، د ډیفالټ له مخې، او داسې نور. موږ تراوسه په هیڅ ګروپ کې ټولګیو ته نه یو رسیدلي. د Python سربیره، موږ د کتاب څخه مشهور الګوریتمونه مطالعه کوو، په دې اړه نور وروسته.

په حقیقت کې، روزنه

زما درس داسې جوړ شوی دی: زه د نیم ساعت لپاره تیوري ورکوم، پوهه ازموینه کوم، او هغه څه راټولوم چې زده شوي دي. دا د لابراتوارونو وخت دی. زه ډیری وختونه لیرې کیږم او تر یو ساعت پورې خبرې کوم، بیا د تمرین لپاره نیم ساعت پاتې دی. کله چې ما د پیتون زده کړه کوله، ما کورس ولید الګوریتمونه او د معلوماتو جوړښتونه خیریانوف له MIPT څخه. ما واقعیا د هغه پریزنټیشن او د هغه لیکچر جوړښت خوښ کړ. د هغه مفکوره دا ده: چوکاټونه، نحو، کتابتونونه ناپاک کیږي. معمارۍ، ټیم کار، د نسخې کنټرول سیسټمونه - دا لاهم دمخه دی. د پایلې په توګه، الګوریتمونه او د معلوماتو جوړښتونه پاتې دي چې د اوږدې مودې لپاره پیژندل شوي او تل به په ورته بڼه وي. زه پخپله یوازې د انسټیټیوټ پاسکال څخه انټیجرونه یادوم. څرنګه چې زما زده کونکي اکثره ځوانان دي، له اوو څخه تر پنځلسو کلونو پورې، زه باور لرم چې دا د دوی د راتلونکي لپاره خورا مهم دی چې بنسټ ایښودل د دې په پرتله چې ژر تر ژره په Python کې د پلیټ فارم لوبې ولیکئ. که څه هم، دوی یو پلیټفارمر ډیر غواړي، او زه دوی پوهیږم. زه دوی ته ساده الګوریتم ورکوم - یو بلبل، په ترتیب شوي لیست کې بائنری لټون، د سټیک په کارولو سره د پولنډ یادښت بیرته راګرځوي، مګر موږ هر یو په خورا تفصیل سره تحلیل کوو. دا معلومه شوه چې عصري ماشومان په اصولو کې نه پوهیږي چې کمپیوټر څنګه کار کوي، زه به تاسو ته ووایم. زه هڅه کوم چې په هر لیکچر کې څو مفکورې سره یوځای کړم. د مثال په توګه، کمپیوټر - حافظه/سلنه - له حجرو څخه جوړه شوې حافظه (زه به تاسو ته اجازه درکړم چې د حافظې چپ وساتئ، اټکل وکړئ چې څومره حجرې شتون لري) - هر حجره د رڼا بلب په څیر ده - دوه حالتونه لري - ریښتیا / غلط - او/یا - بائنری / ډیسیمل - 8 بټ = 1 بایټ - بایټ = 256 اختیارونه - په یو بټ کې د منطقي ډیټا ډول - په یو بایټ کې عددونه - float په دوه بایټونو - string په یو بایټ کې - په 64 بټونو کې ترټولو لوی شمیر - د تیرو ډولونو لیست او یو ټپل. زه یو ریزرویشن کوم چې په ریښتیني کمپیوټر کې هرڅه یو څه توپیر لري او د دې ډیټا ډولونو لپاره د حافظې اندازه توپیر لري ، مګر اصلي شی دا دی چې موږ پخپله په پروسه کې له ساده څخه ډیر پیچلي ډیټا ډولونه رامینځته کوو. د معلوماتو ډولونه شاید د یادولو لپاره ترټولو ستونزمن شی وي. له همدې امله زه هر درس په چټکۍ سره پیلوم - یو زده کونکی د معلوماتو ډول نوموي، بل دوه مثالونه ورکوي، او داسې نور په یوه دایره کې. د پایلې په توګه، ما ترلاسه کړه چې حتی کوچني ماشومان په خوښۍ سره چیغې وهي - تیریږي! بولین! اوه، پنځه! پیزا، موټر! د لیکچر په جریان کې، زه په دوامداره توګه لومړی یو یا بل راښکته کوم، که نه نو دوی ژر تر ژره خپلې پوزې غوره کوي او چت ته ګوري. او د هرچا د پوهې کچه باید هر وخت وڅیړل شي.

زما زده کونکي هیڅکله د دوی د حماقت او غیر متوقع هوښیارتیا سره ما حیران نه کړي. خوشبختانه، ډیر ځله د استخباراتو سره.

ما غوښتل چې نور څه ولیکم، مګر دا یوازې یوه پاڼه وه. زه به خوښ شم چې ټولو پوښتنو ته ځواب ووایم. زه په هره ممکنه لاره کې هر ډول نیوکې ته ښه راغلاست وایم، زه یوازې تاسو څخه غوښتنه کوم چې په نظرونو کې یو بل ته ډیر زغم ولرئ. دا یو ښه مقاله ده.

سرچینه: www.habr.com

Add a comment