Python na Macu
(1 korsinik/a gleda/ju temu) (1) Gost

Python na Macu


31.12.2013 | 02:00
Htio bih pomalo učiti programiranje u pythonu, pa me zanima ima li tko iskustva, koju knjigu bi preporučili za početnike,
skinuo sam 3.3 verziju i instalirao, shell se pokreće i osnovne stvari rade.

Eto, unaprijed hvala za preporuke.
03.01.2014 | 19:10
Htio bih pomalo učiti programiranje u pythonu

Programiranje nečeg konkretnog (skriptanje Autodeskovih aplikacija mi prvo pada na pamet), switchanje iz nekog drugog jezika u Python ili Python kao prvi programski jezik?

pa me zanima ima li tko iskustva, koju knjigu bi preporučili za početnike

Domaće (Element) knjige "Rješavanje problema programiranjem u Pythonu" i "Napredno rješavanje problema programiranjem u Pythonu", pisane kao školski udžbenici, nisu loš izbor.

Ova prva može poslužiti i ako je Python prvi programski jezik s kojim se susrećemo, a dovoljno je pitka i kao casual štivo za switch iz nekog drugog jezika u Python.

Znatiželje radi: zašto baš Python?
03.01.2014 | 19:23
Otvoriš Terminal (Applications, pa Utilities, pa Terminal) i tipkaš komandu "python" pa lupiš Enter

JaBook:~ emil$ python
Python 2.7.2 (default, Oct 11 2012, 20:14:37) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> help()

Welcome to Python 2.7!  This is the online help utility.

If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://docs.python.org/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules.  To quit this help utility and
return to the interpreter, just type "quit".

To get a list of available modules, keywords, or topics, type "modules",
"keywords", or "topics".  Each module also comes with a one-line summary
of what it does; to list the modules whose summaries contain a given word
such as "spam", type "modules spam".

help> quit

You are now leaving help and returning to the Python interpreter.
If you want to ask for help on a particular object directly from the
interpreter, you can type "help(object)".  Executing "help('string')"
has the same effect as typing a particular string at the help> prompt.
>>> 


A za početak vjerojatno kreneš s tutorialom kojeg predlažu:
docs.python.org/tutorial/
08.01.2014 | 00:11
Ne znam počinješ li od nule s programiranjem ili već imaš određena znanja. Ako krećeš u potpunosti ispočetka tada ti kao programer mogu reći da logičko razmišljanje kao i sposobnost rješavanja problema ti bar donekle mora biti jača strana. Ta dva preduvjeta će ti drastično pomoći u učenju programiranja. Također, postoji odličan site: www.codecademy.com/

Konkretno, što se tiče Pythona, ne mogu ti previše reći, ali smayoo ti je ponudio određenu dokumentaciju koja bi trebala pokriti dosta toga.
08.01.2014 | 00:43
hvala.

Dovoljno za početak.

U mlađim danima sam programirao, basic na speciju, commodoreu, amigi, pa mašinac na Speciju i amigi, a dalje sam fortran i počeo C,
onda došla druga usmjerenja na faksu i ....fali mi to sve ove decenije...pa se odlučio,
a primarno da približim programiranje klincima.

pozabavit ću se ovim predloženim, pa.....javim se.

Zašto python?
Sviđša mi se ideja s malo sintaksi i brljotina, do više značaja i razumijevanja. Zašto kompleksno, kad može i treba jednostavnije itd...
08.01.2014 | 01:25
Ako ne želiš ulaziti u samu jezgru programiranja onda će ti Python poslužiti. Upravo to, sintaksa mu je jednostavnija od samog hrvatskog jezika i recimo da je logičan što se tiče toga.
08.01.2014 | 11:07
Athelas Loraiel kaže:
(...)a primarno da približim programiranje klincima.
(...)
Zašto python?
Sviđša mi se ideja s malo sintaksi i brljotina, do više značaja i razumijevanja. Zašto kompleksno, kad može i treba jednostavnije itd...


Koliko godina imaju klinci? Moj sin je 7. osnovne i na informatici u školi su prošle godine učili Logo (QBASIC je učio prošle godine za zimskih praznika u Centru za tehničku kulturu). Iako je Logo potpuno beskoristan kao programski jezik za konkretne poslove, vrlo je dobar početak za djecu koja nikad nisu probala programiranje. Puno bolji od basica ili pascala.

www.jabucnjak.hr/forum/programiranje/115...chova-pahuljica.html

Inače, ako se radi o nekom "idućem" stupnju učenja programiranja, ja uvijek glasam za Pascal. Jezik uredne i striktno formalizirane sintakse, a napredne strukture pa, kao takav, omogućava učenje programerskih načela i algoritmiranja bez gubljenja u nejasnoj i "razbarušenoj" sintaksi "C-olikih" jezika. Tko se nauči programirati u Pascalu, kasnije bez pola gasa savladava bilo koji drugi jezik.
08.01.2014 | 11:46
klinci su 9 i 7 godina. kćer u 3. razredu uči troznamenkasto zbrajanje, oduzimanje, tablicu i kad sam joj pokazao jednostavne matematičke stvari koje u pythonu odradi oduševila se..
zašto ne iskoristiti to oduševljenje?

Inače crtaju na ipadu već 3 godine, vrlo uspješno.

sad su dobili par programa free za 3d modeliranje, Sculptris i Curvy - vrlo lako za igrarije klinaca, i mogu vam reć da su odlični!!!
08.01.2014 | 15:52
Za taj su uzrast klasični proceduralni jezici prenapredni. Kreni s Logom. On je upravo tome i zamišljen. Imaš besplatni ACS Logo za Mac.
08.01.2014 | 17:51
Podržavam ideju učenja Pythona - ali ne zato jer je sintaksno bitno jednostavniji od konkurencije (nije, za razliku od... Brainfucka), već zato što je globalno upotrebljiv kao danas dominantni skriptualni jezik i, usput, odličan alat za prototipiranje.

