Kumaha carana ngajarkeun Python ka budak?

Kumaha carana ngajarkeun Python ka budak?

Karya utama kuring aya hubunganana sareng data sareng program di R, Tapi dina artikel ieu abdi hoyong ngobrol ngeunaan hobi kuring, nu malah mawa sababaraha panghasilan. Kuring geus salawasna geus kabetot dina ngabejaan jeung ngajelaskeun hal ka babaturan, sakelas jeung sasama murid. Éta ogé sok gampang pikeun kuring mendakan basa anu umum sareng murangkalih, kuring henteu terang kunaon. Sacara umum, kuring yakin yén ngagedekeun sareng ngajar budak mangrupikeun salah sahiji kagiatan anu paling penting, sareng pamajikan kuring nyaéta guru. Janten, sakitar sataun katukang, kuring diémbarkeun dina grup Facebook lokal, ngawangun grup sareng mimiti ngajar Scratch sareng Python saminggu sakali. Ayeuna kuring boga lima grup, kelas kuring sorangan di imah jeung palajaran individu. Kumaha kuring sumping ka hirup ku cara kieu sareng persis kumaha kuring ngajar barudak, kuring bakal nyarioskeun ka anjeun dina tulisan ieu.

Kuring cicing di Calgary, Alberta, Kanada, ku kituna sababaraha hal bakal spésifik lokal.

Kamar

Kasadiaan rohangan pikeun latihan mangrupikeun perhatian utama ti mimiti. Kuring nyobian milarian kantor sareng ruang kelas pikeun nyéwa per jam, tapi henteu suksés. Universitas kami sareng SAIT, sarimbag lokal MIT, nawiskeun kelas nganggo sareng tanpa komputer. Harga di dinya tétéla henteu pisan manusiawi, sareng tungtungna tétéla yén universitas henteu ngijinkeun budak leutik, sareng SAIT umumna ngan ukur nyéwa ka muridna sorangan. Janten, pilihan ieu dileungitkeun. Aya seueur pusat kantor anu nyéwa kamar rapat sareng kantor per jam, aya sadayana perusahaan anu nawiskeun seueur pilihan ti kelas pinuh ka kamar pikeun opat jalma. Abdi ngarep-arep, saprak Alberta mangrupikeun propinsi minyak, urang parantos aya dina krisis sluggish saprak 2014, sareng seueur rohangan bisnis kosong. Abdi henteu kedah ngarep-ngarep; hargana tétéla ngerakeun pisan anu kuring henteu percanten heula. Langkung gampang pikeun anu gaduh calik di kantor kosong sareng mayar biaya tibatan ngabuang.

Dina waktos éta, kuring émut yén kuring rutin mayar pajeg, sareng naha nagara urang tercinta, atanapi langkungna, kota Calgary, aya nanaon. Tétéla aya bener. Kota boga arene pikeun hoki jeung olahraga inohong skating séjén, sarta dina arene ieu aya kamar dimana Galau és terjal ngabahas strategi pikeun battles hareup. Pondokna, unggal arena ngagaduhan sababaraha kamar sareng méja, korsi, papan bodas bahkan tilelep sareng ketel. Hargana rada ketuhanan - 25 tugriks Kanada per jam. Kuring mimitina mutuskeun pikeun ngalakukeun kelas pikeun sajam satengah, jadi kuring nyetel harga pikeun palajaran dina $35 per kelas dina grup lima urang, pikeun ngimbangan nyewa, sarta nempatkeun hiji hal dina saku kuring. Sacara umum, kuring resep digawé kaluar dina arene, éta direngsekeun salah sahiji masalah - paling urang Rusia-diomongkeun cicing di kidul, sarta kuring cicing di kalér kota, jadi kuring milih hiji arene kira di tengah. Tapi aya ogé kasulitan. The birokrasi Kanada téh alus tur ramah, tapi mun nempatkeun eta mildly, tiasa rada kagok. Henteu aya masalah nalika anjeun biasa kana wirahma sareng ngarencanakeun sateuacanna, tapi sakapeung aya waktos anu teu pikaresepeun. Salaku conto, dina situs wéb kota anjeun tiasa milih waktos sareng tempat sareng cagar kamar, tapi anjeun henteu tiasa mayar, ku cara naon waé. Aranjeunna nelepon sorangan sareng nampi pangmayaran kartu. Anjeun tiasa angkat ka kantor sareng mayar kontan. Aya momen lucu tapi teu pisan pikaresepeun nalika kuring ngantosan panggero maranéhna pikeun mayar palajaran kadua, éta teu datang, sarta dina dinten panungtungan mah lima belas menit telat ka kantor. Kuring kungsi kaanggo kaamanan jeung beungeut impudent jeung bohong yén kamar ieu dipesen. Urang Kanada nyandak kecap kuring pikeun éta; aranjeunna ngantepkeun kuring kalem sareng henteu pariksa nanaon, tapi kuring moal ngalakukeun éta upami jalma-jalma henteu acan nuju ka kelas.

