UČENJE PROGRAMIRANJA V OSNOVNE ŠOLE

Quoted post


Gost

#15 Re: Re: Re: Uporaba računalnikov da, ampak programiranje...?

2013-11-12 11:23

#3: - Re: Re: Uporaba računalnikov da, ampak programiranje...?

Saj bi te še jemal resno, če nebi začel s HTML in C...

HTML (HyperText Markup Language oziroma jezik za označevanje besedila) je daleč od programiranja, njegov namen je zgolj prikaz podatkov in oblikovanje. Takšno oblikovanje se brez težav naredi z urejevalniki in podobnimi zadevami. Veš kaj ti pa res pomaga izdelati boljšo stran v WordPressu? Znanje PROGRAMIRANJA, npr. v JavaScriptu ali PHPju. Pa tudi sam HTML ti lahko že precej pomaga pri oblikovanju strani, ker WYSIWYG urejevalniki v WordPressu nekaterih možnosti urejanja pač ne omogočajo.

Potem si pa omenil še C. Ja, ko si se ti učil pred 30 leti, je bil C top zadeva. Danes se uporabljajo programski jeziki, ki precej naprednejši od Cja, pa tudi veliko preprostejši. Kari si v Cju naredil z 10 vrsticami, danes narediš z enim ukazom. Izvorno kodo spletne strani v pythonu dobiš z enim ukazom, z dvema ukazoma pa pošlješ mail.

Velikokrat delaš ponavljajoče operacije v katerem od Office programov? Če znaš Visual Basic, si lahko za te operacije sprogramiraš makro, s katerim vse te operaciej narediš z enim klikom. Hočeš obdelati večje število datotek, in jih razporediti po mapah? Napišeš preprosto skripto, ki ti uredi 10.000 datotek v nekaj sekundah. Igraš spletne igre? Z znanjem JavaScripta si lahko narediš skripto, ki ti pomaga nabirati točke. Imaš goro podatkov (10.000.000 števil, besed, ...) med katerimi moraš npr. poiskati točno določene pare? Namesto, da preverjaš vseh 49.999.995.000.000 možnih parov, lahko vzameš algoritem v poljubnem programskem jeziku, in ga prilagodiš za obdelavo tvojih podatkov. Kolikokrat to potrebuješ v življenju? Mogoče nikoli. Kaj pa, ko hočeš poiskati določene vzorce na 10 MP sliki? Ali pa te zanima, kako lahko najbolj učinkovito pretovoriš pakete z različnimi masami, če pri prevozu ne smeš preseči obremenitve 200 kg. Oseba brez programerskega znanja ne bo niti pomislila, da bi lahko program povedal, koliko in katere pakete lahko pelje hkrati, da bo potrebnih kar najmnaj voženj.

Programiranje samo posebi sploh ni nujno, da uporablja programski jezik. Programiranje je predvsem način reševanja problemov in iskanja rešitev. Do pisanja programov pri programiranju pridemo šele, ko želimo rešitev uporabiti v praksi, pa tudi takrat pisanje programov ni nuja, sploh, kadar je rešitev dovolj enostavna, da jo je hitrje izvesti na paipr, kot pa sprogramirat (seveda, če nam rešitve ni potrebno izvesti večkrat zaporedoma).

Replies


Gost

#19 Re: Re: Re: Re: Uporaba računalnikov da, ampak programiranje...?

2013-11-15 11:42:17

#15: - Re: Re: Re: Uporaba računalnikov da, ampak programiranje...? 

Dober odgovor. Učenje programiranja v osnovni šoli bi moral biti predvsem učenje načina razmišljanja kako reševati določene tehnične probleme. Programski jeziki kot taki so rezultat vrhunske inteligence katerih logika je lahko s pridom uporabljena na številnih področjih dela. Poudarek bi moral biti na raziskovanju algoritmov uporabljenih pri reševanju problemov, izbira jezika pa bi morala temeljiti na sintaktični nezahtevnosti. Če je slednja prezahtevna lahko učenci porabijo preveč energije za končno delovanje programa in se s tem oddaljujejo od bistva.

Nomine

#44 Re: Re: Re: Re: Uporaba računalnikov da, ampak programiranje...?

2013-11-19 07:42:58

#15: - Re: Re: Re: Uporaba računalnikov da, ampak programiranje...?