BASIC (proceduralni, ne objektni) ima pitkiju sintaksu i u prednosti je nad Logom utoliko što se znanje može nadograditi za puno ozbiljniju primjenu.

Logo je u tom kontekstu dead end, a switch iz Loga u BASIC će prije nekoga odbiti od programiranja nego uvući dublje. Ključna prednost Loga je forsiranje vizualne komponente - takav output je zanimljiviji od onoga kojeg proizvede INPUT A, INPUT B, PRINT A+B.

Nedavno mi je Jupi ukazao na code.org - preporučam skočiti na code.org/learn i pokrenuti prvi tutorial (vrlo je... "logolik" ). Idealno za djeci približiti osnove algoritmiranja, a u kojem jeziku će ih kasnije "govoriti", neka biraju sami - bitno im je samo pomoći da odaberu jezik u skladu s onim što s njim žele napraviti, kako bi do cilja došli najbezbolnijim putem.

S obzirom da je ova priča krenula iz Pythona, a preko klinaca završila na Sculptrisu (s kojim se Logo u atraktivnosti ne može natjecati), kao dežurni Unity evangelist, predložit ću "think different" - Unity.

Unity u sebi ima malo od svega nabrojenog: omogućava brzo prototipiranje u vizualnom (3D) okruženju, a korisnici imaju istovremeno na raspolaganju 3 jezika: C-olike C# i UnityScript (derivat JavaScripta), te Boo (dijalekt Pythona, dodatno pročišćene sintakse).

Ako je klincima zabavno matematiku 3. razreda gledati kroz Python u terminalu, bit će im definitivno zabavnije ne samo gledati isto to obogaćeno "sočnijim" grafičkim prikazom (dušu dalo za geometriju i fiziku) već s mogućnošću razumijevanja čemu sva ta silna matematika služi odnosno ZAŠTO je uopće učimo. S isto uloženog truda, umjesto da iscrpe opcije koje im nudi kornjača, otvorit će im se novi svijet kojeg će moći oblikovati koliko god im vlastita mašta dopusti.

Da ne bude zabune: Unity NIJE okruženje za nekoga naučiti INPUT-PRINT konstrukciju s malo matematike između. Za to mogu poslužiti i sirovi Python/Boo. Ali Unity može biti prva sljedeća stepenica za naučeno primjeniti na nečem "konkretnijem" i bitno zabavnijem, kako bi se shvatilo da programiranje nije samo sebi svrha.

U svrhu potonjeg preporučam Brainfuck.
08.01.2014 | 21:04
A kad vam dosadi Brainfuck, istražite Malbolge.

BTW, ovu smo diskusiju već jednom vodili, zar ne? U međuvremenu sam se malo bolje pripremio.

Zahvaljujući svojoj honorarnoj aktivnosti među studentima, imao sam prilike bolje shvatiti fundamentalno pogrešan pristup kojeg većina programera ima u pokušajima da druge pouči programiranju.

Pri tom ne govorimo o tome da nekog tko je već jednom, nekad, bilo kad, stekao sposobnost apstraktnog i strukturiranog razmišljanja i već ovladao algoritmiranjem, tj. "pisanjem" programa u generičkom pseudojeziku, treba naučiti specifičnosti i sintaksu nekog određenog programskog jezika. Ne, govorimo o tome da nekog tko nikad nije bio doveden u situaciju da detaljno i precizno opiše postupak pripreme 2 jaja na kajganu nekom tko nikad nije vidio jaje, ulje, tavu ni plinski plamenik, a kamoli da na apstraktnoj razini zamisli i strukturira način realizacije generičkog problema - naučiš najprije kako razmišljati kao programer, pa ga tek onda gurneš u guste šume C-a, Jave, Pythona i ne znam čega.

