Računalniki Windows Internet

Izobraževalni programski jeziki. Razvoj veščin programiranja z uporabo paketa Maple pri poučevanju računalništva na specializirani ravni

Konec predlanskega tedna je v Moskvi potekal manjši nastop, na katerem je novincem povedal, s katerim jezikom naj začnejo svojo poklicno pot in za katero prihodnjo kariero z ustreznim znanjem si je treba prizadevati.

Nekaj ​​podrobnosti o tem srečanju najdete v komentarjih k objavi, za zdaj pa poskusimo ugotoviti tukaj: torej katerega jezika se najprej naučiti?

Pravzaprav je videti kot učitelj mojega sina, ki je v prvem razredu in piše pisma brez podpisa, brez predmeta. Če pogledate neposredno v masovni zaslon, se nenadoma zavedite! Predvidevalo se je tudi, da je Matma učila razmišljanja, vendar to ni delovalo. ... Ideja o uvajanju programiranja v šolo je odlična. Kako je uveden, je povsem druga stvar in s tem je veliko težav. Najprej tisto, kar je napisal Pstrejček ali nepripravljen učiteljski zbor. Sam ni bil velik pes, a se je trudil.

Ali so bili prej v osnovni šoli takšni ljudje v gimnaziji in praktično nihče? Ima pa tudi 2 stvari za početi. Druga možnost je, da se lahko dogovorimo, kako ga lahko nekdo programira, namesto da bi želel biti učitelj. Vsi vemo, kako ta družbena skupina zasluži, zato je zelo pomembno, da imamo strast do poučevanja naslednje generacije.

Stara šola

Prve lekcije računalništva, učitelji s škripom v srcu, so otroke pustili v bližini šolskih računalnikov, da bi jih naučili prvega programskega jezika v svojem življenju. Pred 15 leti so bili v večini primerov osnovni ali pascalski procesni jeziki, če pa ste imeli veliko srečo z učiteljem, ste se lahko naučili tudi C.

Spustimo za zdaj iz oklepajev in ugotovimo: ali je tako dobro, da se začnete učiti z zelo omejenimi jeziki. Prednosti so očitne: preprosta skladnja, podobna običajni angleški jezik, in sposobnost, da se v nekaj urah naučite osnov programiranja. Obstaja pa tudi pomanjkljivost: pomanjkanje prave praktične uporabe brez študija nadaljnji razvoj teh jezikov (Visual Basic in Object Pascal). In v tem primeru še zdaleč ne boste razvili popolnih sodobnih aplikacij.

Drugič, program je še pomembnejši. Na splošno mi ni všeč ideja o poučevanju strogega programiranja. Osredotočiti se moramo, saj vsi tukaj pišejo o novih tehnologijah.

  • Tudi če ne notri pravo smer, vse je vredu.
  • V prihodnosti lahko to popravite.
  • Bolje je delati kot ne delati.
Kateri razred bi morali programirati?

  • Nisem usposobljen za konkreten odgovor na vprašanje.
  • Po mojem mnenju bi morali imeti psihologa.
Zelo kul akcija, ki otroke uči, da jim je osnova programiranja zelo dostopna in zanimiva. Zamisel o uvedbi izobraževalnega programiranja je idiotska. V srednji šoli je mogoče stvari dati na informacijsko kolo, pa tudi primere uporabe z brezplačnimi orodji, ki so na voljo vsem za fiziko, kemijo ali matematiko. Kot nekoga, ki ga zanima, bo našel informacije o samem internetu.

Če ste torej še kar nekaj let, vas okoliščine ne silijo k izbiri prihodnjega poklica, potem so procesni jeziki odlična izbira. Kot pravijo, je trenirati najbolje pri mačkah. Če pa želite jutri začeti služiti denar ... Potem pa več o tem kasneje.

Sodobna šola

Kot verjetno veste, mnogi sodobni šolarji začnejo svojo pot v programiranje z nekaj poenostavljenimi različicami "velikih" jezikov, kot so Scratch, Blockly ali Logo. Na splošno bi lahko prednosti prepisali iz postopkovnih jezikov, če ne za enega "ampak": ti jeziki in aplikacije, zgrajeni na njihovi podlagi, so zabavna storitev za otroke.

