Kiel mi instruis, kaj poste skribis manlibron pri Python

Kiel mi instruis, kaj poste skribis manlibron pri Python
Dum la pasinta jaro, mi laboris kiel instruisto en unu el la provincaj trejncentroj (ĉi-poste nomataj TCoj), specialiĝanta pri instrua programado. Mi ne nomos ĉi tiun trejncentron; mi ankaŭ provos malhavi la nomojn de kompanioj, nomoj de aŭtoroj ktp.

Do, mi laboris kiel instruisto en Python kaj Java. Ĉi tiu CA aĉetis instrumaterialojn por Java, kaj ili lanĉis Python kiam mi venis kaj proponis ĝin al ili.

Mi verkis manlibron por studentoj (esence lernolibro aŭ meminstrua manlibro) pri Python, sed instruado de Java kaj la tie uzataj instrumaterialoj havis gravan influon.

Diri, ke ili estis teruraj, estas subkompreniĝo. La maniero de la Java lernolibro, kiu estis liverita de unu tre konata firmao en Rusio, estis ne instrui al homo la bazojn de ĉi tiu lingvo ĝenerale kaj la OOP-paradigmo aparte, sed certigi ke gepatroj kiuj venis malfermi lecionojn. vidis kiel ili via filo aŭ filino kopiis serpenton aŭ ŝakon el la lernolibro. Kial mi diras forigita? Ĝi estas tre simpla, la fakto estas, ke la lernolibro disponigis tutajn foliojn (A4) de kodo, kelkaj aspektoj de kiuj ne estis klarigitaj. Kiel rezulto, la instruisto aŭ devas kontroli, en kiu punkto en la kodo ĉiu studento nun estas, klarigante ĉiun linion, aŭ ĉio turniĝas al trompado.

Vi diras: "Nu, kio estas malbona, lasu la instruiston fari pli bonan laboron, kaj ŝako kaj serpento estas bonegaj!"

Nu, ĉio estus bonega se la nombro da homoj en la grupo ne estus malpli ol 15, kaj ĉi tio jam estas signifa se vi sekvos ĉiujn, klarigante: "Sed tamen, kial ni skribas ĉi tion?"

Krom la nombro da homoj en la grupo, ekzistas alia problemo asociita kun ĉi tiu metodo. La kodo estas skribita... kiel mi metu ĝin, nur terure. Aro da kontraŭŝablonoj, arkaikaj, ĉar la lernolibro delonge ne estas ĝisdatigita, kaj nia plej ŝatata, kompreneble, estas la stilo de la gvidilo. Sekve, eĉ se vi regas ĉiujn viajn studentojn kaj povas rapide kaj klare klarigi al ili, kion signifas la kodo, kiun vi forskribas, la kodo mem estas tiel terura, ke ĝi instruos al vi la malĝustan aferon, por paroli milde.

Nu, la fina afero, kiu laŭvorte detruas ĉi tiun lernolibron, estas, ke ekde la komenco ne ekzistas almenaŭ adekvata enkonduko klarigante kiaj datumtipoj estas, ke ili estas objektoj kaj primitivaj, kia kriterio kontrolas la posedaĵon, kiu generas ĉi tiun dikotomion, ktp. En la unua ĉapitro, vi kaj viaj studentoj estas petataj fari (kopii) programon kiu faras fenestron kaj skribas "Saluton!" tie, sed ĝi ne klarigas, kion ĉi tiu kodfolio fakte signifas, nur ligas al pliaj lecionoj, ekzemple. , ĝi mencias "ĉefa "estas la enirpunkto, sed la koncepto mem de "enirpunkto" eĉ ne estas literumita.

Por resumi, ĉi tiu rubpapero estis memo eĉ inter instruistoj kaj administrado. Ŝi tute nenion instruis al la infanoj, unufoje mi renkontis grupon, kiu jam de unu jaro studis tiujn materialojn, finfine ili eĉ ne povis skribi ciklon, mi rimarkas, ke ili ĉiuj estis tre lertaj kaj baldaŭ ĉio. ne estis tiel malbona. Plej multaj kolegoj provis deflankiĝi de la instrumaterialoj, por ke la materialo estu sorbita kaj ne nur flugu en la aeron, kvankam estis malpli konsciencaj homoj, kiuj konsideris normale ke sia lernanto kopiu sen ia klarigo.

Kiam evidentiĝis, ke mi forlasos la trejnan centron kaj ke la programo Python devas esti daŭrigita iel venontjare, mi komencis verki mian lernolibron. Resume, mi dividis ĝin en du partojn, en la unua mi klarigis ĉion pri datumtipoj, ilia esenco, operacioj kun ili kaj lingvaj instrukcioj. Inter temoj mi faris QnA por ke la estonta instruisto povu kompreni kiel la lernanto lernis la temon. Nu, fine mi faris malgrandan tasko-projekton. La unua parto tiel klarigas la bazojn de la lingvo kaj maĉas ilin, kio estas proksimume 12-13 lecionoj po 30-40 minutoj. En la dua parto, mi jam skribis pri OOP, priskribis kiel la efektivigo de ĉi tiu paradigmo en Python diferencas de la plej multaj aliaj, faris multajn ligilojn al la stilgvidilo, ktp. Resume, mi provis esti kiel eble plej malsama ol tio, kio estis en la Ĝava lernolibro. Mi lastatempe skribis al mia nuna instruisto de Python, petante komentojn pri la materialoj, kaj nun mi ĝojas, ke ĉio estas bona, ke la infanoj vere komprenas programadon en Python.

Kian konkludon mi ŝatus eltiri el ĉi tiu rakonto: miaj karaj gepatroj, se vi decidas sendi vian infanon al trejnejo, tiam atente kontrolu tion, kion ili faras, ke via infano ne perdas tempon vane, por ne malkuraĝigi. li de voli programi estonte.

UPD: Kiel ĝuste notite en la komentoj, mi diris preskaŭ nenion pri la prezento de la materialo. Mi tuj diros, ke mi kredas, ke devus esti pli da praktiko, kiel eble plej multe. Fine de ĉiu leciono en la unua parto, mi faris 4-5 etajn praktikajn taskojn pri la temo de la ĉapitro. Inter la ĉapitroj estis QnA (kontrollecionoj), kie estis ankaŭ praktikaj, sed jam taksitaj taskoj, kaj fine de la unua parto estis projekto kun temo elektebla el tiuj proponitaj. En la dua parto, mi faris enkondukon al OOP per la kreado de konzola mini-ludo, kies evoluo estis la tuta dua parto kaj la tuta enkonduko al la paradigmo.

Nur registritaj uzantoj povas partopreni la enketon. Ensaluti, bonvolu.

Ĉu via infano lernas programadon en trejna centro?

  • 4,6%Jes3

  • 95,4%No62

65 uzantoj voĉdonis. 27 uzantoj sindetenis.

fonto: www.habr.com

Aldoni komenton