Elem, i ovdje smo, na Jabučnjaku, u nekoliko navrata (navrat1, navrat2) imali prilike vidjeti unezvijerene brucoše koje je neki suludi profesor gurnuo da u isto vrijeme uče strukturirano razmišljanje, načela algoritmiranja, linearnu algebru i programski jezik C (kao, je l', idealan da početnik u programiranju zauvijek zamrzi programiranje i radije odabere životni poziv praznitelja kontejnera za smeće u ružni zeleni kamion, nego onaj programera) i pomagati im da se iskoprcaju iz zadaće računanja inverzne matrice u jeziku koji niti ne zna što je matrica, a da njima pri tom nitko nije objasnio što je "pointer" (kao da bi to i shvatili, čak i da je netko, u toj fazi učenja - pokušao).

Dakle, ako nekom želiš zgaditi bilo koju ljudsku djelatnost, pokušaj ga njoj poučiti tako da od njega očekuješ da istovremeno savlada i usvoji temeljna načela te djelatnosti, metodologiju i alate. Sve odjednom. Samo naprijed.

Ti bi dijete u 3. razredu učio programiranju tako da ga gurneš u Unity...

AAAAAAAAA!

Razlog zašto se računalno programiranje djeci mlađeg školskog uzrasta približava upravo kroz Logo je psihološki, prije svega:

1. da bi netko nešto naučio, potrebna je ponajprije *USTRAJNOST*. Vjerujem da se mnoštvo djece oduševi kad skuži da kompjuter uspješno zbraja, oduzima, množi i dijeli u djeliću sekunde. No, vrlo ih je malo kojima je to dovoljno zanimljivo da ih zadrži dovoljno dugo da nešto i nauče o programiranju.

2. djeca po definiciji imaju manju ustrajnost nego odrasli (a u prosjeku ni odrasli je nemaju baš puno) i teško zadržavaju pažnju dugo vremena na jednoj temi. Osobito ako nema njima neposredno zanimljivih rezultata

3. likovni i zvukovni aspekti su, kao neposredno senzorički, uvijek većini djece zanimljiviji od matematičkih, numeričkih i drugih apstraktnih aspekata i, kao takvi, puno ih uspješnije drže zainteresiranima i ustrajnima u učenju nečeg

4. upravo zato je Logo (koji je u praksi jednako beskoristan kao i Brainfuck i Malbolge) odličan za učenje programiranja u vrlo mladoj dobi

To što si ustvrdio da bi Logo nekog u trenutku kad treba preći na neki "normalni" programski jezik - prije odbio od programiranja - jednako je kao da kažeš da će udžbenici matematike za 1-4. razred, takvi kakvi jesu, odbiti djecu od matematike kad dođu u 5. ili 6. razred.

Da, odbit će ih - one koji nisu za matematiku (matematika uz puno vježbanja zahtijeva i određeni talent, kao i glazba, i slikanje, i...) će odbiti i oni će zauvijek ostati na razini matematike od prva 4 razreda osnovne. I, više-manje, u njihovom životu im nikad više od toga niti neće trebati.

Isto tako će i u programiranju odbiti onu djecu koja nisu za programiranje. No harm done. Isto bi ih tako odbio da im u 7. razredu pokažeš Basic ili Pascal, ili Python, ili whatever, a da im prije nisi ništa pokazao. Međutim, onoj djeci koja jesu za programiranje - Logo u ranoj dobi će ubrzati krivulju učenja. Python (a da ne govorim o nekoj još složenijoj razvojnoj okolini kao što je Unity) u dobi od 9 godina ne može to postići. Jednostavno, dijete nema dovoljno izgrađenih stepenica spoznaje da znanje konkretnog programiranja osloni na nešto što već zna. I onda to što nauči ostaju samo napamet naučeni fragmenti koje može ili napamet replicirati, ili zaboraviti. Naravno, osim ako se ne radi o wunderkindu.

Isto kao kad gimnazijalce (od kojih mnogi danas završe gimnaziju čak i vrlo uspješno, a da nikad, *NIKAD* nisu ni na 5 minuta ništa čuli o programiranju) na prvoj godini faksa pokušavaš istodobno naučiti linearnoj algebri, algoritmiranju i razbarušenoj sintaksi C-a ili nekog izvedenog jezika.
08.01.2014 | 21:10
smayoo, slažem se apsolutno sa svime što si rekao. Odlično rečeno.
08.01.2014 | 22:05
Ti bi dijete u 3. razredu učio programiranju tako da ga gurneš u Unity... AAAAAAAAA!

Ako roditelj želi, iz njemu prihvatljivih razloga, učiti Python (prvo sebe pa onda i dijete), nudim mu opciju da to umjesto kroz terminal radi tako što će oboje gledati u nešto vizualno atraktivnije. Pritom ne mislim na Unityev IDE (iako je i taj sam za sebe zabavniji od terminala) već na ono što će u njemu nastati s vrlo malo linija koda. Početnik (s iskustvom igranja igara kao jedinim preduvjetom) "vođen za ruku" može (testirano u više navrata) za manje od 6 sati doći od potpunog nerazumijevanja for petlje do rudimentalnog, ali funkcionalnog klona Angry Birds. S osjećajem da se 6 sati zabavljao i uz vraški dobru motivaciju da nastavi kad je već tako jednostavno i daje konkretne rezultate.

Alternativa koju sam ponudio je code.org.

Preporučam probati oboje (ne samo kao alat već kao metodu) pa tek onda inzistirati na zaključku da je Logo najbolja ulaznica u svijet programiranja za najmlađe.
08.01.2014 | 22:35
Đipi, bez namjere i želje da te uvrijedim, ali meni se čini da nisi nikad probao malu djecu nečem (ičem) poučavati. Kojih 6 sati? Prosječnom djetetu te dobi, ako nema direktne i vidljive rezultate unutar max pola sata, gotovo je nemoguće zadržati pažnju drugačije osim prisilom. Kužiš? Zato logo i funkcionira tako. Komanda i direktan vizualni rezultat.
Meni je jasno da je tebi to bez veze. Ti si, isto kao i ja, učio programirati u kasnijoj dobi, kad si već imao značajno veću intelektualnu sposobnost i puno snažniju unutarnju motivaciju. Ali upravo o tome se i radi - većina ljudi koji rade kao predavači na faksu čude kako njihovi studenti ne mogu nešto shvatiti jer misle da svi imaju tu istu motivaciju i predanost za upravo taj isti, njihov kolegij. A to u pravilu nije tako.
08.01.2014 | 22:54
Imao sam i svojih podviga s programiranjem. Nisam neki vraški programer ali razumijem bit i cjelinu toga sve. Naravno, mogao bi biti bolji, ali moj raspon učenja programiranja jednostavno je stao kada me nitko nije tjerao ni motivirao( nemogu kriviti druge i sam za to kriv ali kad si prepusten samom sebi u smislu izborne nastave u petom razredu te nije pretjerano briga...velika pogreska). Ucili smo logo, s nestrpljivim profesorom i sam sam bio nestrpljiv jer je uvijek pomagao talentiranima i nama obicnim bi samo rekao da se snademo. Nakon nekog vremena mi je pila puna kapa jer je to nesto sto sam htio nauciti a sam profesor nije obracao paznju na nas motivirane ali slabije talentirane. Zalosno. eh, pros voz sta sada.


Dosla je gimnazija. Informatika je bila samo progmramiranje. Pascal. Super mi je na pocetku islo. Varijable, petlje, rad s datotekama je malo kocio. Ali sam ja ( budala) izgubio volju i nakon toga sam se provlacio.

Na faksu smo susreli matlab. ajde fora, na temelju prijasnjih iskustva sam rjesavao bez beda. ostali studenti( koji nisu ni vidjeli p od programiranja) me gledaju kao boga. Pa ti to sve znas, kako si to naucio. ja ih blentavo gledam. pa bio sam najgori skoro u gimnaziji.

Doso treci semestar sada radimo u pythonu(jer nemaju za licensu matlaba) pa radimo i radimo. algoritme jednostavne numericke matematike.

I tada sam vidio snagu pascala. Sve sto me naucio! ( Naravno i draga mi profesorica )
Koliko god sirov jezik bio, on je stvoren ( barem u danasnje vrijeme) za kompletno uvesti covjeka u racunalni svijet programiranja. I zato za djecu osnovne skole svakako logo, jer je zabavan. A kasnije pascal kada se krece u ozbiljnije stvari. Eto mali osvrt na moje znanje o tome pa da se ima procitati tu
09.01.2014 | 01:34
Đipi, bez namjere i želje da te uvrijedim, ali meni se čini da nisi nikad probao malu djecu nečem (ičem) poučavati.

Očito će te iznenaditi, ali jesam. Daleko od toga da to radim na dnevnoj bazi, a još dalje od toga da su mi omiljena publika. No, naučili su me dvije bitne stvari:

1) motivacija je krajnje individualna i do nje je potrebno doći kroz nevezanu komunikaciju koja prethodi poučavanju;