Naslednje - pomemben del mladih so znane osebnosti, ker želijo zaužiti in ne razbiti kodne stene - za to morate imeti nagnjenost. Programska vsebina je tako velika, da se bo kdo našel, če bo hotel. Zdaj je za otroke najpomembnejše, da se naučijo pravilnega zadrževanja, logičnega razmišljanja, zelo dobrega učenja tujega jezika - v smislu kontinuitete in distribucije na pravi ravni. Vsekakor je mogoče takšne stvari narediti na mat-fiziki, da ne bi motili teh humanistov in prihodnjih medicinskih programerjev.

To pomeni, da se iz takšnega programiranja lahko naučimo le splošno strukturo programa, koncept zank in operaterjev. Torej, če ste že stari 12 let, potem pozabite na te otroške jezike, čas je, da vstopite v svet odraslih.

Hiter začetek s perspektivo

Recimo, da se želite, če zavržete vse uvodne izjave, takoj začeti učiti enega od običajnih programskih jezikov, hkrati pa se naučiti vseh osnov programiranja. Potem je vredno odgovoriti le na eno preprosto vprašanje: kaj točno želite narediti? Če programirate strojno opremo, potem tu ne more biti razprave: odgovor je C, to je jezik C. Združuje vse, kar potrebuje začetnik: preprosta skladnja, velike možnosti, tako za nadaljnje delo v tem okolju kot za nadaljnje delo. prekvalifikacija na profil "ni železen". Hkrati lahko v skoraj vseh večjih trgovinah z elektroniko na drobno najdete razvojne plošče, začetne komplete za robotiko in druge radosti za začetnike.

Ker sem imel računalništvo in fakulteto in to je bilo dno. Namesto, da bi razmišljali o vladi, naj vlada prevzame plagiat in naredi učni načrt bolj realističen, kajti najbolj neumne informacije, ki jih imajo otroci, manj jih bomo imeli. zanimivi ljudje ker razvoj strasti po šoli in opravljanje svojega dela ne bosta več imela moči.

Mimogrede, nekdo se je zmotil, ko je mislil, da odrasla oseba dela 8 ur in fajanca, otrok pa mora ves dan v šoli in po šoli hoditi po knjigah, saj na koncu vsak učitelj meni, da je njegov predmet najpomembnejši. To je dolgočasno delo, ki se ga čez nekaj let ne bo spomnil nihče, toda bogati ljudje bodo imeli več denarja za ustanovitev podjetja z rokami robotskih umov, kar se zdi, da pomeni nekaj več. Pravite, da mislite več, da imate um, dve roki in željo.

  • Najbolj neumni državljan, bolje za vladajočo kasto in financerja.
  • To je računalnik ali kopanje lukenj - ni važno.
Vse je zelo lepo, a takoj, ko opazite to: kdo jih bo naučil programirati?

Če menite, da je vaš splet poklic, potem morate svojo pot začeti kot standard s HTML in CSS. Tako boste lahko ustvarili statične strani in dobili približno predstavo, s čim se morate spoprijeti. Nato je zelo priporočljivo, da se lotite Pythona. Prvič, ker se je tega jezika res enostavno naučiti. Drugič, po nekaterih virih je Python najbolj priljubljen jezik, če upoštevamo le statistiko študentov od leta 2011. Tretjič, zmogljivosti tega jezika so take, da danes z njim ustvarite splet (na primer DropBox ali Google), jutri pa začnete razvijati igro (Civilization IV).

Učitelji, ki sami ne razumejo osnov programiranja? Naj vas ne zavede, vendar je to resničnost. Na akademski ravni je težko najti učitelje, ki zelo dobro poučujejo programiranje, in to le v šoli. Lepo je kodiranje obravnavati kot zabavo, vendar je bil ta video predstavljen v popolnoma drugačni luči.

  • Seveda je problem osebje.
  • Toda brez ukrepov se nič ne bo spremenilo.
  • Pojavljajo se dejanja, to je dobro.