Ieu kumaha kuring digawé ngaliwatan usum tiris jeung cinyusu, lajeng parobahan lumangsung nu éta jarami panungtungan. Anu mimiti, kantor ditutup pikeun sémah sareng aranjeunna nawiskeun nampi pamayaran ku telepon di juru. Kuring diuk dina lorong salila sahenteuna satengah jam saméméh kuring meunang liwat. Bréh, lamun tadi bibi abdi dear nyandak pamayaran ti kuring pikeun hiji satengah jam, ayeuna sababaraha mojang ngajawab telepon sarta ngomong yén pamayaran éta ngan pikeun sajam. Waktu éta, grup kuring boh tilu atawa dua urang, jeung tambahan $ 12.5 teu pisan superfluous. Tangtosna, kuring ideologis, tapi upami pamajikan kuring ngalungkeun kuring ka jalan, maka moal aya anu ngajar. Abdi masih pangangguran harita.

Sareng kuring mutuskeun pikeun angkat ka perpustakaan. Perpustakaan nyéwa kamar anu saé sacara gratis, tapi aya anu nyekel - anjeun moal tiasa ngalaksanakeun kagiatan komersial. Malah amal teu diwenangkeun pikeun ngumpulkeun duit di dinya. Kuring ieu ngawartoskeun yen ieu teu utamana dikawasa, hal utama teu nyandak duit di lawang, tapi Nyaan teu resep megatkeun aturan. Masalah sanésna nyaéta kamar-kamar sering didudukan sareng sesah ngalaksanakeun kelas anu dijadwalkeun dina hiji waktos di hiji tempat. Kuring ngajar di perpustakaan salila usum panas jeung mimiti usum tiis, Kuring kungsi milih jalma kalawan spasi, sarta dina tungtungna kuring robah lima atawa genep perpustakaan. Teras kuring mimiti ngarékam tempat dua bulan sateuacanna, sareng teras, kuring ngan ukur tiasa ngalakukeun ieu dina hiji perpustakaan leutik; sésana sacara teratur henteu ngagaduhan tempat pikeun waktos anu diperyogikeun. Teras kuring mutuskeun ngadamel kelas komputer di bumi. Kuring ngagantung papan, ngagaleuh méja kadua sareng sababaraha monitor lami tina iklan. Di tempat kerja, perusahaan ngagaleuh kuring laptop anu kuat anyar sabab analisa dina komputer kuring nyandak ampir 24 jam. Janten, kuring ngagaduhan komputer lami énggal, komputer lami lami, laptop dimana budak leutik kuring ngaremukkeun layar, sareng netbook kuno dimana kuring ngancurkeun layar sorangan. Kuring disambungkeun kabeh kana monitor jeung dipasang Linux Ubuntu mint madhab, iwal netbook, nu kuring dipasang kit distribution pisan lampu, sigana, Pappy. Kuring masih boga laptop anyar heubeul, meuli keur $200, Kuring nyambung ka TV. Anu penting ogé nyaéta juragan urang nembé ngarobih windows kami, sareng tibatan anu pikasieuneun, squalor anu runtuh di kamar, kami ayeuna gaduh pigura bodas énggal. Pamajikan kuring ngajaga ruang tamu, dapur sareng pangkeng kadua pikeun TK, janten sadayana lantai tétéla murni pedagogical. Ku kituna, ayeuna sagalana geus rupa kalawan enggon, hayu urang ngaléngkah ka pangajaran.

ngeruk