2) koncentracija je deficitarna i brzo opada, ali brzina opadanja je obrnuto proporcionalna količini motivacije.

S vremenom sam spoznao da je to dvoje jednako primjenjivo bez obzira o kojem je uzrastu riječ.

Kojih 6 sati?

Onih u kojima ćeš istom tom djetetu pokazati kako se u Logu rade kvadrat i krug. Plus varijacije na temu. I svakako ne u komadu (vidi gore, pod 2).

Prosječnom djetetu te dobi, ako nema direktne i vidljive rezultate unutar max pola sata, gotovo je nemoguće zadržati pažnju drugačije osim prisilom. Kužiš? Zato logo i funkcionira tako. Komanda i direktan vizualni rezultat.

Kužim, ali sad se već pitam kužiš li ti u čemu je razlika između Loga (i njegovog iscrtavanja linija) i onoga što se (djeci) nudi na code.org odnosno mog alternativnog prijedloga da im tata s jednom linijom koda stvori kocku koju će potom zajedno vrtiti u prostoru. Smisao Unitya (u ovom kontekstu) i jest u ideji "komanda i direktan vizualni rezultat". Ili auditivni. Ili kakav god. Ali iz onog stoljeća u kojem ista ta djeca odrastaju, a ne u svijetu isforsiranog wireframea kakav im Logo jedino može ponuditi.

Meni je jasno da je tebi to bez veze. Ti si, isto kao i ja, učio programirati u kasnijoj dobi, kad si već imao značajno veću intelektualnu sposobnost i puno snažniju unutarnju motivaciju.

S 11 godina, ako se ne varam. Broji li se to kao kasnija dob?

Da sam mogao birati na lijevom monitoru gledati kako osoba A upisuje FD 100 RT 90 FD 100... a na desnom kako osoba B s još jednako truda proizvodi 3D čudesa, u što bih (dulje) gledao (keyword: motivacija)?

Spadajući u One Koji Žele Znati Više, osobu A bih mogao pitati "A može li kornjača ići lijevo?" (jer je jedino što sam vidio to da ide desno). A s obzirom da sam neposredno prije pouke prestao igrati svoju omiljenu igru na tatinom mobitelu, možda (ali samo možda), ako je 3D čudeso ispred mene jedan od likova s kojima se inače igram, možda bih pitao tatu može li <umetni>. Pa kad tata upiše jednu (a ne 500) linija koda i dogodi se to što sam predložio - eto nas na početku predivnog zajedničkog druženja. I zajedničkog učenja.

Ali upravo o tome se i radi - većina ljudi koji rade kao predavači na faksu čude kako njihovi studenti ne mogu nešto shvatiti jer misle da svi imaju tu istu motivaciju i predanost za upravo taj isti, njihov kolegij. A to u pravilu nije tako.

S tim se slažem. Štoviše, čini mi se da većina ljudi koji rade na faksu (u školi, <umetni>...) ni sami (više) nemaju motivaciju za predavati vlastiti kolegij. Jedni se potroše, druge ubije generacijski jaz, treći imaju neki treći razlog, ali jedno im je zajedničko svima (i nisu nužno sami za to krivi): pokušavaju jednakim pristupom doprijeti do svih. Nemoguća misija. Možda se nečije dijete boji kornjače. Bum. Ode Logo. Ali to ne znači da isto to dijete ne možemo naučiti tih nekoliko bitnih principa (ponovo: vidi code.org) koristeći nešto čeme se želi posvetiti sljedećih pola sata, 15 minuta ili koliko god mu (individualna) koncentracija dopušta.

Nisam mišljenja da djeca sa 7 (9, 11...) godina trebaju učiti programirati. Ali ako ih zanima - mogu. I kao bilo koje drugo znanje, najlakše će ga svladati kroz ono što je njima poznato i s čime se žele "baviti" (tih 15 minuta dok im misli ne odlutaju na sljedeće). A to nisu nužno ni kornjače ni vizuali svedeni na s njima iscrtane linije. Ako im se, pa makar i slučajno, dopada Python - neka uživaju u njemu. Ako im pak tata/mama imaju volje doći vrlo blagom krivuljom učenja, ali strmom krivuljom motivacije, do toga da ih uče programiranju tako što će zajednički raditi igru (ili nešto nalik na nju), vjerojatno će im biti još zabavnije.