In tisti ubogi starši, ki zdaj delajo oblikovalske projekte za vaflje, se morajo zdaj naučiti programirati in delati programske projekte?


Težko se je naučiti, enostavno se je boriti

Ne da bi zapustili temo spleta, lahko izberete JavaScript kot prvi jezik (pravzaprav tretji po HTML in CSS) programiranja. Ravno to so počeli pri pouku računalništva pred 15 leti in to je imelo zelo določen pomen: statične strani z dodatkom dobesedno 4-5 vrstic imajo aktivno komponento, kar dviguje motivacijo za delo v tej smeri. Hkrati uspešnost ni odvisna od brskalnika ali operacijski sistem... In to ne omenja možnosti za nadaljnji razvoj v smeri Node.js.

Potem morate ustvariti rezervaštudent, katerega starši plačujejo velike davke? Ali se lahko učenec maščeva več staršem, katerih starši zaračunajo 500 evrov mlajši bratje in sestre?

  • Učenci, ki obiskujejo programiranje v osnovnih šolah?
  • Poleg usposabljanja morate imeti tudi izkušnje ali znanje.
  • Računalniški učenec je nasprotje učitelja.
Jasno so določeni cilji! Zdaj moda, zlasti v medijih, vse kritizira, ker je tam ustvarila politično možnost.

O tem je vredno razpravljati na podlagi dejstev in zlasti uradno dostopne "dokumentacije". In videoposnetki, kot je ta, so ustvarili agencijo po naročilu ministrstva in bi verjetno morali ustreči okusom širše javnosti, ne pa strokovnjakom za IT. Razumevanje, analiziranje in reševanje problemov, ki temeljijo na logičnem in abstraktnem razmišljanju, algoritmičnem razmišljanju in načinih predstavitve. informacije. Programiranje in odpravljanje težav z računalnikom in drugimi. Digitalne naprave: algoritmi za polaganje in programiranje, organiziranje, iskanje. in izmenjavo informacij z uporabo računalniških aplikacij.

Svoje potovanje po spletu lahko začnete tudi s PHP -jem ali Rubyjem, če pa se še niste ukvarjali s programiranjem, je bolje, da sledite poti najmanjšega upora in ta dva jezika pustite za prihodnji študij. Primerjajte hkrati.

In končno, k razvoju aplikacij. Trije načini: Java, Swift, C #. Želja, da bi se pri njih začeli učiti programiranja, je zelo resen izziv, ki se lahko v odsotnosti trdega dela izkaže za neumnega, saj bo vsak zahteval več mesecev intenzivnega študija. Obeti pa lahko služijo tudi kot spodbuda, pa naj bo to uspešna kariera na mobilnem področju (Java - Android, Swift - iOS) ali igranju iger (C # + Unity).

Uporaba računalnikov, digitalnih naprav in računalniških omrežij. vključno z poznavanjem načel delovanja digitalnih naprav in računalniških omrežij ter izvajanjem izračunov in programov. Razvoj družbenih kompetenc, kot so komunikacija in timsko sodelovanje, vključno z virtualnimi okolji, sodelovanje in vodenje projektov. Skladnost z zakoni in varnostnimi predpisi.