Kuring mimiti ngajarkeun dasar-dasar pemrograman nganggo basa Scratch. Ieu basa anu ngagunakeun blok siap-dijieun, nimukeun dina hiji waktu di MIT. Seuseueurna murangkalih parantos ningali Scratch di sakola, janten aranjeunna gancang nyandak éta. Aya program siap-dijieun jeung rencana pangajaran, tapi kuring teu resep aranjeunna pisan. Sababaraha nu aneh - nyieun carita anjeun sorangan, contona. Sakabéh program diwangun ku blok countless say '<...>' for 2 seconds. Éta tiasa ditingali yén éta diciptakeun ku jalma anu kreatif pisan, tapi kalayan pendekatan ieu anjeun tiasa ngajarkeun cara nyerat kode spaghetti India klasik. Ti mimiti, kuring ngobrol ngeunaan prinsip-prinsip sapertos DRY. Koléksi tugas sanés anu saé, tapi murangkalih gancang ngartos hakekatna sareng mimiti ngalakukeunana sapertos bedil mesin. Hasilna, maranéhna ngalakukeun dina hiji palajaran naon maranéhna kudu dipigawé dina lima. Sareng milarian sareng milih tugas peryogi seueur waktos pribadi. Sacara umum, scratch leuwih reminiscent teu basa, tapi IDE, dimana anjeun ngan perlu apal dimana klik jeung dimana néangan naon. Pas siswa leuwih atawa kirang nyaman, abdi nyobian mindahkeun aranjeunna ka Python. Malah budak awéwé umur tujuh taun kuring nyerat program basajan dina Python. Anu kuring tingali salaku kauntungan tina Scratch nyaéta ngandung konsép dasar anu diajar ku cara anu pikaresepeun. Kanggo sababaraha alesan, sesah pisan pikeun sadayana, tanpa pengecualian, ngartos ideu variabel. Mimitina kuring gancang ngaléngkah topik sareng ngaléngkah dugi ka kuring disanghareupan kanyataan yén aranjeunna henteu terang naon anu kudu dilakukeun ngeunaan éta. Ayeuna kuring nyéépkeun seueur waktos dina variabel sareng teras-terasan uih deui ka aranjeunna. Anjeun kudu ngalakukeun sababaraha hammering bodo. Kuring ngarobah variabel béda dina layar tur nyieun eta nyarita nilai maranéhna. Scratch ogé boga struktur kontrol jeung cék nilai, kayaning while, for atawa if dina python. Aranjeunna rada gampang, tapi aya masalah sareng loop nested. Kuring nyobian masihan sababaraha pancén kalayan loop nested, sarta ku kituna aksi na jelas. Sanggeus éta kuring ngaléngkah ka fungsi. Malah keur déwasa, konsép fungsi teu atra, komo deui pikeun barudak. Kuring nuluykeun pikeun lila ngeunaan naon fungsi hiji sacara umum, Kuring ngobrol ngeunaan pabrik anu narima barang salaku input sarta ngaluarkeun barang, ngeunaan hiji masak anu nyieun kadaharan tina bahan baku. Teras urang ngadamel program "nyieun sandwich" sareng produk, teras urang ngadamel fungsina, dimana produkna disalurkeun salaku parameter. Kuring rengse diajar fungsi kalawan scratch.

Python

Kalawan python sagalana leuwih basajan. Aya hiji buku alus Python pikeun Kids, nu naon atuh ngajarkeun ti. Sadayana aya standar - garis, urutan operasi, print(), input() jsb. Ditulis dina basa anu gampang, kalayan humor, barudak resep. Cai mibanda cacad umum pikeun loba buku programming. Saperti dina lulucon kawentar - kumaha ngagambar bueuk. Oval - bunderan - bueuk. Transisi tina konsép basajan ka konsép anu rada rumit teuing ngadadak. Butuh sababaraha sesi pikeun ngagantelkeun obyék kana metode titik. Di sisi anu sanés, kuring henteu buru-buru, kuring ngulang hal anu sami dina cara anu béda dugi ka sahenteuna sababaraha gambar ngahiji. Kuring mimitian ku variabel jeung palu aranjeunna kaluar deui, waktos ieu Python. Variabel mangrupakeun jenis kutukan.