Dobrodošli u 21. stoljeće.
09.01.2014 | 13:30
OK, ajde, jel može konkretan primjer? U Logou su prve komande s kojima se dijete susreće "idi naprijed", "skreni lijevo", "skreni desno", "idi natrag", "vuci crtu" i "ne vuci crtu". Slažeš se da je svakom djetetu lako shvatiti direktnu vezu komande i rezultata? Također, preduvjeti za rad su: klikni na ikonu Logoa, pričekaj da se otvori prozor. Kad se prozor otvorio, sve je spremno za rad.

Ajde, daj sad konkretan primjer za to isto u Unityju. Koje komande (i način njihovog djelovanja) mora dijete shvatiti i zapamtiti da nacrta kocku?

Bez obzira na stoljeće (deseto, petnaesto, devetnaesto ili dvajsprvo) dijete kad uzme olovku (bojicu, kredu, ugljen) i papir (ploču, cestu, zid) crta wireframe modele, a ne 3D renderinge. Na taj se način razvija dječija percepcija.
09.01.2014 | 13:37
core.org ,
a kako za unity na macu? ima li free licenca?
09.01.2014 | 13:48
unity3d.com/unity/download
09.01.2014 | 14:32
@smayoo: misliš kvadrat? ili na projekciju kocke u 2D?
09.01.2014 | 14:34
Ne, mislim - kocku.

Đipi je napisao:
(...) mog alternativnog prijedloga da im tata s jednom linijom koda stvori kocku koju će potom zajedno vrtiti u prostoru.
09.01.2014 | 16:14
OK, ajde, jel može konkretan primjer?

Dapače, ali ideja je da se konkretan primjer nasloni na konkretan interes konkretnog djeteta. A to nije nužno crtanje jedne linije. Možda konkretno dijete lakše slijedi logiku uzroka i posljedice ako je posljedica zvuk. Ili riječ. Ili pokret. Ili nešto deseto. A uzrok ne mora nužno biti nerazumljivi slijed karaktera, bez obzira glasi li "FD 100 RT 90..." ili <umetni sintakstu proizvoljne naredbe bilo kojeg jezika>.

U Logou su prve komande s kojima se dijete susreće "idi naprijed", "skreni lijevo", "skreni desno", "idi natrag", "vuci crtu" i "ne vuci crtu". Slažeš se da je svakom djetetu lako shvatiti direktnu vezu komande i rezultata?

Ne slažem se. Mogu se složiti da je nekom djetetu lako shvatiti direktnu vezu tih komandi (nakon što se izbori sa apstrakcijom sintakse) i rezultata koji iz njih slijede. Mogu se složiti i da je većini djece (dovoljno) lako to shvatiti. Ali neću se složiti s tim da je svoj djeci baš takav pristup najbolje što im možemo ponuditi.

U vrijeme kad je Logo nastao nije bilo praktične alternative za njegove naredbe zamijeniti nečim "univerzalnijim". Danas, zahvaljujući evoluciji UI-a, postoji. Code.org ga koristi u svojim primjerima. Koristi ga i Scratch (scratch.mit.edu). Klinci s ne-engleskog govornog područja su u oba slučaja zakinuti i njima je slijed nepoznatih riječi engleskog jezika često jednako kriptičan kao i "FD 100 RT 90...". Ali to je već drugi problem.

Pravo je pitanje što ih zapravo želimo naučiti. Za svladati logiku algoritmiranja bez da te netko plaši riječima poput "algoritam" i "programiranje" te gledanjem kako na ekranu iz "FD 100 RT 90..." nastaje linija, sa sedmogodišnjacima je zabavnije "osnove algoritmiranja" prenijeti u svijet lovice i graničara. Dovoljno je malo papira u različitim bojama s napisanim radnjama koje je u nekom prostoru moguće odraditi (uključno s konceptom ponavljanja/petlje ako smo se makli dalje od jednostavnog slijeda) i pregršt zabavnih zadataka u kojima će jedni druge šetati po prostoru tako da sa što manje šarenih papirića (naredbi) slažu slijedove uputa dolaska do cilja odnosno ono za što će tek kasnije shvatiti da su zapravo algoritmi. Shvatit će uzrok i posljedicu. Shvatit će ideju algoritmiranja. Igrat će se, kretati, razvijat će pozitivni natjecateljski duh i dobro se zabaviti, u društvu.

Također, preduvjeti za rad su: klikni na ikonu Logoa, pričekaj da se otvori prozor. Kad se prozor otvorio, sve je spremno za rad.

Dobro, tvoji neka "rade", moji neka se "igraju". I svi sretni.

Ajde, daj sad konkretan primjer za to isto u Unityju. Koje komande (i način njihovog djelovanja) mora dijete shvatiti i zapamtiti da nacrta kocku?

Mora zapamtiti gdje je "Cube" gumb. Kad klikne u izborniku na njega, dobit će kocku. Ili kuglu, ako klikne na Sphere. Ili neki drugi primitvni 3D objekt. U konkretnom slučaju oko kojeg se vrtimo, bit će mu vjerojatno zabavnije ako umjesto toga (ili uz to) nauči importirati svoj uradak iz Sculptrisa. Prvo tamo stvara, kreativno se izražavajući, a onda s tim što je stvorio počinje "upravljati".