Trenutni osnovni učni načrt ne dodaja nič novega, zato lahko učitelji mirno spijo in raven računalništva se ne bo spremenila. Programiranje je del računalništva že od malih nog, vpliva na način poučevanja drugih predmetov, služi pravilnemu pomenu pojmov IT in računalništva. Podpira razvoj spretnosti, kot so logično razmišljanje, jasna predstavitev delati skupaj in učinkovito izvajanje projektov. Če je slab, ga morate spremeniti. Spremembe na začetku ne bodo nujno v pravo smer, temveč bodo na napačnem mestu. Ali res mislite, da je vizija uradnikov pravilna? Ta projekt bo zagotovo propadel, ker tako ali tako ne bo pravih ljudi, v ljudeh pa je jedro. Šola bi morala biti prostor za podporo razvoju na več načinov, ne le na tem, kar se sliši dobro ali na kar so "uradniki" odrezani od sveta. Na splošno je večina posredovanih informacij negativna in nam nalaga, kaj naj si mislimo. Pred kratkim je avtor tega bloga na svojem blogu objavil zelo zanimiva tema o programskih šolah, kar je nekako povezano z zgornjim člankom. Če bi moral "uradno" reči, da bi ga morda moral prebrati, a na srečo mi ni treba. Vašega besedila nisem prejel! To je bila moja zahvala "profesionalnim" novinarjem TVNOV, agoraljem in drugim ljudem, ki so v zvezi s političnimi napakami razpravljali nova baza programiranja in se sploh niso nanašali na bistvo. Pravzaprav vam ni treba brati pravil, določiti in lahko izrazite svoje mnenje, ker je to vaš blog, za vaš denar in nič s tem. Po drugi strani pa glavni tok deluje na koncesijski osnovi in ​​je običajno urejen trg, zato bi morala biti vsaj teorija bolje pripravljena. Učitelji so pogosto ljudje, ki nimajo poslovnih izkušenj in bi vas zagotovo radi slišali. Vi ste najpomembnejši za izvajanje programa, ne odvračajte in mimogrede pripravite bodoče strokovnjake. Veste, da je tema zelo zanimiva. Po mojem mnenju je to zelo pomemben vidik. Termin je bil celo dogovorjen, a iz nekega razloga ni prišel ven. Na žalost še vedno ni običajnih medijev. ... Gre za ustvarjanje poceni razvijalcev na isti osnovi kot komunisti, ki proizvajajo tračne delavce in posebne delavce v tovarnah.

Danes sem napisal odgovor Nini Shumilini iz Tvera na vprašanje o Pythonu kot prvem programskem jeziku v šoli.

Citirala je Konstantina Polyakova, zaključek njegovega članka v septembrski številki Informatike:
Zaradi teh razlogov je avtor naklonjen mnenju I.A. Sukina: Python je dober za profesionalne programerje, vendar je njegova uporaba kot prvega programskega jezika lahko slaba odločitev. Kot priznavajo učitelji Pythona, se tisti, ki so se naučili programirati v Pythonu, neradi preselijo v druge jezike (nižje ravni). Ker smo šolarje naučili razvrščati matrike s klicanjem metode razvrščanja, je kasneje težko razložiti, zakaj so bili celotni zvezki napisani o algoritmih za razvrščanje. To pa lahko privede do nastanka galaksije "programerjev, ki uporabljajo samo Python", ki niso pripravljeni premagati dodatnih omejitev, da bi izboljšali učinkovitost programa. Pravzaprav se učitelj znajde v položaju, ki ga dobro opisuje stavek "Python ima takšne priložnosti, vendar se ne morete tako učiti!" (E.V. Andreeva). Hkrati bi bilo koristno naučiti Python kot drugi programski jezik v naprednih razredih računalništva (na primer po Pascalu ali C).

Usposabljanje je pomožni organ Ministrstva za nacionalno šolstvo. Posvetovanja so zadnja faza dela v okviru Sveta za informacijske tehnologije izobraževanja pred predložitvijo osnutka spremembe programa v odločitev ministra.

Ob koncu posveta bo izobraževalni svet za IKT predstavil poročilo o njihovem izvajanju in končni različici sprememb projekta v temeljnem kurikulumu in informacijski tehnologiji. Zanimivo je, da se izobraževanje o informacijski tehnologiji pričakuje v vrtec... Majhni otroci uporabljajo elektronske digitalne naprave za komunikacijo s svojimi najdražjimi in igranje z njimi. Srednješolci se bodo soočili z izzivom pri razvoju lastnih programov in spletnih strani.

Moj odgovor je očitno prerasel obliko pisma, zato ga bom za zdaj objavil tukaj, nato pa ga bom morda dokončal do članka.

Nobenega dvoma ni, da je odnos do Pythona drugačen. Dejansko obstaja bojazen, da je dinamično tipkanje in preveč jezika na visoki ravni škodljivo za učenje, da je nemogoče zamenjati pojem "niz" s seznami na visoki ravni, saj so študenti "prevarani" zaradi enostavnosti delovanja s seznami ne bodo razumeli načel notranje organizacije itd.

