Acum, că bebelușul mare știe să citească, e tocilară și îi place matematica, ne-am gândit să îi oferim primele noțiuni introductive în programare.
Problema e că noi, nefiind niciunul în domeniu, nu știm cu ce să începem. Care e cel mai utilizat limbaj de programare? C++, C, Cobol? Ce e mai indicat pentru un începător de nivel zero? Ceva linkuri cu cărți de profil, EXCLUSIV în limba română?
Noi am căutat o carte de de inițiere în programare pentru copii, pe net oferta e ușor ambiguă, am cumpărat ceva fizic de la librăria Mihai Eminescu, dar mi se pare ușor puerilă.
So, ceva sfaturi inteligente?
NOU
eu nu-s programator, dar as invata-o inainte notiuni de sintaxa. asa ca as incepe cu w3. vede si rezultatele imediat, actiuni, culori, chestii. e posibil sa ma insel, dar sa ii explici unui copil functii, well…
NOU
s-ar putea sa fie mai receptiva decat crezi tu 🙂
NOU
Pentru un programator, sintaxa nu este importanta. Logica din spate te face programator, nu cunoasterea sintaxei.
NOU
Unii copii învață programare iar alții sunt omorâți de cruci.
stirileprotv.ro/stiri/socant/o-fetita-de-11-ani-din-brasov-a-murit-intr-un-cimitir-dupa-ce-o-cruce-a-cazut-peste-ea.html
NOU
Sa mearga pe C, C++, C# si Java.
NOU
BTW, cel mai utilizat acum e java. Dar asta inseamna ca sunt si multi programatori java, deci si multi indieni ce programeaza in java, ceea ce se traduce in salarii mai mici pentru programatori java.
NOU
Java e diferit de javascript?
NOU
dap. cam foarte diferit.
NOU
Da, Java e complet diferit fata de javascript (cred ca era totusi si o ironie la mijloc – ma gandesc ca ai mai vazut scripturi de javascript pana acum 🙂 ). Asta cu salarii mai mici pentru programatorii java e complet o aberatie, indienii sunt pe tot, dar degeaba daca lucreaza prost.
NOU
Da, n-au nici o legatura.
NOU
Hai man, C++ il recomanzi dusmanilor. Cat despre tradusul in salarii mici e total neadevarat. E complet irelevant limbajul in care scrii. La un interview serios gen google, apple nu intereseaza pe nimeni ce limbaj scrii. La google baietii folosesc la greu, Java, JS, Python. Crezi ca aia care folosesc Go la infrastructura sunt platiti mai bine decat aia pe Python in Tensorflow ?
Plus ca din ce apare in github JS ar fi mult mai folosit, irlevant ce se foloseste mult in organizatii inchise. octoverse.github.com
@Cetin. JavaScript nu are absolut nici o treaba cu Java. Eu iti recomand sa gasesti o metoda prin care sa testetzi daca ii place matematica aplicata in viata de zi cu zi eventual chiar in niste programe captivante pentru varsta ei, muult mai important decat orice. Daca incepeti sa aplicati chestii interesante eu zic sa scrieti cod in cel mai simplu limbaj. Eu nu stiu altul mai potrivit si simplu decat Python. Daca vrei sa inteleaga o paradigma solida incepeti cu Lisp. Nu o sa foloseasca limbajul nicioadata dar valorile cu care pleaca mai departe sunt foarte sanatoase.
Cum sa-i recomanzi man C++ unui copil ? Crezi ca Bjarne a glumit cand a spus asta: www-users.cs.york.ac.uk/~susan/joke/cpp.htm
NOU
Da, e diferit.
NOU
“Java e diferit de javascript?”
Da. In mare seamana intre ele, dar sunt totusi in categorii diferite. Cu Java se creeaza in general programe “clasice” (inclusiv app-uri pentru Android) sau applet-uri pentru pagini web. Cu Javascript se fac diverse script-uri pentru site-uri (exemplu: cand dai click pe thumbs up la un comentariu de pe site-ul tau, e un script JS care se ocupa de aceasta functionalitate) si este in stransa legatura cu HTML (layout-ul unei pagini web) si CSS (designul unei pagini web).
—
Key differences between Java and JavaScript:
– Java is an OOP programming language while Java Script is an OOP scripting language.
– Java creates applications that run in a virtual machine or browser while JavaScript code is run on a browser only.
– Java code needs to be compiled while JavaScript code are all in text.
– They require different plug-ins.
NOU
@George, venom
Babaeti, e ca la piata. Daca e oferta mai mare, pretul se duce in jos. Din moment ce te lovesti la tot pasul de developeri java, dar un developer C/C++ gasesti mai greu, e normal ca developerul de C/C++ sa fie platit mai bine. Serios.
Dar nu trebuie sa ma credeti pe cuvant, ia bagati un ochi aici:
tinyurl.com/m7rdqe2
vs
tinyurl.com/ll2atl7
@George
aberezi
Exact, d-aia sunt anunturi gen “Java developer”, ca nu intereseaza pe nimeni daca programezi in Java sau altceva. Uite, du-te la astia, spune-le ca nu stii Java, dar stii C/C++, sa vezi daca te angajeaza. Nu mai bine ne povestesti din nou de CEO de la AT&T?
NOU
Intre java si javascript ii diferenta cam ca intre orc si porc.
NOU
Babaieti, disputa voastra e ca certurile alea din copilarie cu “Brus Li il bate pe Vandam”, cand de fapt toata lumea stie ca Chuck Norris e unic. Java, .Net si alte balarii de astea sunt chestii mici, de romani, indieni, rusi si alte natii de mana a doua. Daca vreti programare adevarata invatati Ada, utilizat de toti mamutii gen EADS, Airbus si alte firme din industria aerospatiala si de aparare. Avantajele sunt numeroase, de la un program lejer fara deadline-uri stresante pana la un salariu care bate linuxistii la poponetz.
Dupa aia ar mai fi COBOL-ul, care e folosit in softuri pentru banci si are unicul avantaj de a fi un limbaj atat de vechi ca nu se mai face in scoli, deci tinerii nu prea il stiu, deci competitia e putina si are si artrita, deci nu prea mai poate tasta eficient.
Ada, COBOL si probabil si altele sunt folosite in aplicatii mari si vitale, care nu se pot schimba de la o zi la alta, inertia e mare. Acolo sunt banii adevarati.
NOU
@Sabotor
Dacă banii sunt criteriul după care te ghidezi atunci recomand călduros Ruby. Salariul e mai mare decât cel al unui programator C++, conform cu www.indeed.com/salaries/Ruby-Developer-Salaries. Să înveți și să folosești Ruby e incomparabil mai ușor decât C/C++.
@George
Ai dreptate parțial. Algoritmica e de bază la orice interviu. Asta nu înseamnă că experiența bogată pe un anumit limbaj/library/framework/OS nu e apreciată. Depinde pe ce job aplici, depinde de firma la care aplici. Chiar și la Google ești întrebat detalii tehnice destul de deep (de exemplu structuri de Linux kernel), nu doar algoritmică, în funcție de ce nivel de experiență ai și pe ce job aplici. Numele mari din industrie caută ingineri “T-shaped”, oameni care au atât experiență bogată (depth – bara verticală a literei T) cât și suficiente cunoștințe din arii conexe (breadth – bara orizontală a literei T – alte limbaje, alte tehnologii, alte paradigme, etc).
E caraghios să-i explici lui Sabotor cât de greșit e să recomande C++ dar tu să recomanzi Lisp. Păi Lisp e mindbending pentru majoritatea dezvoltatorilor și tu-l recomanzi unui kinder. Eu zic să-i recomanzi nițel Haskell și puțină teoria categoriilor, monade, functori, etc. Și puțină metaprogramare, că nu strică.
@Arhi
1. Java is to Javascript as car is to carpet. N-au treabă unul cu celălalt.
2. Joking aside, poți începe cu turtleacademy.com să învețe rapid (desenând) cum răspunde un computer la comenzi text, apoi www.scratchjr.org
NOU
Eu as zice C folosind operatiile de input/output din C++ (cin si cout). Se rezolva cu un “#include ” si un “using namespace std;”, chiar daca pe viitor va trebui sa se dezvete de el).
NOU
E pt prima data cand sunt de acord cu George, cum sa inveti un copi diferenta dintre int/double/string in C/C++ cand vrei sa afisezi ceva pe ecran?
Cum ii explici lui printf(“%d”, 10), in loc sa scrii frumos si logic: print 10? (in python 2.x)
Cat despre limbaje, conteaza limbajul dar nu atat de mult. Firma lui Joel Spolsky (unul din cei 2 fondatori stackoverflow) nu da 2 bani pe ce limbaj stii, aveau ca test sa rezolvi o problema de algoritmica de criptare (foarte misto) si sa trimiti mail cu raspunsul ei.
E adevarat ca daca vrei sa te angajezi kernel developer si tu stii doar Java, n-ai nicio sansa.
Se programeaza foarte mult in java si se cauta foarte mult in java, am prieteni pe toate limbajele in multe tari din Europa si US. Si cam toti au salariile foarte apropiate (eu sunt programator C/C++/python/C# de >10 ani). E vorba mai mult de cum negociezi si cat de important esti pentru companie, decat limbajul pe care il stii.
NOU
@Mihai in rare cazuri experienta pe framework e definitorie. Cand angajezi un om te uiti prima data la caracter apoi la mindset/algo si abia apoi conteaza frameworkul.
Gresesti la comparatia recomandarii lisp in prea multe feluri si nu ma bag la discutia asta. Eu i-as deschide copilului apetitul cu ceva simplu ca python dar urmatorul pas ar fi sa-i dau sa guste lisp. Esti tu institutionalizat deja si ai impresia ca multi paradigma Lisp ar fi ceva nenatural pentru o minte virgina. In Sillicon Valley cele mai multe scoli private predau Lisp ca prim limbaj.
NOU
@George
1. Eu am susținut că experiența cu o anumită tehnologie e apreciată. N-am susținut că e definitorie. Mai citește o dată ce-am scris.
2. Pe bune, așa-i în Silicon Valley? Școlile private predau Lisp ca prim limbaj? Copiilor de șapte ani? Că despre asta e vorba în propoziție: despre ce limbaj să învețe un copil de șapte ani.
Lisp chiar este mindbending. Explică-i unui dezvoltator care folosește limbaje imperative ce e aia lambda, currying, tail call optimization, ce-s alea S-expressions, homoiconicitate, etc. Pe urmă explică-i unui copil de șapte ani.
NOU
Logo este lisp facut exact pentru treaba asta: en.m.wikipedia.org/wiki/Logo_(programming_language)
NOU
Ghici ce, eu am recomandat Logo. Tu ai recomandat Lisp.
Logo e făcut special pentru copii, de-aia îi și învață cu “turtle graphics”.
Lisp nu e făcut special pentru copii.
Ori nu sesizezi diferența ori ești incapabil să admiți că ai recomandat ceva prea complex pentru un copil de șapte ani.
NOU
@Mihai
thanks, but no thanks. Eu am alta treaba in IT (din nefericire implica ceva cunostinte de Ruby, totusi).
@Tano
Pentru ca isi va insusi un anume mod de gandire, in loc sa inceapa cu un limbaj “usor”, nefolosit in mod normal, dar care-i va forma un cu totul si cu totul alt mod de gandire.
Insa pentru toate celelalte firme conteaza a naibii de mult daca esti java developer sau c/c++ developer
NOU
Nu gasesc unde ai recomandar tu Logo si te banuiesc ca nu ai scris nimic in Lisp, probabil esti genul care vede inperativul ca pe un fel de Meka. Insa Lisp e multi-paradigm si nu pur functional. Eu am invatat Lisp inaite de C. Astazi scriu cod in C, Swift, Erlang/Elixir, Scala, Python,ObjC, JS, Go, Verilog asta datorita Lispului si nu ma cac pe mine cum ca imerativul ar fi miezul din gogoasa cum il prezinti tu.
NOU
@George
1. Nu citești atent. Am recomandat în comentariul inițial turtleacademy.com. Ce este Turtle Academy? Uite ce scrie la ei pe site: “Turtle Academy makes it surprisingly easy to start creating amazing shapes using the LOGO language”. Fucking Logo, geniule.
2. Ai probleme de înțelegere. N-am scris că limbajele imperative (se scrie cu ‘m’, nu cu ‘n’, geniule) sunt miezul ci că Lisp e mindbending pentru majoritatea dezvoltatorilor. De ce? Pentru că majoritatea dezvoltatorilor lucrează în limbaje imperative și e greu să te adaptezi de la mindset imperativ la funcțional. Asta nu înseamnă că imperativ e mai bun și funcțional e mai puțin bun ci că e greu să treci de la un model conceptual la celălalt, geniule.
3. Poate n-ar fi stricat să înveți să citești și să înțelegi un text înainte să înveți Lisp, C, Swift, Scala și ce mai pretinzi că folosești. N-ai fost în stare să înțelegi constrângerile problemei de față (că un părinte care nu cunoaște programare dorește să-și ajute copilul de șapte ani să înceapă să programeze) și ai făcut o recomandare inadecvată. Și crezi că un showcase de limbaje validează într-un fel recomandarea ta: să pui un copil de șapte ani să învețe Lisp. Geniule.
4. Ceea ce presupui despre mine e irelevant în contextul discuției. Și din câte citesc, destul de departe de adevăr.
NOU
www.tynker.com/ ? sau www.code.org ?
NOU
foarte mișto amândouă, mulțumesc
NOU
Astea mi-au venit ca si rezultate pe google.. aveam unul in minte mult mai aplicat pentru copii.. cu animatii.. dar acum sunt blocat pe niste san miguel.. dimineata revin cu link.
NOU
www.codecademy.com/ – la fel un site bun si interactiv 🙂
NOU
Au parut o gramada de jucarii in directia asta. Cubetto e destul de popular (www.primotoys.com) dar ai de unde alge .
Asta mi se pare iarasi interesant avand in vedere ca nanotehnologia cam bate la usa:
snatoms.myshopify.com
NOU
code.org
sau cum sa ti faci un joc flappy bird in care nu mori in primele 5 secunde
NOU
La inceput as merge pe www.scratchjr.org/, dupa neaparat pe programare web 😀
NOU
Recomand si eu codecademy propus de venom. Foarte usor de invatat.
Legat de discutia de mai sus Java pare mai util momentan (cu mare accent pe momentan).
NOU
Wait, wait, am eu o recomandare din partea unui coleg: Code Combat. Este un joc care se pare ca este destul de fun pentru copii si instructiv pentru ca ii invata sa scrie cod, ca sa treci la urmatorul nivel sau sa faci diverse chestii in joc trebuie sa scrii cod efectiv. Nu l-am incercat inca, dar cel care mi-a spus de el il recomanda pentru a initia copii in scriere cod.
NOU
Eu as incepe cu scratch.mit.edu/ – dupa care m-as apuca de limbaje high level si m-as duce, in timp, spre low level. Python ar fi un urmator pas ok, dar cu siguranta m-as juca cu scratch o perioada.
NOU
Trei mii de puncte pentru Scratch. Am „predat” timp de un an de zile la copii de 9-10 ani. Practic le-am explicat în linii mari cam cum se construiesc jocurile și s-au descurcat singuri. La programare, decât să-ți dea cineva mură-n-gură explicații, e mult mai fain să descoperi tu singur principiile și să construiești singur ceva. Există un ONG din Marea Britanie care a și făcut materia pe vreo 2 semestre, iar voluntarii au tradus proiectele în diferite limbi, inclusiv română: projects.codeclubworld.org/ro-RO/index.html
Poți căuta cluburi prin București, e mult mai fain când se adună picii împreună și lucrează. Să vezi acolo brainstorming serios, că n-au nici o reținere și chiar vor să facă chestii.
NOU
+1 pentru Python. E un limbaj foarte util și relativ ușor de învățat. Nu chinuiți copiii (sau adulții) cu C++.
NOU
scratch pare a fi interesant. Si io cred ca e mai bine un limbaj pentru copii, care preda principiile. Dupa aia, toate limbajele folosesc aceleasi principii.
NOU
+1 pentru Scratch
-1 pt C & C++ sunt prea abstracte pentru varsta lor.
Si eu vreau sa incep sa-o invat pe fetita notiunile elementare, cum functioneaza un program, care sunt tipurile de date, structurile if/then/else, for/while loops, functii etc. Dupa, o sa incep cu algoritmi simpli, parcurgere de liste, sortare, filtrare. Acum sa vad si cat interes ii trezesc.
NOU
Scratch voiam sa sugerez si eu. Trebuie sa inteleaga intai conceptele din spate, dupa care ii va fi usor sa aleaga orice limbaj de programare vrea ea, daca va vrea.
NOU
Si votul meu merge la scratch.mit.edu/ .
Incearca sa o inveti algoritmica inainte de sintaxa de Java,C++, Python sau orice alt limbaj de programare.
NOU
Dar daca ma gandesc mai bine, poate ar trebui s-o indrumi spre o cariera de sysamin. Nu de alta, dar….
NOU
Trebuia să fie și asta în comentariu: tinyurl.com/lq6stlc
NOU
www.khanacademy.org e o platforma destul de interesanta, utila pentru înțelegerea diferitelor subiecte din științele fixe cel puțin. M-am uitat acum și are și programare. Ce și cat, asta nu știu să evalueze, deoarece și pentru mine este și a fost o nebuloasa informatica.
NOU
scratch.mit.edu e pt copii
NOU
Este f bun pentru start. Apoi poate continua cu Python.
NOU
Din ce am vazut, desi nu sunt programator, Java e la cea mai mare cautare momentan, cel putin in Romania.
– Java e diferit de Java Script, da, insa multe companii le cer pe amandoua de obicei. Java chior cred ca e bun pentru inceput, insa acum programatorii de Java folosesc tot felul de tehnologii: Spring, Hibernate, JSP, Netbeans, Rest API, Junit, Testng, JMS, JNDI, JDBC, framework-uri, librarii, in fine, un carnat intreg, nici eu nu le cunosc, cum am zis nu ma pricep. Colegii programatori sunt mai in masura sa-ti dea detalii mai multe.
– Cred ca si programarea aplicatiilor Android/IOS o sa se caute din ce in ce mai mult, insa vezi si tu aici cum e, sa nu dispara tehnologia pana ajunge fata sa castige bani din asa ceva, ia de exemplu Maemo, MeeGo, Palmos sau alte OS-uri de mobil care au murit intre timp sau au cautarea foarte mica.
– Cred ca ar merge starnit interesul cu niste tutoriale fun pentru copii: gen puzzle, culori, cantece, animatie gen am atins piciorul ursului ala zice “picior”, un joculet cu ceva care sare, o minge, ceva, sa construiasca o pagina web chioara unde sa-si puna ea poze, etc
– daca ai putea s-o convingi pe termen lung sa creeze singura programele, le poti face open source sau salva proiectele in github, mai tarziu va fi portofoliu alaturi de CV (asta daca nu creaza un soft si vine unul si cumpara softul cu tot cu drepturi, cu cateva milioane de dolari sau daca nu le uploadezi pe appstore si iei bani de pe urma utilizarii lor)
– Sintaxa e buna la inceput, insa e ca o limba straina, cred ca pana la urma conteaza ce vrei sa faci cu ea
Repet, aici vorbeste unul care nu stie nimic de programare, deci increderea in sfatul meu tinde spre zero 😀
NOU
App in Android sunt tot in Java facute. Odata ce invata un limbaj de programare, i se dezvolta logica si poate trece usor la alte limbaje, astfel incat sa se adapteze.
NOU
Frate, cu cv-urile și portofoliile și ce se caută…. Omul vrea să vadă dacă e copilul interesat, nu vrea s-o angajeze mâine…
NOU
#amin
NOU
Academia.inventeaza.ro
NOU
Încearcă ăsta: pythonturtle.org/
N-aș putea să recomand o resursă bună și serioasă de învățat pentru copii, dar în orice caz, Python e mult mai ușor de învățat ca și C/C++/Java și altele, sintaxa fiind foarte apropiată de pseudocod.
De citit: news.ycombinator.com/item?id=11213226
NOU
In plus, Pythonul e util si daca picii decid mai tarziu sa nu devina profesionisti in ale programatului.
NOU
Ai mei au inceput cu “Computer Coding for Kids”. Cartea incepe cu Scratch dupa care face trecerea la Python
NOU
pe viitor, n-ar fi rau sa dea o fuga si pe aici:
www.infoacademy.net/
NOU
Recomand Python. Este cel mai simplu de utilizat limbaj de programare pentru incepatori. Are o sintaxa foarte clara si se pot crea programe fara mari batai de cap. Dupa aia, C#, Java, Javascript, chiar si Pascal sau Delphi. C si C++ sunt mult mai dificile (au multe chichite) si nu sunt recomandate incepatorilor.
NOU
Mie ordinea normala mi se pare Python, C, C++ si dupa aia Java. Sunt chestii in Java care sunt mai usor de explicat daca ai facut C++ mai intai, iar in C++ iarasi sunt chestii mai usor de explicat daca ai invatat mai intai C.
NOU
De asemenea recomand www.codecademy.com/ si www.freecodecamp.com Au lectii interactive si totul este explicat clar.
NOU
Gasesti resurse pe www.codecademy.com.
Luati-o usurel cu Scratch mai întâi, să înveţe algoritmica şi conceptele de bază.
Si daca poti, cauta o locatie CoderDojo pe aproape. O sa-i placa.
NOU
Scratch si CoderDojo recomand si eu. Scratch e special pentru copii, e gandit sa fie usor si distractiv si sa obtina rapid rezultate si sa-i tina motivati, chestie pe care calcularea sirului Fibonacci in limbajele de adulti nu are cum sa o faca.
NOU
+1 pentru CoderDojo. E foarte fain pentru copii. Oamenii au si experiente in a explica copiilor.
NOU
La PC: scratch.mit.edu/
Dacă (mai) ai ipad: itunes.apple.com/us/app/cargo-bot/id519690804?mt=8
Java, C++? Pentru un copil de 6-7 ani? De ce nu … ASM?
NOU
Se incepe cu bazele programării, nu-i musai sa se înceapă cu chestii avansate în C sau Java. Și una din greșelile frecvente e că sunt puși copiii mai întâi să învețe un limbaj simplu (basic, pascal), dar care nu se prea pupa cu cele avansate. Iar copiilor le va fi mai greu apoi sa se obișnuiască cu altceva.
NOU
@Sabotor
Limbajul C devine avansat imediat ce învățăcelul ajunge la pointeri și alocări pe heap vs alocări pe stivă. Adică foarte repede, că fără pointeri și alocări de memorie C e la fel de folositor ca o scobitoare la mâncat ciorbă.
Nu cred că ai înțeles esența întrebării lui Arhi: un _copil_. Pe-un kinder nu-l motivezi cu “haide să-ți explice tati bazele programării” / “vino să-ți spun o poveste despre arhitectura von Neumann” / “am o surpriză pentru tine, o să afli mai multe despre tipurile de date și reprezentarea lor în memorie”. De-aia e folosit Scratch, de-aia e folosit Python. Că poți face chestii vizuale foarte ușor. Așa înveți conceptele de bază când ești copil, nu citind cărțile lui Knuth și arhitectura microprocesoarelor Intel x86.
Apropo, există learnpythonthehardway.org/book/ care e gratis. Oricine poate învăța Python folosind cartea asta. După aia, sky’s the limit.
NOU
E, cacat. La inceput o sa invete sa afiseze un Hello World, sa ia un input de la tastatura si sa afiseze inputul ala intr-o propozitie, chestii dinastea simple de tot. O sa ajunga la pointeri cand o fi cazul.
Nu mai considerati copii niste cretini. Au o minte foarte maleabila si care poate absorbi cantitati mari de informatii. Si da, o fi mai usor sa invete altceva, uite, basic e al naibii de usor de invatat. Dar le formeaza un mindset care mai tarziu, cand vor dori sa treaca la un limbaj de programare cu care chiar sa faca bani, le va fi o piedica.
NOU
Exact! Scrath, orice sa ii dezvolte partea de gandire logica, de intelegere a relationarii cu un calculator prin linii de cod.
Oamenii astia au baut gaz auzi mai @Sabotor. Are 7 ani!
Pt mine a fost simplu: in clasa a 6-a am avut noroc de o profa faina care ne-a prezentat Pascal si am desenat in el, am construit joculete simple. Stuff like that.
Ce crezi ca acum dupa 4 ani nu am putut sa apuc un C si un Java sau dupa inca 4 orice altceva?
Ba a fost super simplu: a, post sa scriu for’ul in alt fel, mare chestiie. What else?
Prima data sa inteleaga concepte “simple” pt noi cum ar fi un IF un FOR si cum construiesti cu ele minunatiile astea de jocuri.
Dupa voi invata teoretic, pe foaie 10 ani si dupa aia pune mana pe calculator. Comunistoida gandire zau.
It needs to be fun bai baieti.
Sa afisezi Hello World? Daaa o sa lesine de emotie. Sa nu cumva sa scrie “IF [key pressed] -> [left turn] BB-8 20 degrees”, un limbaj de asta super simplu pt copii si sa vada in 10 minute ca se misca ceva pentru ca ea l-a pus sa se miste.
Nu e vorba de cum crezi tu ca noi consideram copiii (cretini) – e vorba de construit pasiuni inainte sa il plictisesti. But mno, esti asa de sigur pe tine incat tot ce ma pot ruga este sa nu ajungi profesor, nici macar sef de echipa. You are all about fun. NOT
Suna ca si cum ai intrat in programare ca se castiga bine si cam atat.
Ar rade cei din Silicon Valley si cu curul sa incepem sa predam C sau Java la 7 ani. Toti se bombardeaza cu robotei programabili, cu chestii gen Little Bits littlebits.cc/ si voi aberati aici in sute de comentarii inutile.
Lumea vorbeste de ziua in care calculatoarele vor programa singure, ca noi sa avem un meta limbaj cu instructiuni generice. Lumea viseaza sa programeze cu componente refolosibile pe platforme diferite si voi va razboiti cu C si Java si care sunt salariile acum? Are 7 ani, voi chiar cititi articolele sau egoul e mai important.
@Mihai – Sunt de acord, sa incepem cu un von Neumann
NOU
Nu îi iei mai bine un calculator doar al ei ?
www.robofun.ro/index.php?route=checkout/cart
NOU
Mno…mersi pentru link-ul cu Scratch…pare chiar interesant pt. puradel.
NOU
As incepe cu Kernighan & Ritchie C Programming Language. E o carte draguta, cumva ca teza relativitatii a lui Einstein. Compilatoare/Dev mokka sant garla. Si-asa C++, C#, Java se bazeaza pe C la greu. Si merg/sant baza si la mainframes. Apoi dupa un an-doi o sa se duca singur/a unde ii place mai mult (C#/C++/Java?). Oricum, toate limbajele moderne de programare se bazeaza pe conceptele din C. Plus, tot ce tine de IoT/devices e bare-bones C++, aproape C curat.
NOU
Are 10 ani in plm, bine ca nu ii recomanzi sa invete assembly.
NOU
@DanC, noi vorbim de copii aici.
NOU
@Venom&Alex: Sorry guys, n-am stiut cati ani are copilu’.
NOU
Recomand si eu CoderDojo. 😉
NOU
Imi explici si mie ce se intampla la o sesiune de-asta de la CoderDojo?
Am vazut ca varsta copiilor este de la 8 in sus. Sunt diferentiate pe varsta activitatile? Se lucreaza in echipe?
NOU
Nu stiu cum e la voi in Bucuresti, dar la Timisoara e cam asa:
– sambata pe la 11 se aduna pruncii in una din locatii; (e preferat ca pruncul tău să aibă laptopul propriu, însa nu e musai, de obicei în locațiile CoderDojo au și ceva calculatoare)
– copii învață cel mai mult unul de la celălalt, ajutați și ghidați ușurel de un mentor;
– în fiecare locatie sunt 2-3 mentori, pentru categoriile majore de lucru (scratch, html, robotică, mobile apps, etc)
– o sesiune durează 2 ore, cu pauză de cam 10 minute
– jocurile sunt permise doar în pauză – până la urmă asta nu e sală de jocuri
– e gratuit
– o data pe lună e pizza-day, zi în care merge pruncul cu 10 lei în buzunar și cumpăra toți pizza și alte cele
– anual, prin iunie este o sesiune de proiecte în Dublin (la mama CoderDojo), unde dacă pruncul tău e bun, poate ajunge alături de alțe 8-10 echipe din România.
Și mai multe detalii găsești pe site
–
NOU
@gupi. Cu pruncii am înțeles, dar grupe pentru fetuși au?
NOU
Nu direct – au însă un program de recitare de cod pentru gravide
NOU
Sa traiesti!
NOU
Pot sugera un Arduino? În afară de faptul că învaţă uşor programare şi că e plin de resurse pe net, cred că va fi extaziată să vadă cum clipeşte un bec fiindcă ea l-a pus să facă asta.
NOU
E vorba de copii mici. Grafica aia frumos colorata ii atrage mai tare decat niste beculete. In plus, e greu – cel putin pentru mine, am incercat – sa explici unui pusti cum merge treaba daca pustiul nu are si niste notiuni de electronica sau macar de fizica de baza (curenti, tensiuni, etc.)
NOU
Asa cum au sugerat si altii: Scratch si Python 🙂
www.librarie.net/p/245484/curs-de-programare-pentru-copii-de-la-limbajele-scratch-si-python-la-conceperea-de-jocuri
NOU
Nu stiu ce varsta are, dar lucrand in domeniu si daca maine as vrea sa-mi invat copilul programare as merge cumva pe calea urmatoare:
1.As incerca sa parcurg cateva recomandarile de aici: blogs.msdn.microsoft.com/smallbasic/2016/12/09/microsoft-coding-for-kids/ . SmallBasic si Kodu sunt intersante din perspectiva unui copil, minecraft, nu stiu ce sa spun.
2.In paralel cu 1, as cumpara niste roboti lego mindstorm, in care sa se joace facand diverse chestii www.lego.com/en-us/mindstorms/learn-to-program .
3.Dupa ce intelege cat de cat concepte urmeaza trecerea mai abrupta la chestiile reale, adica sa aiba cumva o intelegere a structurilor repetitive, a blocurilor de cod, scopul variabilelor. Partea asta mi se pare cea mai critica si cred ca trebuie facuta dupa ce s-a plictisit de primele parti si vrea ceva mai antrenant.
4.As incepe sa invat si partea mai putin spectaculoasa si anume algoritmica, dar numai dupa ce a invatat la matematica conceptele, cel cel mai mare divizor comun, ciurul lui Eratostene etc.
5.Partea urmatoarea avansata colectii si liste si cum te joci cu ele, gen sortarea unei liste, gasirea minimului, cautarea binara si altele. Pentru asta recomand hackerrank.org .
6.Clase, functii cum aranjezi si refolosesti codul aici sunt o gramada de carti, head first design patterns e recomandarea mea de la oreilly.
Calea asta care am descris-o este ceva pe termen lung, daca vrea sa activeze in domeniu, insa pentru distractie, primele 2 vor merge de minune, iar pentru ceva minim necesar 3 si 4 ar fi indeajuns poate putin din 5.
O alta recomandare, pe care o am, este sa nu te blochezi pe un limbaj anume, important intr-o prima faza este prinderea conceptelor, ulterior tranzitia va fi un pic mai dificila la inceput, dar cu cat va lucra mai mult, nu va avea o problema cu limbajul ales.
NOU
Kahn Academy are cursuri gratuite pentru copii, dar sunt in engleza, germana, fracenza, spaniola, din pacate nu in romana. Totusi te poti inspira din cursurile lor pentru a pue la punct o structura. Sunt si cursuri de programare (coding) pentru copii in Bucuresti
NOU
Cred ca e prea mult sa chinui copiii cu limbaje de programare la varsta asta. Incepe cu notiuni de baza despre calculatoare – procesor, memorie, hdd, ce-s alea, cum functioneaza impreuna. Las-o sa se joace cu aplicatii simple – desen, texte sa se obisnuiasca cu lucrul cu fisiere, organizare, etc. Dupa care poti incepe cu algoritmi simpli, scheme logice pe hartie – start, do, if-then-else, stop. Abia dupa ce intelege asta te poti gandi la limbaje de programare.
NOU
Schemele logice pe hartie sunt moartea pasiunii.
NOU
Daca esti dispus sa cheltui ceva pentru initiere, un punct bun de plecare poate fi si un Mindstorms de la Lego shop.lego.com/en-US/LEGO-MINDSTORMS-EV3-31313
Cred ca e mai captivant sa construiesti ceva si apoi sa il programezi sa faca chestii. Ca programare ai varianta in care construiesti algoritmi legand blocuri cu drag and drop dar si varianta in care scrii cod.
Ma gandesc ca e mult mai intuitiv un mod prin care construiesti o masinuta si apoi faci un algoritm “daca senzorul detecteaza obstacol, vireaza la dreapta”.
Daca ai nevoie de mai multe detalii, cu mare drag.
NOU
Eu nu stiu cu din astea, dar pot sa il invat cu gagicile.
NOU
Bo$$… bebelușul ala mare e fetiță
NOU
Aici ? www.youtube.com/channel/UC1UCaXLd_IZXk84Q8AWRIDg
NOU
Scratch (scratch.mit.edu/) e cel mai potrivit pentru copii. Eu m-am jucat cu ai mei un pic si e foarte intuitiv. In plus nu instalezi nimic, totul e in browser.
Invata intai concepte de baza in programare dupa care trec la limbaje.
NOU
hourofcode.com/ro
Vei fi uimit cât de încântat poate fi un copil găsind soluții pe subiecte familiare lui.
NOU
Cati ani are pustoaica? Intreb pentru ca si a mea e clasa 1 si as vrea sa ma apuc de ceva cu ea.
Din punctul mei de vedere la inceput ar merge invatata un pic de algoritmica. Noi am inceput cu asa ceva:
blockly-games.appspot.com/
E fun si unele sunt un pic prea complicate pentru ei, dar de-asta suntem acolo ca sa-i ajutam.
Scratch, care ti-a fost recomandat mi se pare o solutie buna de inceput.
Daca incerci cu Arduino sa ne zici cum merge dupa cateva “ore”. Tare am impresia ca dupa ce-o sa se termine uimirea initiala cu “eu am facut asta”, o sa se cam plictiseasca de el, dar asa sunt eu pesimist, nu ma baga in seama.
Dintre limbajele de programare “adevarate” eu as incepe cu C sau Python, cu un plus pentru C.
NOU
7
NOU
Python zic
NOU
Nu stiu cat ajuta in acest moment invatarea unui limbaj strict de programare. Limbajele se invata relativ usor, cred ca mai intai ar trebui sa o inveti un pic de pseudocod si algoritmica. Trebuie sa vezi daca poate gandi ca un programator.
Pune-o spre exemplu sa desfaca in cat mai multi pasi operatiuni simple, ce le face zilnic. (Gen cum te incalti).
Ce gasesti pe net (codecademy w3s etc) sunt faine ca te invata limbajele, dar nu te invata gandirea, destructurarea logica…
NOU
Las si eu asta aici: www.codingame.com/start
Da, nu-i in romana, nu-i chiar de initiere si se trece foarte repede de la chestile simple la complex – ca si majoritatea celor postate de restul. E tare partea de animare a outputului si am reusit sa-l tin pe-al meu de 6 ani langa mine pana am scris un cod dornic sa vada rezultatului. Ma gandesc ca la varsta asta e ok sa inteleaga ca ce vede pe ecran, fie ca-i joc fie ca-i site, e facut de un om si nu-i ceva ce pur si simplu exista si sa stie ca la o adica poate fi el omu ala, evident, daca-i place.
NOU
Pentru copii, daca ai o tableta Apple la indemana, recomand asta: www.apple.com/swift/playgrounds/
NOU
Șefu’, nu îți bate capul cu ce limbaj. Alege unul cu care să înceapă să se joace și după vede ea. Eu am schimbat vreo trei, patru paradigme până acum. Încerc să spun că nu limbajul e cheia și că același lucru poate fi făcut în mai multe feluri. Important este să înceapă și să își modeleze/antreneze gândirea. Poți să îi iei un Raspberry Pi și să o lași să șurubărească și cu el. Asta va acoperii și partea hardware, pentru că niciodată nu se știe cam pe unde ajungi. Și poate îți automatizează tot prin casă :-).
P.S. @Sabotor. Java să moară!
NOU
Și eu as vrea să dispară Java, dar nu cred că avem norocul ăsta.
NOU
www.codingame.com/home
NOU
pe langa ce s-a mai scris, un alt site de resurse excelent e : www.theodinproject.com/ din pacate in engleza.
ca learning curve as recomanda cum au zis si altii scratch -> python apoi .net
NOU
Daca vrea ca dupa ce termina scoala generala sa mearga la un liceu de informatica, ti-as recomanda sa incepi cu C++, din cate stiu in majoritatea liceelor din tara se preda C++ sau Pascal.
Momentan eu zic sa te concentrezi pe partea de algoritmica, sa invete ideea din spate si dupa sa aleaga ce vrea ea.
NOU
E greu sa incepi direct cu C++ (adicatelea OOP). Nici adultii nu inteleg bine, daramite copiii. Si algoritmica mai degraba o sa indeparteze copiii de programare. Copilul e motivat mai degraba cand vede calculatorul facand ceva, obtine niste rezultate si simte ca il controleaza.
NOU
Orice, dar sa fie pe Linux. Se stie ca pe pe windows stau numai fraerii, adevaratii isi pun linux.
NOU
A picat la fix postarea asta. Presupun ca toate recomandarile de mai sus merg si pentur un adult care nu are notiuni de programare, dar care doreste sa invete, nu?
NOU
mai putin partea in care te mangaie Cetin pe crestet si iti spune “fata tatii”
NOU
Parerea mea, invata-l engleza, pentru ca apoi se va descurca singur sa isi caute tutoriale, exemple, sa caute solutii pe stackoverflow si asa mai departe. In programare, daca nu stii engleza, deca incepi cu un handicap. Cartile fizice nu le recomand pentru ca de la scriere pana la editare, traducere in romana, printare si aparitia pe raft sunt deja depasite.
NOU
Cred ca pentru inceput ar trebui familarizat copilul cu ceva algoritmi simpli apoi cu ceva instructiuni simple if , for, while. Eventual cu un compilator online dupa ce invata sa faca programare pe hartie.
NOU
Incearca sa explici unui copil rostul programarii pe hartie. Stiu studenti care aveau greutati in a intelege asa ceva.
NOU
Daca vrei sa o ajuti sa isi dea seama daca ii place sau daca va lucra in domeniu, nu incepe cu un limbaj.
Gandirea logica, analitica, e cheia. Chestiile micute o dezvolta acum, un pseudocod, ceva scheme si animatii.
Este vreme de invatat limbaj, treaba e sa poata gandi liber si sa desfaca probleme in altele mai mici.
Si cheia e sa faca lucruri atractive, practice, in care sa vada ce a facut si sa-i ofere incredere.
Nu incepe ca si la scoala direct cu algoritmi si cerinte bazate strict pe mate. Daca incepe asa, tre sa fie ‘native’ ca sa ii placa si nu devina frustrata de atata necunoscut.
Iti spune unul care pana la liceu nu stia ce e aia programare si am intrat direct in c++, cu un an de pseudocod. Cerinte numa de mate, nimic aplicat, nimic atractiv. Profesor nu tocmai inspirat. Asa am ajuns sa nu ma atraga deloc.
Acuma, la faculta, cand am dat de niste senzori, ceva automatizari si mai putina programare, consider ca am pierdut startul cu Cu’ din liceu si mi-am pierdut vremea. In momentul in care dai de ceva aplicat si care iti ofera mai multa libertate, se poate sa-ti placa.
NOU
ai mei au prins gustul programarii jucand joculetul asta: lightbot.com/flash.html
NOU
Ala mare merge la ceva club (DigitalKids) deja de un an (are 9 ani).
In primul an a facut scratch si acum a trecut pe code.org.
In principiu interfata ii asemanatoare cu scratch-ul dar se trece la chestii mai complicate.
Tu poti sa-i indrumi dar daca nu le place o sa urasca programarea si tot ce tine de ea…
Am un prieten, electronist , it-st, etc… foarte bun in domeniu lui.
L-am intrebat, “ce face fiu-to’ ?” – ce sa faca, chelner – asta i-a placut. S-a jucat o vreme cu hardware-ul dar pana la urma tot la restaurant a ajuns.
NOU
S-a mai discutat si aici 🙂 razvanbb.ro/ce-curs-de-programare-pentru-copii-imi-recomandati-nu-online/
NOU
scratch.mit.edu/
code.org/
NOU
S-a mai sugerat deja, dar plusez și eu: Python.
NOU
digitalkids.ro/, un proiect Asociatia Edusfera.
Nu am experienta directa cu ce se intampla pe acolo, dar o stiu pe cea care a fondat (www.facebook.com/tincuta.apateanu), care e o foarte buna profesionista si e orientata in mod deosebit spre cresterea numarului de fete/femei in IT. Au avut diverse campanii/proiecte in scoli strict pe asta, acum vad ca au largit spectrul pentru toti copiii.
NOU
poti incerca Small Basic de la Microsoft, e special pentru copii: smallbasic.com/.
NOU
Din punctul meu de vedere: HTML / CSS – culori, texte, interactiv – dupa care PHP + MySQL + diverse framework-uri de js.
NOU
Cu ocazia asta poate invata si Diana un pic de “IT”
NOU
Google Made With Code e un punct bun de plecare pentru a invata copiii programare www.madewithcode.com/projects/
NOU
C++, C. Poate si ceva HTML.
NOU
Dacă doreşti, te pot pune în contact cu cei care organizează cursurile şi competiţile Kids in Tech şi Hour of Code. Programele lor sunt special concepute pentru elevi şi liceeni şi cu siguranţă cea mică ar avea destul de multe lucruri de învăţat. 🙂
NOU
Cumpara o papusa
NOU
bâști.
NOU
Preferabil robot si o puneti sa o descompuna si sa invete singura algoritmii dupa care se misca
NOU
Am cateva sugestii:
1. nu invata copilul _un_ limbaj de programare. Ce invata acum s-ar putea sa fie obsolet maine. Ideal ar fi sa inceapa sa invete concepte – gen, sa inteleaga ce inseamna “i=i+1” (o sa radeti, dar 90% din `civili` nu inteleg chestia asta), sau pointeri (bine, asta mai tarziu un pic), threads, etc;
2. problema cu limbajele de genul c/c++/java e ca sunt oarecum seci, iar ca sa tot faca programe de adunare/scadere/whateva – o sa se plictiseasca. Ti-as sugera sa fie ceva mai intuitiv, ceva care sa ii ofere feedback imediat. Ar fi o idee buna sa incerci scratch de la MIT (scratch.mit.edu/);
3. Daca vezi ca ii place si ca se prinde de el/ea, poti duce chesti asta la urmatorul nivel:
+ www.makeblock.com/en – bazat arduino, e single-threaded – dar pentru un copil ar trebui sa fie suficient’
+ www.lego.com/en-us/mindstorms – asta e mai misto, dar e si mult mai scump. IMO, merge mai bine pentru un copil care chiar e pasionat de asa ceva;
4. Mai sunt diverse chestii la care te-ai putea uita aici:
+ www.robotshop.com/en/robotics-education.html
Eu am ajuns la 3.
my 2c.
NOU
Ah, si-nca ceva – ar fi ideal sa fie aproape de cineva care ii poate raspunde la intrebari.
NOU
Daca ar fi sa te iei dupa recomandarile unor baieti de pe aici, in 1 an deja ii poti face cont pe freelancer si va aduce bani in casa.
Limbajul de programare = 0 la varsta asta. Conteaza sa deprinda logica, sa inteleaga de ce daca face ‘x’ se intampla ‘y’. Foarte tare scratch. Recomand un arduino daca o va atrage prograrmarea si se va plictisi de scratch. E mult mai interesant sa vezi un motoras invartindindu-se sau led-uri aprizandu-se.
NOU
O intrebare care apare din ce in ce mai des 🙂
Cateva sugestii pentru inceput:
1. Web simplu (CSS/HTML): sunt incitante pentru un copil pentru ca vede rezultatele pe loc. Nefiind insa “programare”, e potrivit pentru copii creativi pe directie artistica mai mult
2. Web avansat (Angular 4): angular in versiunea 4 e potrivit din mai multe motive. E javascript si se imbina cu web-ul, e un skill foarte general care se muleaza in sute de combinatii (cu sau fara suport de la alte limbaje), typescript-ul face limbajul mult mai simplu si prietenos, se poate ajunge aici dupa un stagiu de HTML/CSS, nu are nevoie de setup complex (include server web in pachetul de instalare), exista comunitati si resurse online extrem de bine puse la punct (de ce nu angular 3 sau 2, pentru ca lipseste acea parte de server si in ciuda simplitatii)
3. Ruby: ruby (alaturi de python) sunt limbajele “clasice” cele mai potrivite pentru incepatori datorita sintaxei prietenoase, a conceptelor avansate care pot fi folosite de la inceput fara a intra in detalii tehnice care pot face viata unui copil mai grea decat e necesar. Avantajul ruby consta in existenta unor “gems”, componente care pot fi folosite “as-is” pana cand va avansa suficient si care ofera bucuria de a crea chestii functionale si complexe fara batai de cap.
NOU
Mda, Angular 3 a fost cam nașpa.
NOU
Resurse online: codecademy / www.khanacademy
Pentru inceput: HTML / Ruby on Rails / Pyton (cate putin din fiecare sefera)
E foarte importanta si componenta live, iti recomand small.academy/, unde poti face si un demo (e cu robotei/ programare basic cu calupuri de cod pentru copii)
+
atentie sa dezvolti si capacitatea de a gandi propriile programe, de a intelege un algoritm, mai ales daca e pasionata de matematica. Majoritatea programelor te invata sa fii code monkey.
NOU
A, Cetin, inca o chestie: Ideea ar fii sa o inveti in principal operatii de baza, tip-uri de date, operatori logici si tot asa, pentru ca sunt la fel, indiferent de ce limbaj urmeaza mai departe, insa sunt foarte de baza.
NOU
Corect, copilul de 7 ani o sa fie instant super pasionat de operatori logici si mai ales de tipuri de date. O sa rezoneze imediat cu mintea lui de copil. Mai aveti idei de astea?
NOU
@alex, si cum inveti sa programezi daca nu stii chestiile de baza?
NOU
Tu cum ai invatat adunarea si inmultirea fara notiunea de algebra universala? Cum ai invatat scaderea fara notiunea de numere negative? Dar impartirea fara notiunea de numere rationale?
Limbajele interpretate gen Basic sau Python nici nu au tipuri de date. Si operatorii logici se pot invata si din mers, totul e ca piciul sa vada ca poate face calculatorul sa execute ce vrea el.
NOU
Cum sa recomanzi ba C++ si C unui copil de 7 ani? Algoritmi? Compilator? Biblioteci? WTF
Nu degeaba informatica din scoala face parte din “programarea plictisitoare”. Faci un program care iti aduna doua numere, apoi face media aritmetica. Super! La fel de bine ai putea sa il pui sa priveasca vopseaua de pe pereti.
Eu recomand ceva flashy, care sa ii ia ochii si sa ii starneasca interesul. Am vazut mai sus recomandari de la Lego, care imi suna binisor. Plus si pt. ideea cu Arduino si ledul, desi acolo esti oarecum limitat de abilitatile tale de electronist.
www.blitzmax.com/ Asta e ceva cu care ma jucam eu in copilarie(Se numea altfel atunci), si care poate fi folosit destul de usor sa creezi joculete. Trebuie citit putin de catre un adult, dar mi se pare muuuuult mai recomandabil decat despre ce vorbeam mai sus.
Iarasi ceva super simplu este Game Maker.
Ideea este sa ii starnesti interesul cu chestii cu care sa rezoneze, si nu cred ca programarea pe kernel in C este ceva foarte entuziasmant pt. un copil.
NOU
Eu recomand Python, este un limbaj foarte avansat si extrem de usor de inteles pentru oricine.
NOU
Probabil au sugerat altii, dar dragut si disponibil in romana: studio.code.org/s/frozen/stage/1/puzzle/1
Khan Academy (www.khanacademy.org/computing/hour-of-code/hour-of-drawing-code/v/welcome-hour-of-code) au si ei tutoriale pentru copii incepand cu 8 ani, cu subtitrari in romana)
Altfel dati inainte cu matematica si orice fel de problem-solving activities, astea sunt mai importante decat un limbaj specific.
NOU
Multe idei bune mai sus, sînt sigur că le știi selecta și singur, nu vreau să le repet. Ce vreau să mai adaug e doar că partea cu exclusiv în română e o mare greșeală. Pînă se traduce ceva în română, dacă se face vreodată în anumite zone din IT, este deja depășit. Iar unde se traduce, de obicei se traduce de wannabees sau editori care nu-s implicați direct sau nu au deloc legătură cu domeniul și rezultă inexactități, erori, etc. Mai ales că e la vîrsta la care poate învăța engleza repede și ușor,, îi va fi esențială și foarte utilă. E foarte/cel mai important să poată citi și înțelege/asimila direct de la sursă cît mai curînd.
NOU
Eu nu as cauta un limbaj de programare ci mai degraba algoritmi sau probleme de logica matematica. Stiu ca suna aiurea, dar ar merge si ceva scheme logice (pe hartie) daca ii place sa deseneze.
NOU
Poti sa incerci si cu minecraft
code.org/minecraft
NOU
Foarte utile comentariile, abia aștept să testez și eu cu fiica mea câteva din proiectele din link-urile astea. Eventual să mai faci un follow-up peste vreo 2 luni să zici care dintre tutoriale au avut cel mai mare succes. Mulțumesc pentru postare.
NOU
C sau Python.
C/C++ e singura masina fara cutie automata din programare, restul au cutie automata :).
Asa ca e mai mare curba de invatare, dar inveti exact cum functioneaza un calculator.
As recomanda totusi Python pt un copil.
NOU
C-ul simplu, Java, C# (sunt foarte foarte similare). C-ul poate să devină foarte complicat de aceea C-ul trebuie învățat la nivel de sintaxă urmat de Java/C#. Apoi va ști ea mai bine 🙂
NOU
In ziua de azi copiii invata orice numai cu un click de mouse. Pai pe vremea mea invatam programare in Basic la Casa Pionierilor si Soimilor Patriei. Deci trebuia sa dovedesti mai intai ca esti un pionier de nadejde si dupa aia incepeai cu programarea. Ce vremuri dom’le!
NOU
Am trecut si eu prin aceeasi dilema. Sperand in prostia mea ca progenitura ma mosteneste (pe la 6 ani) am incercat toate alea de mai sus. Cel mai receptiv fost la Scratch. Cu toate astea, nu pot sa zic ca am inregistrat un progres remarcabil pana nu am apelat la propria experienta: eu cum dracu’ am invatat programare?
O sa imi iau probabil multe mui pentru ce o sa povestesc acum, mai ales de la tineretul programator, dar primul meu calculator a fost un CIP (clona de ZX Xpectrum). Si atunci singurul limbaj disponibil (accesibil) era batranul BASIC. Asa ca, in ciuda protestelor unor pitici ascunsi prin creier, i-am pus GW Basic si m-am apucat sa-l invat. A fost o supriza placuta: nu numai ca a inceput sa invete, a renuntat chiar si la sesiunile de minecraft si roblox pentru a face programe. Basic-ul are un avantaj major fata de pleiada de limbaje de azi: are logica aia simpla cu intructiunea si efectul imediat: fara functii, fara obiecte, fara alte minuni, ceea ce se caleaza perfect pe mintea puradelului.
Si daca tineam secreta aceasta experienta (mi-era rusine cu mine insumi ca am ajuns sa imi invat copilul un limbaj pe care aveam obiceiul sa-l blamez ca afecteaza in mod negativ creierul), a aparut de curand un articol care repeta experienta mea si explica mai bine decat mine de ce e bun basic-ul pentru un copil:
www.nicolasbize.com/blog/30-years-later-qbasic-is-still-the-best/
Pe la 8 ani am inceput sa-i bag pe gat niste C#. Nu i-a placut, am incercat cu Python. Degeaba. Am zis sa reiau parcursul propriu si sa incerc niste Pascal. Nici asta n-a functionat, credeam ca i-am distrus creierul iremediabil cu basicul. Declicul a venit insa cand matematica a devenit la scoala mai complicata si mi-a venit ideea sa-i fac in C# un program care calculeaza orice adunare, scadere sau inmultire. I-a placut asa de tare incat s-a apucat sa-l imbunatateasca sa faca ce-l durea pe el mai tare: sa faca impartiri. Lenea e motivanta la orice varsta. Si de-atunci a uitat basic-ul si “programeaza” in C#.
Esti sadic daca tu vrei sa inveti un copil direct C. Daca chiar vrei sa-l duci catre lumea limbajelor gen C, incepe cu fiii nedemni ai acestuia: C#, Java; desi am dubii ca poti explica unui copil in doi timpi si trei miscari ce e aia OOP.
Dupa ce asimileaza notiuni de baza in orice limbaj, intr-o pauza de masa o sa invete si javrascript, aceasta pecingine a web-ului, n-are rost sa o obisnuiesti acum cu obiceiurile proaste.
La 10 ani, ala micu se descurca binisor in C#, a inteles oarecum concepte de baza OOP, acum discutam despre recursivitate. Planurile mele sadice intrevad in curand nitel C++ si sa-l bag nitel in lumea web-ului. Aman momentul cu web-ul fiindca personal urasc paginile web (adica HTML-ul aferent si javrascriptul), sa vedem ce dracu’ iese.
NOU
Basic si Tubo Pascal – e foarte adevarat ce zicea omul mai sus, cum ca trebuie sa aiba sens pentru nivelul operatiilor (concrete) unui copil de 7 ani (dupa J. Piaget). Operatiile abstracte apar la varsta pubertatii/adolescentei si pana atunci e mai greu cu functiile si procedurile.
NOU
Felicitari pentru ca l-ai invatat, insa pare ca deja il pui pe ‘drumul’ de a deveni urmatoru’ Wozniak. L-ai intrebat daca ii place fotbalul sau sa deseneze?
NOU
Basic-ul e, din cate stiu, creat special pentru a invata programare si probabil de aia e cel mai usor de invatat.
NOU
Sa scrii 10-20 de linii de cod mi se pare un skill de baza in lumea de azi, indiferent de ce meserie vei avea. Ca sa fii un Wozniak, nu e suficient sa faci trei calcule si sa scrii pe ecran “Hello World”, trebuie sa inveti matematica, computer science si sa te pasioneze domeniul. Pasiunile lu’ ala micu’ se limiteaza deocamdata la Roblox si Kendama. Mie imi pare rau insa ca nu studiaza la scoala concepte de programare, prin clasa a V-a apar ca materie optionala. In consecinta nu fac decat sa suplinesc lipsa din curriculum-ul scolar. E bine ca face religie.
Daca esti contabil, poate aranjezi tabelele alea Excel mai usor cu trei linii de cod in VBA, daca esti auditor, poate iti extragi singur prin SQL ce iti trebuie dintr-o baza de date, daca esti biolog poate niste calcule in Python te ajuta mai repede sa faci niste statistici; cand faci speculatii in moneda virtuala, nu strica sa stii sa scrii niste contracte in Solidity. Si blogger daca esti, nu strica sa stii sa muti trei tag-uri si sa schimbi niste cod in javascript cand ai nevoie. In viitor si sculptorul s-ar putea sa aiba nevoie sa programeze imprimanta aia 3D. Pentru toate astea, nu trebuie sa fii “programator” in adevaratul sens al cuvantului, dar te ajuta in meseria pe care ai ales-o.
Sunt prea “batran” sa mai particip la language wars, dupa ani multi in domeniu am ajuns la concluzia ca fiecare limbaj isi are nisa sa si nu exista cel mai bun limbaj de programare. Sa inveti copiii C e ca si cum i-ai pune pe astia care deseneaza web apps sa le faca in assembler (da, stiu de WebAssembly, nu sariti). Pentru invatare ramane Basic-ul cea mai buna optiune. Sa aranjezi desene pe ecran sau sa plimbi maimute si banane nu este chiar programare.
Acum, daca vorbim de ce cere piata, lucrurile stau putin altfel. Daca vrei sa-ti pregatesti copilul exclusiv pe baza a ce e nevoie, in momentul de fata Java rulz pe partea de aplicatii. Urmata la mare distanta de familia C (C, C++, C#).
In lumea Web (fie ca e vorba de client sau server), fara javascript nu ai nicio sansa. Puristii vor spune ca PHP, ca Ruby sau vor fi in stare sa iti spuna ca ala nu e server web daca nu-ti scrii handling-ul pe socket-uri direct in C. Ideea e ca puristii trebuie ignorati (eu sunt un purist de ala, dar imi permit fiindca acum pot trata programarea la nivel de hobby, nu mai depinde job-ul meu de asta, acum vreo saptamana inmulteam numere pe 256 de biti in assembler cu instructiuni SSE just for fun; probabil inmultirea aia se executa de 5000 de ori mai rapid decat in javascript dar pe cine intereseaza?). In ziua de azi, cand agilitatea e la mare pret, trebuie sa folosesti mereu tehnologiile care ofera rezultate rapid, nu cele care iti plac tie si nu cele care storc resurse din procesoare.
O a treia lume a programarii (pe langa cea de aplicatii si web) este cea a mobilelor, unde fara Java sau Swift (depinde de platforma) nu ai ce face. Puristi exista si aici, si ei trebuie ignorati.
Daca e sa vorbim de viitor, o oarecare tendinta de revigorare a platformei .NET prin miscarea open source si portarea .net core pe platformele majore ale momentului, poate oferi surprize in viitor (de-aia l-am pus pe ala micu’ sa invete C#) deci cel putin deocamdata mi se pare o carte de jucat. In ultimul timp C# este limbajul care a evoluat cel mai mult (si numai in bine), nu depinde de un consiliu conservator care trebuie sa aprobe modificari (cum e C++) si este sustinut de unii aflati inca in putere (MS). In consecinta e posibil ca C# sa muste incet, incet din felia Java pe partea de aplicatii, web servere sau platforme mobile. E posibil, n-am zis ca asa va fi. Pe “vremea mea” Delphi si Pascal erau miezul la dodoasca, azi dracu’ mai stie de ele.
NOU
Cum zicea cineva mai sus, prima data ar trebui sa testezi daca ii place ceva din zona de matematica / logica.
Mai dau un sfat cu un “simulator” de programare gen www.robozzle.com/ . S-ar putea sa fie mai bune cele de sus, dar tin minte ca asta l-am testat si a fost chiar ok. Au si niste app-uri de android / iphone.
NOU
cobol? wtf? cat ai dormit?
NOU
Cobol? Acum cativa ani era bataie mare pe specialisti in asa ceva. E un limbaj relativ usor, dar costisitor: scrii multe linii de cod si nu stiu daca exista tool-uri dedicate care sa te ajute.
NOU
Era o lae “bataie”. Daca era bataie toata lumea scria in cobol acum. Sunt 10 programe in cobol de mentenat si 2 programatori. Atat.
NOU
cauta codemonkey, este foarte distractiv pentru copii.
iar pentru viitor/cariera sa bage python, din nefericire nu este predat in scoli la noi.
NOU
clar Scratch şi apoi Python (am văzut că s-a dat link la cartea cu programare jocuri în limba română)
pentru Scratch ceva ultrafun (am făcut cu copiii 2 ani la şcoala fii-mii) şi cu o poveste pe placul lor
www.ls-infomat.ro/programare-in-scratch/super-aventura-programarii-cu-scratch/
Scratch are avantaj că e platforma online (există şi posibilitate de folosire versiune offline). E perfect pentru copii!
NOU
Un pic off-topic, dar trebuie să știi asta ca părinte. Peste câțiva ani fata o să vină acasă plângând că un coleg i s-a adresat cu epitetul “filthy casual”, sau ceva echivalent. Nu trebuie să te enervezi, e doar un semn că fata ta crește. Atunci e momentul să invețe ceva din: Vim, Emacs, Assembly, Lisp, Haskell, Forth. Cu cât mai multe bife în lista aia, cu atât mai bine.
NOU
Scratch
NOU
Python say java.
C c++ prea grele.
NOU
JavaScript – este un limbaj super care dezvolta problem solving skills dar si logical skills pentru ca este foarte flexibil. De asemenea, ca sa foloseasca notiuni de logica si matematica poti sa incerci sa o inscrii pe projecteuler.net/ 😀
NOU
Da, fiindca orice copil de 7 ani vorbeste cursiv engleza si face probleme de dificultate scazuta cu numerele impare din sirul lui Fibonacci (da, asta e a doua problema ca dificultate de pe projecteuler).
Despre javrascript nu comentez, doar te rog sa-i explici unui copil de 7 ani diferenta dintre =, == si ===.
NOU
en.wikipedia.org/wiki/Malbolge
—
Malbolge is a public domain esoteric programming language invented by Ben Olmstead in 1998,…..
Malbolge was specifically designed to be almost impossible to use, via a counter-intuitive ‘crazy operation’, base-three arithmetic, and self-altering code.[1] It builds on the difficulty of earlier, challenging esoteric languages (such as Brainfuck and Befunge), but takes this aspect to the extreme, playing on the entangled histories of computer science and encryption. Despite this design, it is possible (though very difficult) to write useful Malbolge programs.
NOU
Abia i-ai luat tac de biliard profi. De ce bulversezi copilu?
NOU
si dupa aia teco scripts
en.wikipedia.org/wiki/TECO_(text_editor)#Example_3
NOU
Ca programator cu ceva experienta si ca Freelancer si ca “sclav” de firma, iti recomand sincer Python, nici macar nu e de luat in calcul alta alternativa. Daca te apuci cu Java, C, C++, trebuie sa ii explici tipurile de date, alocari de memorie (chiar si pentru chestii simple) si o sa fie greu sa lucreze cu siruri de caractere, ceea ce pentru un copil e fain. Adica vrei un limbaj in care sa fie simplu sa faci ceva de genul “cum te cheama?”, “X”, “salut, X”. Python (sau chiar si Ruby) sunt cele mai bune variante. Javascript e doar pentru web si desi nu ai nevoie de mai nimic pentru el (un text editor si un browser), e greu si sunt multe lucruri ce trebuie sa i le explici ca sa faca ceva concret. Copiilor trebuie sa le arati ca e usor sa faci chestii concrete, nu doar operatii matematice. Si de aceea consider Python cea mai buna varianta. Ai adresa mea de email, imi poti scrie si iti trimit resurse bune si foarte usor de inteles.
NOU
da, logic, cine plm are nevoie de tipuri de date si alocari de memorie, iteratii si alte banalitati.
ps: vezi ca js poa sa fie si server side (mai nou (de cativa ani buni)).
NOU
@semeketh Python are tipuri de date, alocări de memorie și iterații.
NOU
@voc, citeste postul initial
NOU
@semeketh: copiii de 7 ani sigur nu.
@VOC: in Python nu exista tipuri separate de date pentru numere intregi si reale (bafta in a explica unui copil ce-s alea daca nu le-a facut la mate) sau pentru date pe 8, 16, 32 sau 64 de biti, pe care copilul de asemeni le intelege greu.
NOU
@alex
$ python
Python 3.5.3 (default, Mar 8 2017, 18:26:38)
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> type(5)
>>> type(2.5)
>>>
Ca să vezi, tipuri de date diferite pentru întregi și reale.
NOU
Meh. WordPress mi-a filtrat output-ul din comentariul precedent pentru că a crezut că-s tag-uri HTML. But the gist of it is: 5 este de tip int iar 2.5 este de tip float.
NOU
@semeketh Logic ca are tipuri de date. Dar nu te intereseaza. Si nu, in Python nu iti aloci tu memoria de nebun ca in C/C++ si sa dai peste o gramada de probleme si sa trebuiasca skilluri mult prea avansate pentru un copil de 7 ani. Si tipurile de date… te intereseaza doar minimal (in Pyhton2 la concatenarea unui int cu string, de exemplu). Dar nu trebuie tu sa stii ce tip de date sa il declari sau cum sa aloci memoria pentru el si apoi sa o stergi. Ai garbage collector care face asta pentru tine. Hai sa nu vorbim aiurea, e pentru copii, nu pentru programatori cu experienta. Am zis ce am zis pentru ca orice copil are satisfactie mai mare daca face ceva concret, ceva ce poate vedea si cu efort putin. Si daca are satisfactie, va fi interesat sa continue si pe viitor va trece si la Java, C++ etc.
NOU
La programarea de baza (pe care ar face-o un copil) poti sa ignori linistit tipurile alea.
NOU
www.playcodemonkey.com/
Implica o maimuta, ceva banane…
Imi place ca vezi imediat animatia grafica a ceea ce ai programat sivezi unde trebuie facute corectii.
Daca iti faci cont poti sa continui de la nivelul la care ai ramas..
NOU
E senzational cum jumate din comentarii incep cu “eu nu sunt programator, dar iti recomand X”. E ca si cum m-as apuca eu sa recomand oamenilor ce sculpturi sa-si puna in gradina.
Programarea se invata in mai multe etape:
1. Conceptual – ce-i aia variabila (mi se pare aproape imposibil de imaginat asta pentru un copil de 8-9 ani); ce-i aia functie (cam prin clasa a 8-a); ce-i aia obiect (fuck – asta n-am inteles cu adevarat pana pe la 20 de ani); etc.
2. Algoritmic – astfel se vede imediat utilitatea programarii (rezolva probleme nu neaparat complicate, dar migaloase – gen “e numarul X prim?”)
3. Practic – abia aici ai nevoie de un limbaj de programare.
In NICIUN caz nu incepi cu limbajul. NICIODATA!
Intotdeauna trebuie intai sa intelegi DE CE faci lucruri si apoi CUM le faci.
Lasa fata in pace for now. Arata-i cateva chestii de mate aplicata ca sa vezi daca are ceva chemare spre partea asta.
NOU
+1
Programarea e nu doar folosirea unui limbaj, ci și gândirea care trebuie să fie acolo înainte de a trece la a scrie cod.
6-12 luni să înveți un limbaj nou, dar până acolo trebuie cunoștințe diverse, că până bagi codul trebuie să ai idee cum folosești un IDE, cum funcționează lucrurile până ajunge să fie ceva afișat pe ecran etc. 🙂
NOU
jizăs, oameni buni, copilul are 7 ANI! 7 ani… La 7 ani încă îl mai așteptam pe Moșu’ și mă jucam cu indieni de plastic, abia reușeam să citesc 2 fraze din „Povești nemuritoare” și mă tortura mama ca să învăț tabla înmulțirii (chestie pentru care o urăsc și astăzi). Singurul comentariu care merită băgat în seamă este cel cu Hour of Code, copilul are DOAR 7 ani! Programare de-adevăratelea va putea face abia când va stăpâni bine noțiunea de ecuație de gradul 2. Fiindcă grafice, fiindcă funcții și fiindcă algoritmi.
Și pyton o fi cel mai simplu program dpdv al sintaxei, dar e „așa de bine explicat pe net” că nu-l înțelegi, la fel cum nu înțelegi nici un alt limbaj corect fără să treci prin logica C++. Deci da, în ordinea creării lor, limbajele pot fi înțelese și aplicate.
NOU
Python e destul de usor pentru inceput si sunt cursuri pentru el gramada.
NOU
nu mai bine o duci spre ceva mai vizual? un unity, unreal engine sau ceva de genu? vede instant ce face si are si tangente cu programarea (unity parca lucra cu java script).
NOU
Daca ar fi copilul meu, i-as da C sau C++. Daca ii plac astea isi poate alege singur pe urma. In 10-15 ani cand o sa iasa ia pe piata muncii cine stie ce joburi vor avea cautare. Eu o ard cu niste chestii ce se vor limbaje de programare inventate acum 50 de ani si o duc bine.
Asa daca are bazele isi poate gasi singur cand o fi mai mare. Partea de introducere e frumoasa la toate, pe urma poate vedea ca de fapt ar vrea sa faca altceva si nu as vrea sa fiu ca maicamea sa visez ca o sa mearga copilul la olimpiade si el abia sa treaca clasa.
NOU
prea multe comentarii sa citesc tot… deci in caz ca s-a zis deja, asta e
incepe cu niste robotei pt copii gen lego midnstorm sau ceva la fel
am un nepotel de 8 ani care leaga motoare si trage de grafice pe acolo sa faca tot felul de chestii
de la grafica la intrat un pic in cod (mod text) nu e mare diferenta
NOU
rahat nu mai pot edita…
cat despre limbaje de programare: (cel mai usor cred ca in WEB – vede relativ repede rezultatul si isi poate face ‘oracolul’ ca o pagina):
– incepe frumusel cu HTML dupa pune niste functionalitate simpla in JavaScript
– cand ajunge acolo poate adauga ceva functionalitate simpla in PHP/Python
NOU
Eu am inceput programarea la 14 ani. La varsta aia am inceput cu Pascal si Assambler. Pentru mine a fost fascinat, mi-a placut foarte mult, desi tot ce vedeam in fata ochilor era un terminal. Nu am avut nevoie de chestii “flashy” si “colorate”. Mi-a placut extrem de mult ideea de a controla bucata aia de metal si plastic cu ajutorul programului scris de mine.
Copiii tai fiind mai tineri, s-ar putea sa nu fie receptivi la C, e posibil sa fie prea abstract pentru ei. Eu zic ca pana mai cresc, isi pot antrena gandirea algoritmica prin alte metode decat programarea propriu zisa. De exemplu, printr-o activitate creativa, gen muzica.
Sa inveti sa canti la pian o piesa, presupune sa inveti sa spargi o piesa in bucati mici, din ce in ce mai simple si sa o inveti bucata cu bucata. Cam asta se intampla si cand programezi: trebuie
sa fi capabil sa spargi o problema mare in probleme mici, din ce in ce mai simple, rezolvabile. Eu am facut pian si desen de la 7 ani pana pe la 13 aprox. si simt ca m-a ajutat in cariera de developer.
NOU
De când aşteptau IT-iştii blogului un aşa articol :))
Când am învăţat eu informatica nici nu erau calculatoare. Desenam scheme logice pe tablă. Au ajuns târziu calculatoarele în Vâlcea, dar şi când au ajuns…
NOU
…le-au si luat baietii la carding
NOU
if-end if; if-then. Pascal, FoxPro. 386.
486 era deja cel mai mega-lux, îl aveau doar băieții care făceau mai mult decât să-și aranjeze frizura-n monitor. Ce vremuri!
NOU
poti incepe de aici si vezi tu mai departe www.edutopia.org/blog/teach-kids-coding-resources-parents-matt-davis
NOU
Juniorul meu a început, pe la 4 ani jumătate, cu Scratch. Ni s-a părut cel mai potrivit pentru foarte-începuturi. Mai apoi alegerea e în funcție de cum se descurcă și de ce anume îi place să facă pe partea de programare.
NOU
If you put a million monkeys at a million keyboards, one of them will eventually write a Java program.
The rest of them will write Perl programs.
NOU
Recomand: www.academia.inventeaza.ro/modulul-i-pregatitor
Am fost la ei cu juniorul, la un curs demonstrativ, gratuit. A fost foarte interesant si au fost si explicatii pentru parinti.
Deocamdata am initiat alte activitati extra si aceasta a ramas pe un plan secund.
NOU
Bre Arhi, da nu mai bine ii facem lipeala cu fiu-meu ?
Frumusel e, prost nu-i, stie să explice programare și e și diplomat.
Se cunosc copiii pe skype, mai un cod, mai o glumă – în final poate ajungi din nou la Timișoara.
NOU
Dar daca planuiti sa o ghidati spre Mate-Info la liceu, acolo se face C/C++. Nu stiu licee in care sa se predea Java / Phyton etc… Java dupa parerea mea ar trebui sa pice din start, pentru ca mai intai trebuie sa stii algoritmica iar mai apoi POO. Nici in facultate nu se face Java din anul I, ci abia din anul II.
C/C++ invatat in liceu nu este orientat obiect, este programare procedurala – si este totally awesome pentru algoritmi, dar NU la varsta asta evident.
Cat pentru acum, mai ok mi s-ar parea sa gasiti jocuri si exercitii de tipul testelor de inteligenta sau a celor GMAT in ideea de a face niste conexiuni rapide, de a observa niste patternuri, de a incerca sa gasesca solutii cat mai simple (si de aici sa vina niste trasaturi care vor ajuta mai apoi cand va veni vorba de programare).
Pana la programare, asteapta clasa 5 – 6 cand o sa faceti teme la mate si va trebui sa ii explici pe intelesul unui copil de ce “treci cu semn schimbat dupa egal ” (x+2=3 => x=3-2), lucru ce tie poate iti pare foarte banal…
NOU
Cauta manualele de informatica facute de Tudor Sorin, are omul un fel de a explica incat e imposibil sa nu iti placa sau sa nu intelegi informatica…
NOU
Scratch
NOU
Daca vrei un argument de ce sa nu-ti inveti copii programare: Poate provoca autism!
Unele comentarii de aici relateaza asta 🙂
NOU
nu e de la programare, de regula e de la vaccinuri
NOU
+ 100000
NOU
Incearca cu cei de la Coder Dojo. In Iasi sunt chiar misto. Imposibil sa nu gasesti in Bucuresti. Si sigur sunt si in Timisoara.
NOU
Prastie++, cornete#, lasa copilul sa copilareasca.
NOU
Cumpara un Raspberry Pi kit pentru copii.
www.makeuseof.com/tag/5-reasons-give-kids-raspberry-pi/
NOU
Sfatul meu e sa nu terorizezi copila cu C#, Java sau mai rau C/C++ de la inceput. Garantat o sa se scarbeasca pe viata de scris cod. Ca noi care lucram acum in domeniu am invatat programare acum 20 de ani in Basic, Pascal sau C e irelevant, vremurile s-au schimbat.
Scratch sau ceva similar bazat pe programare vizuala e mult mai indicat!
Daca-i place pe urma poate trece la pagini web, pentru inceput doar pagini statice HTML cu CSS, pe urma si Javascript! Ideea e ca rezultatul va fi ceva pe care-l va percepe ca fiind ceva util, pagini web probabil a vazut dinainte sa inceapa sa vorbeasca, spre deosebire de un program de incepator in C care dupa ce-l ruleaza va scrie niste text in consola, wow! De invatat sintaxe si algoritmi o sa aiba timp destul la liceu, facultate daca va dori sa mearga pe drumul asta.
NOU
Ce multe comentarii care nu țin cont de faptul ca vorbim de copii. 🙂
Ca fondator de agenție si antreprenor care a construit produse digitale, dar si ca tata, îți recomand sa îndrumi copilul spre mobile cu www.apple.com/swift/playgrounds/.
NOU
Vad ca nu a zis nimeni: visual basic, este foarte simplu, este cu cuvinte nu cu semne, sintaxa simpla si cel mai important are interfata grafic, deci poate sa si vada ce face. Cauta visual studio de la microsoft, in el ai: vb.net, c++, c#, phyton.
NOU
noi lucram C# cu copii in Buftea si Bucuresti – 9-12 ani – si fac fata bine. am inceput cu 1h/saptamana si am crescut intre timp la 1h30 sedinta in Bucuresti intrucat pricep si se misca repede. din toamna incepem iar grupa de incepatori si va asteptam cu drag
detalii pe site www.learninghub.ro/Programare-pentru-copii
NOU
Pentru seniori nimic? 😀
NOU
Ce nu intelege lumea pe aici e ca omul vrea sa ii antreneze putin mintea copilului, nu sa o angajeze la NASA momentan. Deci argumentele pe baza de remuneratie viitoare ( as peste 10+ ani) mi se par irelevante.
Ca om care a a avut 0 contact cu programarea pana de curand, Java mi s-a parut destul de intuitiv. Si relativ logic. Cred ca e un punct de pornire bun pentru ea, plus ca e destul de lipsit de notiuni abstracte.
NOU
Jocul Human Resource Machine , pe Steam . L-au jucat nepotetii mei de 8 ani cu brio. Este cu pseudocod, si mi se pare cel mai important de invatat pentru inceput. Apoi sintaxa diverselor limbaje de programare se invata usor.
NOU
Eu cred ca pentru un copil e important sa vada rapid rezultatul muncii pe ecran ca sa prinda gustul programarii. Python e un limbaj cu sintaxa naturala care mi se pare ca ar merge pentru un copil care are destula rabdare incat sa stea un pic domeniul asta, si ma gandesc la print(“Hello world”) ca exemplu. Cand am inceput eu acum o mie de ani sa invat C++ ca mi-a spus mie cineva mai mare ca ala e cel mai tare, mi-a murit tot cheful cand am vazut cat carnat trebuia sa scriu pentru un linie obosita afisata pe ecran.
NOU
da, asa am simtit si eu cand am deschis prima oara C++
NOU
Python e cel mai bun limbaj pedagogic si, in mod parodoxal, se fac chestii foarte mari si serioase cu el, cum ar fi Instagram.
Python e un limbaj actual si e utilizat de multi ani pentru aplicatii desktop, dar si pentru web.
Alte limbaje pedagogice sunt depasite astazi: BASIC sau Pascal.
Cred ca se tin de glume cei care zic sa inveti programare cu C++ sau nu stiu ce vorbesc.
NOU
Fortran.
Sau poate un TurboPascal/Basic. As recomanda TurboPascal.
Evident vor fi unii care vor sari ca sunt limbaje invechite. Nu sunt. Sunt chiar foarte bune pentru deprinderile de baza (si nu numai) din programare.
NOU
N-am răbdare să citesc toate comentariile, să văd dacă printre comentarii de habarniști sunt și chestii utile.
Recomandările mele: Playgrounds pe iPad și Tynker pe altele dispozitive.
NOU
recomand calduros “chip and dale”, de marele programator walt disney. daca intelege umorul turbat din conflictele homerice ale celor 2 cu donald…este etapa bifata pentru 7 ani.
NOU
Initierea in ale programarii pe PC (si nu numai) e mai usoara daca incepi cu un limbaj de scripting (gen Python). Daca incepi cu un limbaj de programare gen C, C++, Java, etc., e ca si cum ai incepe sa inveti design interior cu mobila dezasamblata de la Ikea. Un limbaj de scripting iti ofera foarte multe functii deja implementate si te ajuta sa vezi rezultatele mult mai repede, ceea ce e foarte important pentru un copil. Multe universitati (nu la noi in tara) au cursul introductiv in programare (unde nu ai nevoie de cunostinte prealabile) bazat pe scripting. La urma urmei trebuie sa inveti principiile programarii si nu sintaxa unui limbaj. Cu cat limbajul e mai simplu cu atat rezultatele se vad mai repede si intr-un mod mai placut. S-ar putea ca sa existe limbaje speciale pentru copii (fara vreo utilitate profesionala), nu am cautat inca asa ceva. Poate revin.
NOU
en.wikipedia.org/wiki/List_of_educational_programming_languages#Children
www.lifewire.com/kids-programming-languages-4125938