Naredbe koje slijede ovise o tome što dijete želi raditi. Ne mora ga se nužno inspirirati u istom okruženju jer će (u većini slučajeva) htjeti samo ponavljati već viđeno (što će dovesti do zasićenja i gubljenja motivacije). Dijete ima dovoljno vlastitih ideja što dalje raditi, samo mu ih treba pomoći dovući na površinu i implementirati tako da "vuku dalje".

U kontekstu matematike i tablice množenja, dvije for petlje čuda čine za programski generirati polje "veselih kocaka" (varijacija boja, veličina, animacija...) nakon što se dijete dovede do toga da se zapita mora li uvijek sve kocke napraviti baš tako, pješke, kliktajući na gumb. Prvo mu gomila ponovljenih naredbi za kreiranje iste te kocke iz koda daje do znanja da postoji "drugi način", a potom mu for petlja (ako je spreman za sintaksu konkretnog jezika) ukaže na optimizaciju "algoritma". Ako se prethodno igralo onog gore opisanog "algoritmiranja uživo", upalit će mu se lampica da je "ovo" slično "onom".

Ideja je pritom apstrakciju sintakse "pogurati pod tepih" (prepustiti mentoru), a dijete fokusirati na ŠTO, a ne na KAKO. KAKO će doći s vremenom i kao što će dijete naučiti govoriti galurski ili engleski, ovisno gdje se rodi, tako može usputno naučiti Logo, BASIC, C ili štogod. Razlika je samo u tome što s galurskim neće daleko. I, naravno, naučit će one riječi ("naredbe" ) koje mu trebaju da s njima obavi ono što u danom trenutku želi obaviti (čitaj: što ga zabavlja).
09.01.2014 | 17:34
Filozofiraš i relativiziraš, a na jednostavno pitanje nisi odgovorio. No zaključak je svejedno jasan - Unity nipošto nije nešto gdje dijete može samostalno išta sustavno naučiti. Može napamet klikati i čekati da mu netko odradi pametnu radnju da bi opet ono napamet klikalo. A siguran sam da se prerogativi ne svode na "mora zapamtiti gdje se uklika CUBE", jer da je tako, jamačno ne bi postojali na netu filmići "Understanding Unity UI 1", "Understanding Unity UI 2"...

I ne znam zašto stalno inzistiraš na "FT 100 RT 90...". Prvi korak učenja kreće sa
FORWARD 100
RIGHT 90
...
A za dijete koje uči engleski od vrtića (što je danas većina vrtićke djece) u 3. razredu ipak više 5-6 jednostavnih engleskih riječi nisu ništa kriptično.
Ali dobro. Siguran sam da na svijetu postoji barem jedno 9-godišnje dijete za koje bi tvoja metoda funkcionirala.
09.01.2014 | 18:21
a na jednostavno pitanje nisi odgovorio.

Čini se da jesam (čitam svoj odgovor), ali ako inzistiraš na kodu, eto i njega (JavaScript varijanta):

GameObject.CreatePrimitive(PrimitiveType.Cube);

Ako je mentoru bitno pokratiti ga (meni bi, za rad s tim uzrastom, bilo), da djetetu bude lakše, može mu svesti isto to na "Kocka();".

No zaključak je svejedno jasan - Unity nipošto nije nešto gdje dijete može samostalno išta sustavno naučiti.

Inzistiram li igdje u ovoj temi na ideji "samostalnog učenja"? Nije dovoljno jasno da preferiram mentorski pristup i da predlažem roditelje (a ne nastavnike) u toj ulozi, pogotovo u konkretnom slučaju?

Može napamet klikati i čekati da mu netko odradi pametnu radnju da bi opet ono napamet klikalo. A siguran sam da se prerogativi ne svode na "mora zapamtiti gdje se uklika CUBE", jer da je tako, jamačno ne bi postojali na netu filmići "Understanding Unity UI 1", "Understanding Unity UI 2"...

OK, dajem sljedećem sedamgodišnjaku računalo s instaliranim Logom i nakon "FORWARD 100
RIGHT 90" čekam da spontano ispadne Kochova pahuljica. Jer dalje može sam.

Fascinira me da si, fokusirajući se na drljanje protiv alternative, uspio propustiti činjenicu da NE učimo djecu Unity nego programiranje u Unityu okruženju (gdje kocka nastaje klikom ili s jednom, a ne s 500 linija koda). Možda, boljeg razumijevanja alternativnih okruženja radi, možemo načeti thread kako učiti sedamgodišnjake programiranje u Mayi (!), u Pythonu. Zanimat će te i kod za kocku pa da pokratim:

cmds.polyCube()



I ne znam zašto stalno inzistiraš na "FT 100 RT 90...".

Zato jer se u domaćoj školskoj praksi učilo ovako: logo.dir.hr/mala_skola.htm#LEKCIJA%201

Ali dobro. Siguran sam da na svijetu postoji barem jedno 9-godišnje dijete za koje bi tvoja metoda funkcionirala.

Ponovo si u pravu, postoji.


Nakon svega napisanog, s obzirom da nisi komentirao ni code.org ni Scratch, nisam siguran inzistiraš li i dalje na zaključku da je Logo "way to go" i da ga (na stranu alternativni Unity) spomenuti dvojac (code.org i Scratch, a ne Unity i Maya, da ne bude zabune) ne može zamijeniti na zadovoljstvo i učenika i učitelja?
09.01.2014 | 22:03
javim nakon sutrašnjih lekcija kod kuće.
10.01.2014 | 00:09
Đipi, code.org je mjesto gdje zaista ima odličnih alternativa logu, za rano učenje programiranja, odnosno programerskog razmišljanja. I, kao što si sam rekao, vrlo su "logolike". Nisu "unityolike" . No, to je ponudio Jupi. A ti si ponudio, citiram - "think different - unity". Pričaj što hoćeš, no i čovjeku s poznavanjem osnovnih načela programiranja (a kamoli djetetu od 9 godina), Unity je okolina u kojoj se najprije mora snaći pa tek onda početi nešto raditi (ili se igrati). Po tvojoj logici bi se moglo 9-godišnje dijete učiti i nacrtnoj geometriji tako da ga se pusti klikati po AutoCAD-u.