"Potem si pa omenil še C. Ja, ko si se ti učil pred 30 leti, je bil C top zadeva. Danes se uporabljajo programski jeziki, ki precej naprednejši od Cja, pa tudi veliko preprostejši. Kari si v Cju naredil z 10 vrsticami, danes narediš z enim ukazom. Izvorno kodo spletne strani v pythonu dobiš z enim ukazom, z dvema ukazoma pa pošlješ mail."

In to je VELIK PROBLEM "programerjev" dandanes in to je tudi razlog zakaj strogo podpiram uvajanje PROGRAMIRANJA v osnovne šole. Tudi kot obvezni predmet... Tako kot matematika.

Vi wannabee računalničarji sploh več ne veste kaj je to programiranje! Prav gene me ko vidim take debate o Javi in C-ju.

To kar si opisal sploh več ni programiranje v prvotnem pomenu besede... To je delo z uporabniško opremo, tako kot delo na wordu, 3Dstudio max, risar, inventor, excel, itn,... Če sploh razumeš... Saj kaj pa delate? Skupaj mečete celotne sklope, ki je NEKDO že SPROGRAMIRAL za vas.

Kaj pa je programiranje? Tole nam je v prvem letniku srednje šole znal zelo dobro razložit profesor. Pa da še sam poskusim. Programiranje je določit razmišljanje oz. logiko v ozadju, da se neka zadeva obnaša, tako kot bi se naj. Ala - Če sem lačen, bom nekaj pojedel; Če ni hrane, bom iskal hrano; če sem hrano najdel, jo pojem; Sem še zmeraj lačen? DA - gremo znova, NE - gremo naprej. (Da ne bo pikolovstva, tukaj vzader še je precej več tega, da nekaj poješ, ampak za primer bo OK)

Višji nivo programiranja pa je pol s takimi elementi priti do bolj in bolj kompleksnih logik. Mogoče naprimer za izračunat module, Integrale, in še marsikaj daleč bolj kompleksnega. (in s tem ne mislim da uporabiš knjičnjico Math.h in uporabiš en ukaz, da ti ta samo rezultate ven vrže)

Za programiranje ni potrebno nekega fancy dodelanega jezika, katerega trenutno mediji ali kdor koli pač, najbolj podpirajo. Je že zadost list papirja in gremo risat.

In to je to kar bi se po mojem mnenju morali otroci začeti učit že v OŠ, sestaviti logiko za reševanje svojih problemov, to je tisto pravo programiranje. Pol pa zadevo izvesti na razne načine (ali v C-ju, ali v TP-ju, ali v JAVA, ali v assemblerju, ali v ladder diagramu, ali z logičnimi vratci, ali... čist vseeno).

Veš kako je izgledal prvi sprogramiran robot? Bil je izdelan že v antični Grčiji, Okrog osi je imel navito špago, špago povezano na utež. Tista špaga je bila navita okrog osi tako da je bila tu in tam ovita okrog zatiča na osi. Ko je začela utež padat, se je "robot" pomikal v eno smer, ko se je špaga odvila okrog zatiča 1x, se je robot začel pomikat v nasprotno smer in tako naprej, dokler ni zmanjkalo vrvice. Za nekogar so mogoče tole sliši banalno in nepomembno, ampak ej, to JE programiranje.

 

Osebno sem se na tak način učil programiranja in sedaj nimam nobenih težav, s čimer koli programiram (pa naj bo TP, c, C++, C#, JAVA, Ladder, blok diagrami, funkcijski bloki, lego blokci, simple,...). Za kaki novi jezik si malo pogledam kaki manual, itn. in se privadim. Seveda knjižnjice tudi uporabljam kjer pač obstajajo. Neumno da jih nebi, če so že na razpolago in mi poenostavijo zadevo, ampak se mi zdi brutalno nesmiselno na tako visokih nivojih učit otroke v OŠ programirat. Kaj pa njih brigajo neke knjižnjice v nekih programskih jezikih, kateri mogoče sploh več nebodo aktualni, ko bodo končali z šolanjem. Bolj pomembno za njih je da znajo nasploh programirat in logično razmišljat. Razmišljat kako priti do neke rešitve nekega problema, kaka je procedura,...

Sicer nisem nikoli bil ravno neki fan od appla, ampak ena stvar pa je, kar se popolnoma strinjam z Jobsom. Če bi vsi znali programirat bi bil svet veliko lepši. (vem da me bo sedaj večina z vseh strani popljuvala zaradi tega zadnjega odstavka, ampak... za to je krivo nerazumevanje ali jemanje iz konteksta le tega odstavka)

 

Lep pozdrav!