Največji izziv pri uresničevanju ambiciozne zaveze pa je pomanjkanje ustrezno usposobljenih in motiviranih učiteljev. Uvedba temeljnih učnih načrtov je namenjena zadovoljevanju naraščajočega povpraševanja po ljudeh s temi veščinami na trgu dela. Podjetje upravlja izobraževalni projekt "Master Coding", katerega cilj je popularizirati znanost programiranja v poljskih šolah in vključuje učence osnovnih šol po vsej Poljski. Učitelje, ki so sodelovali v programu, so strokovnjaki usposobili za nadaljevanje programiranja v svojih šolah naslednjih 8 tednov.

Toda po mojem mnenju takšna kritika prihaja predvsem od »teoretikov«, ki nikoli niso poskušali poučevati programiranja v Pythonu, istega Polyakova, čeprav je začel objavljati članke o Pythonu v »Informatiki«, vendar se zdi, da ga nikoli ni uporabljal za poučevanje ... Ne poznam pa praktikov, ki kritizirajo Python, torej ljudi, ki bi poskušali učiti otroke v Pythonu vsaj eno leto in jih potem zavrnili.

Udeležba v programu je brezplačna. Na žalost vas šola ne nauči vsega, kar morate vedeti, da vam olajša življenje. Pravzaprav vam šola pogosto napolni glavo z neumnostmi, ki jih najverjetneje ne boste nikoli uporabili, čeprav se jim zdi vsak učitelj zelo pomemben.

Medtem ko se v šoli naučimo tudi koristnih stvari, se nekatere najpomembnejše veščine, ki jih potrebujemo v odrasli dobi, sploh ne omenjajo. Vendar moramo pogledati na dobro plat: nikoli se ni prepozno naučiti. Ker je tehnologija danes ena najpomembnejših tem, je težko verjeti, da se računalništva ne učijo v mnogih šolah. In v računalništvu ne govorimo o kombinaciji matematike in računalnikov, ampak o sposobnosti dela na računalniku.

Na primer, EV Andreeva, ki naj bi jo citiral Polyakov, se je pred tremi leti odločila, da bo poskušala učiti šolarje 6-7 razredov v "Intelektualnem" v Pythonu. Pred tem je bila do tega podviga precej skeptična, vendar se je odločila, da bo poskusila. Šest mesecev kasneje je že govorila na konferencah in dejala, da je najbolje poučevati srednješolce v Pythonu, da v to res ne verjame, potem pa je poskusila in v nekaj mesecih so se njeni pogledi spremenili. Tako da ne vem, kaj je Polyakov navedel in koliko je ta citat star, a včeraj sem to korespondenco posebej pokazal Andreevi in ​​jo prosil za odgovor, na katerega je napisala "Šumilin odgovor - srednješolce je vsekakor treba poučevati v Python ".

Kakšne so prednosti Pythona? Ne samo v preprostosti jezika, ampak tudi v dejstvu, da je to ogromen, večplasten, vsestranski svet programiranja. Na tem svetu je enostavno začeti programirati in zdi se, da ni smisla razpravljati o prednostih Pythona kot prvega programskega jezika - očitno ni nič preprostejšega (iz programskih jezikov glavni namen). Je veliko bolj lakonski kot Pascal in programiranje v njem je brez potrebe po zapletanju z veliko tehničnimi stvarmi, kar je zelo težko za začetnike. Za začetnike je veliko lažje pisati programe, če so sestavljeni iz petih vrstic in ne petnajstih, izvajajo iste algoritme, vendar je za pisanje in odpravljanje napak kode potrebno manj časa, kar pomeni, da je mogoče rešiti več težav in nadalje napredek in za delo z nizom je veliko bolj priročno zapisati:

a = * 1000
kako
var a: niz celih števil;
...
za i: = 1 do 1000 do
a [i]: = 0;