Slažem se da je Logo rudimentaran i da code.org nudi atraktivnije učilice za današnju djecu koja su navikla na puno jače vizualne podražaje od naše generacije. I nešto naprednije (dapače, zašto ne?).

No, inzistirati na tome da je razvojna okolina za 3D simulacije/igre/whatever primjerena za poučavanje programiranja djece u mlađem školskom uzrastu, isto je kao da kažeš da djecu u 3. razredu trebaš poučavati hrvatski tako da im čitaš Krležu ili matematiku tako da im rješavaš diferencijalne jednadžbe na ploči (ono - mentorski - ti je riješiš, a oni samo prepišu ).
10.01.2014 | 00:14
A evo kome code.org namjenjuje učenje Pythona:
Screen_Shot_2014_01_09_at_23.png


"middle school" odgovara našim starijim razredima osnovne škole (5-8). Dakle uzrast od 11-14 godina, te onaj "+" iza znači "i starijima".
10.01.2014 | 13:48
Đipi, code.org je mjesto gdje zaista ima odličnih alternativa logu, za rano učenje programiranja, odnosno programerskog razmišljanja. I, kao što si sam rekao, vrlo su "logolike". Nisu "unityolike" . No, to je ponudio Jupi. A ti si ponudio, citiram - "think different - unity".

Malo si se pogubio. Jupi nije ponudio ništa (afaik, ne prati Programiranje). Kao što i piše, Jupi mi je nedavno ukazao na code.org i, umjesto da prognam Jupija iz svog BASIC-landa jer napada dogmu , nakon što sam pogledao i isprobao što nude, flagirao sam code.org, kao i Scratch, kao nešto gdje ima smisla usmjeriti buduće programerske početnike. Što i činim.

Zato je u mom inicijalnom postu (onom u kojem je krenulo udaljavanje od Pythona i fokus se prenio na klince) prvo spomenut code.org, a potom, kao alternativa, Unity - i to nakon što je Athelas spomenuo da mu klinci koriste programe za 3D modeliranje. Unity, za razliku od Loga i BASIC-a, može spojiti to dvoje na vrlo jednostavan način - preduvjet je da ga prvo Athelas svlada, a prema referencama koje je naveo, to se čini itekako mogućim.

Da sažetak bude potpun - prije jednog i drugog spomenuo sam BASIC, s tamo navedenim konkretnim razlogom.

Po tvojoj logici bi se moglo 9-godišnje dijete učiti i nacrtnoj geometriji tako da ga se pusti klikati po AutoCAD-u.

Koliko puta moram ponoviti da nigdje u ovoj temi ne inzistiram na ideji samostalnog učenja? Kao što ne inzistiram ni na ideji da djecu tog uzrasta treba učiti programiranju - dapače, suprotnog sam mišljenja, što sam također već izrazio.

Slažem se da je Logo rudimentaran i da code.org nudi atraktivnije učilice za današnju djecu koja su navikla na puno jače vizualne podražaje od naše generacije. I nešto naprednije (dapače, zašto ne?).

Mašala. Nadam se da sljedećeg tko pita u čemu djecu učiti programiranje nećeš ponovo "potjerati" u Logoland.

No, inzistirati na tome da je razvojna okolina za 3D simulacije/igre/whatever primjerena za poučavanje programiranja djece u mlađem školskom uzrastu, isto je kao da kažeš da djecu u 3. razredu trebaš poučavati hrvatski tako da im čitaš Krležu ili matematiku tako da im rješavaš diferencijalne jednadžbe na ploči (ono - mentorski - ti je riješiš, a oni samo prepišu ).

Znaš neku djecu 3. razreda koji ŽELE slušati Krležine tekstove ili gledati rješavanje diferencijalnih jednadžbi na ploči? Ja ne znam. Što ne znači da ne postoje.

S godinama srećem sve manje djece koje zabavljaju Logo i njegova "sirovost". Istovremeno viđam sve više djece koje privlače (samo za primjer) Sculptris i slični kreativni alati koji nisu izvorno dizajnirani za taj uzrast, ali čini se da su dizajneri (ne mislim pritom na grafičke iako su i oni svakako doprinijeli) vraški dobro obavili posao učinivši ih izuzetno intuitivnima.

Programiranje pisanjem koda nije intuitivno. Ali isto to programiranje predstavljeno kroz igru (nazad na Scratch) - može biti.

A evo kome code.org namjenjuje učenje Pythona

Moje mišljenje o Pythonu i kome je namijenjem u kontekstu onoga što dobro radi možeš pročitati u gornjim postovima.
10.01.2014 | 14:18
Ispričavam se, tvoj prvi post nisam dovoljno pažljivo pročitao.
Nemam više ništa za dometnuti osim da nema efektivnog procesa učenja bez onog dijela gdje se nešto samostalno radi. Dijete koje samo gleda i kopira zapravo nije naučilo ništa. Zato *ja* inzistiram na tome da u nekoj mjeri mora biti samostalnog rada (igre).
10.01.2014 | 15:04
Meni su oduvijek bili fascinantni ljudi koji mjesecima kuckaju neki code u crnom terminalu i onda taj programski kod radi nesto lijepo na ekranu

Mene developerski posao ne zanima, niti bi mi to ikada moglo biti zanimljivo, vise sam vizualni tip, iako razumijem ljude koji to vole. I koji to odlicno rade. Da sam, tada, znao koliko su dobro placeni developeri, ne bi ni ucio nista drugo osim programiranja