Hiji murid pinter, anu sababaraha bulan kapengker deftly diklik variabel on Skratch, Sigana ram di gerbang anyar jeung teu bisa nambahkeun X jeung Y, nu jelas ditulis dina papan garis di luhur. Urang ulang! Naon anu variabel gaduh? Ngaran jeung harti! Naon hartina tanda sarua? Tugas! Kumaha urang pariksa kasaruaan? Ganda sarua tanda! Sareng urang malikan deui sareng deui dugi ka pencerahan lengkep. Teras we ngaléngkah ka fungsi, dimana katerangan ngeunaan argumen nyokot pangpanjangna. Argumen ngaranna, ku posisi, sacara standar, jeung saterusna. Kami henteu acan ngahontal kelas di grup mana waé. Salian Python, urang diajar algoritma populér tina buku, langkung seueur ngeunaan éta engké.

Sabenerna, latihan

Palajaran abdi terstruktur kawas kieu: Kuring masihan téori pikeun satengah jam, nguji pangaweruh, sarta konsolidasi naon geus diajar. Waktosna pikeun laboratorium. Abdi sering kabawa sareng ngobrol dugi ka sajam, teras aya waktos satengah jam kanggo latihan. Nalika kuring diajar python, kuring ningali kursus Algoritma jeung Struktur Data Khiryanov ti MIPT. Abdi resep pisan presentasi na sareng struktur ceramahna. Gagasanna nyaéta kieu: kerangka, sintaksis, perpustakaan janten leungit. Arsitéktur, gawé babarengan, sistem kontrol versi - éta kénéh mimiti. Hasilna, algoritma jeung struktur data tetep nu geus dipikawanoh pikeun lila sarta bakal salawasna dina formulir sarupa. Kuring sorangan ngan apal integer ti pascal institut. Kusabab siswa kuring lolobana ngora, ti tujuh nepi ka lima belas taun, Kuring yakin yén éta leuwih penting pikeun masa depan maranéhanana iklas yayasan ti gancang nulis kaulinan platform dina Python. Sanajan, aranjeunna hoyong platformer a langkung, sarta kuring ngartos aranjeunna. Kuring masihan aranjeunna algoritma saderhana - gelembung, milarian binér dina daptar anu diurutkeun, ngabalikeun notasi Polandia nganggo tumpukan, tapi urang nganalisis masing-masing sacara rinci. Tétéla yén barudak modern teu nyaho prinsipna kumaha komputer jalan, kuring ogé bakal ngabejaan ka maneh. Kuring nyobian ngahijikeun sababaraha konsép dina unggal ceramah. Contona, komputer - memori / persen - memori diwangun ku sél (Kuring gé ngantep anjeun nyekel chip memori, nebak sabaraha sél aya) - unggal sél téh kawas bohlam lampu - aya dua kaayaan - bener / salah. - sareng / atanapi - binér / desimal - 8bit = 1 bait - bait = 256 pilihan - jinis data logis dina hiji bit - integer dina hiji bait - float dina dua bait - string dina hiji bait - jumlah pangbadagna dina 64 bit - daptar sarta tuple tina tipe saméméhna. Kuring nyieun reservasi yén dina komputer nyata sagalana rada béda jeung jumlah memori pikeun jenis data ieu béda, tapi hal utama nyaeta urang sorangan dina prosés nyieun tipe data leuwih kompleks ti leuwih basajan. Jenis data panginten mangrupikeun hal anu paling hese diinget. Éta pisan sababna naha kuring ngamimitian unggal palajaran ku pemanasan gancang - hiji murid ngaranan tipe data, salajengna masihan dua conto, jeung saterusna dina bunderan. Hasilna, kuring ngahontal éta malah barudak bungsu cheerfully ngagorowok - ngambang! boolean! tujuh, lima! pizza, mobil! Salila ceramah, kuring terus-terusan narik heula hiji atawa nu séjén, disebutkeun maranéhanana gancang mimitian nyokot irung maranéhanana jeung nempo siling. Jeung tingkat pangaweruh dulur perlu dipariksa unggal ayeuna lajeng.

Murid-murid kuring henteu lirén kagum kuring, boh ku kabodoan sareng kapinteran anu teu disangka-sangka. Untungna, leuwih sering kalawan kecerdasan.

Kuring hayang nulis deui, tapi tétéla ngan hiji lambar. Kuring bakal senang pikeun ngajawab sagala patarosan. Kuring ngabagéakeun sagala kritik dina sagala cara mungkin, Kuring ngan menta anjeun pikeun jadi leuwih toleran silih dina komentar. Ieu artikel alus.

sumber: www.habr.com

Tambahkeun komentar