Rezultat za programerja je enak, rezultat je matrika, napolnjena z ničlami, vendar je v Pythonu ena vrstica namesto treh in pomen se ne spremeni. In potem bodo skeptiki seveda rekli, da ne morete pisati kot v Pythonu, da mora študent razumeti, da je matrika neprekinjen kos spomina, da jo moramo razglasiti, torej rezervirati prostor zanjo, da se mora inicializirati, napolniti z ničlami ​​... No, naš odgovor skeptikom je, da se pomen za začetnika programerja ne spremeni, nasprotno, vrstica a = * 1000 bolje odraža, kaj želi študent dobiti in takoj (jaz želite seznam ene številke 0, ponovljene 1000 -krat), je veliko lažje napisati in vam omogoča, da rešite več težav!

Samo poglejte zgornja dva odlomka, kateri je jasnejši? Katera vam je najbolj všeč?

Torej, za začetnike je Python nedvomno boljši. Še več, šibki otroci se lahko tu ustavijo, saj so dobili splošno predstavo o programiranju. Toda močni šolarji lahko nadaljujejo in imeli bodo na voljo sodoben univerzalni programski jezik, ki se dejansko uporablja za razvoj. programsko opremo v vodilnih svetovnih podjetjih. Tu je na primer statistika - "Kaj pišejo v Yandexu": http://blog.yandex.ru/post/ 77617/. Spletna mesta so lahko napisana v Pythonu, računalniške igre, GUI, odjemalsko-strežniške aplikacije, torej karkoli.

Zdaj glede trditve, da je v jeziku veliko stvari na visoki ravni in obstaja skušnjava, da bi jih uporabili, namesto da bi se naučili, kako deluje. No, to je metodološki problem, ne problem programskega jezika. Splošni metodološki pristop je naslednji: najprej razumemo, kako deluje, nato pa lahko uporabimo ustrezen element jezika. Na primer, najprej smo napisali izmenjavo vrednosti dveh spremenljivk prek pomožne spremenljivke, nato pa pokažem, kako se to naredi s pomočjo naborov (a, b) = (b, a). Najprej smo napisali največ dve ali tri številke, nato lahko uporabite funkcijo max. Nato so napisali program za iskanje maksimuma v
zaporedje (niz), potem lahko uporabite funkcijo max na seznamu. Najprej smo sorte napisali sami, potem lahko uporabite funkcijo razvrščanja, jaz pa celo vztrajam, da učenci uporabljajo standardno funkcijo razvrščanja - to je hitreje in bolj priročno ter vam omogoča, da rešite več težav, a šele potem, ko se naučite, kako napišite sami.

Pravzaprav obstaja vgrajena vrsta v kateri koli sodobni jezik programiranje (Java, C ++, PHP), ker je zdaj tako sprejeto. Odsoten je le v klasičnem Pascalu (vendar v sodobnem Delphiju - obstaja), ne v starih OSNOVNIH (in v Visual Basicu - obstaja), vendar to ne pomeni, da vseh teh jezikov ni mogoče uporabljati, ker so zgradili -pri razvrščanju? In nikomur ne bi prišlo na misel, da bi prepovedal študij teh jezikov v šoli samo zato, ker "kaj, če učitelj nauči otroke uporabljati vgrajeno razvrščanje, potem pa tem otrokom ne boste razložili, zakaj morate študirati zapletenost algoritmov razvrščanja. " Problem torej ni v tem, ali je sortiranje v programskem jeziku ali ne, ampak je v tem, KAKO ga uporabiti. Nekaterim šolarjem je dovolj, da pojasnijo, kaj je "selekcijsko razvrščanje" - razumljivo in zelo enostavno je pisati v istem Pythonu, vendar se lahko z nekom pogovorite o učinkovitih algoritmih razvrščanja, prisotnost vgrajenega razvrščanja pa ne moti to. Poleg tega, če učim otroke programiranja v istem C ++, potem poskušam otroke naučiti uporabljati sortiranje iz STL in ga učinkovito uporabljati, kar pa ne ovira preučevanja algoritmov razvrščanja. Na MIT (Massachusetts Institute of Technology) vsi začetni tečaji programiranje je bilo pred nekaj leti preneseno na Python. Na novi Fakulteti za računalništvo Državne univerze Višja ekonomska šola, ki je nastala leta 2014 s sodelovanjem Yandexa, je Python prvi programski jezik, ki so ga študirali študentje. Tu kot primer navajam novo fakulteto, ker na univerzah z že uveljavljenimi programi je težje kaj spremeniti, na primer na fakulteti CMC Moskovske državne univerze je bil poskus zamenjave Pascala s C, kot prvega programskega jezika, neuspešen zaradi nepripravljenosti do sprememb obstoječe programe in kontingent učiteljev.