Mislim da danas ne postoji niti jedan nezaposleni JAVA developer na svijetu, npr.

Zelim reci da je jako vazno djecu uvoditi u taj svijet programiranja, jer neki od njih ce 100% to zavoliti, a kasnije ce im se zasigurno isplatiti u zivotu.

Danas djeca vec prave uspjesne komercijalne igre za mobilne uredjaje i zaradjuju novac, sto znaci da to i nije bas tako tesko nauciti. Najvaznije je nauciti algoritam i "razmisljati kao developer", jezik je tu nebitan.

I Smayoo i Djipi su ovdje u pravu, tako da ne vidim stvarno cemu rasprava
Moderatori: Bertone
  • Stranica:
  • 1
  • 2

Vikalica™

Zadnja poruka: pred 18 minuta
  • ZeljkoB: Jel vec tko isprobao eSIM sa Apple Watch?
  • ZeljkoB: @Zdravec, ovo je super vijest!
  • cariblanco: Elon postaje gori od Ele Dvornik, nije za vjerovati, mada mu i ja osim širim propagandu, ali čovjek ne može šutjeti na sve ove gluposti :(
  • Zdravac: ht - naknada dodatno na mjesečnu tarifu 4 eur
  • Zdravac: ht podržava multi sim i za apple watch (za galaxy watch već neko vrijeme)
  • Yonkis: iStyle počeo prodavati Apple Watch Cellular model.. Opa bato! Nismo više ograničeni :)
  • drlovric: Ne bih ja podcijenjivoa tako to trziste. Ogromna vecina ljudi u USA koriste iPhone, pa im je i Apple Maps logican izbor :)
  • smayoo: Ajd... Iako... zašto više troše novac na to. Kasne za Google Mapsom 20 godina, a za OSM-om 10.
  • Yonkis: Jeste li znali za Apple Mape na webu? [link]
  • Piko: Skužio, AppleInteligence, kategorizacije u Mailu, Image Playground i sl. se pjavi kada podesim sistemski jezik na Engleski …. Kada je na hrvatskom, toga ničeg nema… Bezveze.
  • smayoo: Podsjetnik, vidimo se sutra u Kokolu u 18h! [link]
  • drpongrac23: Čestitke!!! [link]
  • drpongrac23: Nemam, čak sam ugasio i upalio mob, sve izgleda po starom
  • Yonkis: Ja sam u Zagrebu :)
  • miomika: Nemam....to je zigleda privilegija Amerike i Australije.
  • Yonkis: Nemaš ove kategorizacije na vrhu? [link]
  • drpongrac23: Ja ne primjećujem nikakav update Mail app
  • Yonkis: Zanimljivo da je Mail app dobio update na telefonu ali ne i na iPadu i Macu. Očigledno smišljaju kako to prikazati na većim ekranima.
  • Zdravac: ...sa Apple intelligence
  • Zdravac: OS X Sequoia 15.2 update
  • drlovric: Mail app je fin redesign
  • drlovric: Bez veze je iskreno....niskoristi od svega toga
  • Piko: 18.2 isti ko i prijašnji .... nažalost "Image Playground" nije dostupan u HR
  • Gjuroo: Sam da se pridružim karminama za Šveca. Legenda stojedinice i svih nas koji smo tada bili privilegirani biti dio tog pokreta. Svima nama, koji smo morali slušati Raosa kako s balkona na Trgu viče "Strepiteee!", Radio 101 nije bio samo radio. Švec je bio veliki dio tog pokreta.
  • Yonkis: Pa baš ništa novo osim što se video sad prikazuje full screen na otvaranju. Baš sam to trebao (sarkazam). I naravno, spravci
  • drlovric: Instalira se 18.2 :)
  • hal9000: Linus VOLI novi Mac Mini! Hihihi! [link]
  • Beli: Počivaj u glazbi kume. My Hand Over My Heart...
  • smayoo: RIP. Ostaješ u sjećanju, Švec!
  • smayoo: Stvarno prerano. :/
  • smayoo: O, jebote... :(
  • FiFi: RIP Siniša Švec
  • Borisone: [link]
  • Lihto: prije prodaje
  • Lihto: Jel treba uključiti file vault pa onda formatirati Mac M1 ili je dovoljno erase all content and settings?
  • Beli: Prošla akcija ...
  • Beli: Aplikacija Funkey koja proizvodi zvuk mehaničke tipkovnice od sada je besplatna: [link]
  • dpasaric: Kakav entuzijast!!!
  • zoranowsky: Ajme mrak...
  • Gjuroo: Ludo.
  • hal9000: Izuzetno lijepo za pogledati: [link]
  • cariblanco: Sretan imandan Nikolama...jel vam kapnulo što u čizmu ;)
  • hal9000: Anketa bi trebala imati checkboxes, a ne radio buttons. Za nas koji koristimo više mac-ova. Just sayin'.
  • Yonkis: Kradljivci našli nov način krađe Apple proizvoda [link]
  • zoranowsky: Al me ložite :)
  • Yonkis: zoranowsky - kako reče jedan korisnik M1Pro-a: I think the sweet spot is M2 Pro as of right now. I really don't see a reason to get M3 Pro - it has lower memory bandwidth, less P-cores , and it costs more. But if you're on M1 Pro... Just don't upgrade, there is no point.
  • accom: [link]
  • accom: @zoranowsky, u krivu sam
  • accom: Mislim, da je baš M2Pro najslabiji od svih M Pro procesora, sa više energy efficiency jezgri...
  • accom: Ako često obradjuješ video, onda pro. Sam bi preferirao novije gen. CPU.

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 1.17 Seconds

Provided by iJoomla SEO