Nato poglejmo izjavo "In to lahko privede do videza galaksijo "programerjev samo za Python", ki jih niso pripravljeni premagati dodatne omejitve zaradi povečanja učinkovitosti programa. "V nekem smislu s tem ni nič narobe. Programiranje postaja vse bolj razširjen poklic in mnoge veščine programerja ne spadajo v tisto, kar je višje. izobraževanja, torej večina programerjev ne potrebuje preučevanja zvezkov, namenjenih razvrščanju algoritmov. Kompleksnost algoritmov razvrščanja je nedvomno področje visokega strokovnega izobraževanja, vendar programerji, ki lahko napišejo spletno stran v PHP ali program za računovodstvo
tudi v 1C so potrebni in jih je veliko. Na splošno takim programerjem ni treba razumeti algoritmov razvrščanja, le znati morajo uporabiti standardno funkcijo razvrščanja za katero koli nalogo in vedeti, da lahko matrice razvrsti bolje, kot če bi jih sami napisali (in čudno je, da zahtevajo znanje od spletnega programerja algoritmov za hitro razvrščanje seveda s tem znanjem ne bo nič narobe, vendar je za njega popolnoma nepotrebno delo). Zato bi moral sistem usposabljanja za programerje vključevati srednješolsko poklicno izobraževanje (kjer poučujejo uporabne stvari in tehnologije) in visokošolski sistem (kjer je primerno razpravljati o zapletenosti algoritmov razvrščanja), tako kot je v mnogih panogah. na primer v medicini (zdravnik s srednje specializirano izobrazbo izvaja standardne zdravstvene postopke, zdravnik z višjo izobrazbo pa zna predpisati zdravljenje, torej analizirati razloge in sprejeti odločitev). Ja, obstajajo posebnosti, povezane s programiranjem v srednješolskem in visokem šolstvu, vendar sistem tukaj ni tako zgrajen kot v istem sistemu zdravstvenega izobraževanja. Če sem iskren, slabo vem, kaj se dogaja v srednjem poklicnem izobraževanju s poučevanjem programiranja.

Ena analogija, ki jo tukaj rad predstavljam, je napredek pri širjenju avtomobilov. V začetku in sredi 20. stoletja je moral voznik avtomobila poznati strukturo avtomobila in sam opraviti precej zapletena popravila. Vsak voznik mora biti precej mehanik. Zdaj je veliko voznikov, če jim je skupno
idejo o napravi avtomobila, potem ga zagotovo nikoli ne popravljajo, vse vzdrževanje raje izvajajo v avtoservisu. Je dobro ali slabo? To je po mojem mnenju neizogibno. Širina distribucije avtomobilov je postala taka, da je od vseh voznikov težko zahtevati spretnost popravila in poglobljeno poznavanje naprave avtomobila. Razširjena uporaba avtomobila bo neizogibno privedla do dejstva, da večina voznikov ne bo dobro poznala strukture avtomobila. Avtomobili pa postajajo vse bolj priročni in zanesljivi, zato jih je mogoče uporabljati brez posebnih veščin.

Enako je s programiranjem - programiranje je vse pogostejše, programski jeziki sami pa postajajo vse bolj priročni in enostavnejši. Nedvomno število programerjev narašča in bo še naraščalo (čeprav v industriji še vedno primanjkuje kvalificiranih programerjev), medtem ko se bo raven globokega razumevanja stvari zmanjšala. To je neizogibno, vendar to ni razlog, da bi opustili sodobne programske jezike na visoki ravni, tako kot nikomur ne bi padlo na pamet, da bi opustil sodobne avtomobile samo zato, ker so bolj zanesljivi in ​​priročnejši ter ne potrebujejo posebnega znanja za stalno uporabo .