Pentru cei mai mulţi care nu au programat niciodată, învăţarea programării computerelor pare o sarcină de o dificultate ieşită din comun. Cu toate acestea, graţie apariţiei unor surse foarte bune în spaţiul online astăzi este mai uşor ca niciodată să înveţi, de unul singur, programarea. Am început să învăţ să programez de curând şi pot spune că să înveţi cât să-ţi creezi propriul prototip (propria aplicaţie) nu este atât de greu pe cât poate părea. În fapt, dacă vrei să ai un prototip funcţional în două luni, fără a sări însă vreo zi fără a lucra, este complet la îndemână.

 



Mai jos am creionat o cale simplă, care reflectă în cea mai bună parte ce am făcut eu, pentru a ajunge de la experienţă zero în programare la crearea unui prototip funcţional (veţi vedea mai jos despre ce e vorba) în 8 săptămâni.

Introducere în jargonul specific (10 minute)

Terminologia specifică domeniului poate părea un obstacol de netrecut ori care creează o mare confuzie la început. Fondatorul Yipit, Vin Vacanti, prezintă excelent principalii termeni pe care trebuie să-i înţelegi înainte de a te apuca de treabă.


Introducere în Phyton şi tehnicile generale de programare (1 săptămână)

:: Learn Python the Hard Way. În ciuda titlului, formatul cărţii face ca învăţarea conceptelor de bază să fie uşoară, iar cele mai multe lecţii durează mai puţin de 10 minute. Totuşi, cred că formatul nu mai funcţionează după lecţia 42, când se vorbeşte despre subiecte mai avansate, aşa că vă recomand să renunţaţi acolo şi să continuaţi cu pasul următor.
:: Clasa Python de la Google. Citeşte informaţia ori urmăreşte videoclipurile şi rezolvă toate exerciţiile, fără a te uita la răspunsuri. Încercările nereuşite pe timpul efortului de a rezolva exerciţiile au reprezentat cea mai fructuoasă experienţă; dacă m-aş fi uitat la răspunsuri, convins fiind că am înţeles despre ce e vorba, aş fi rămas cu mult mai puţine.

Aceste două resurse sunt interschimbabile şi cumva complementare. Vă recomand să încercaţi primele lecţii din ambele părţi pentru a vedea care vi se potriveşte mai bine. Odată terminat un curs, vă recomand să-l parcurgeţi rapid şi pe celălalt, pentru a acumula ceea ce nu ştiţi deja.


Introducere în Django (1 săptămână)


:: Parcurge acest tutorial privind Django
:: Şterge tot codul
:: Reia tutorialul de la zero.

Prima dată când am parcurs acest tutorial nu am făcut altceva decât să urmăresc instrucțiunile, fără a înţelege mare lucru din paşii pe care i-am făcut. La a doua parcurgere a materialului, în schimb, m-am focalizat pe înțelegerea codului, a modului în care diversele componente funcţionează împreună.


Aprofundarea Python şi a conceptelor generale ale programării (2-4 săptămâni)

:: Cursul de Ştiinţa computerelor de pe Udacity. Cursurile Udacity sunt formate din 7 sesiuni (2-3 ore pe sesiune) pe care le poţi parcurge în propriul tău ritm. Sunt un mare fan al pedagogiei de pe Udacity, aşa că recomand şi orele de programare, nivel intermediar ori cele de programare web.
:: Unitatea 1 a cursului de Ştiinţa computerelor - MIT. Foarte bine predat şi foarte abordabil.

Din nou, recomand încercarea amândurora şi urmarea integrală a celui socotit mai potrivit.


Construirea unei aplicaţii web simple (1 săptămână)

Parcurge câteva exerciţii din Django prin exemple. Aceste exerciţii, deşi nu sunt la fel bune ca tutorialul Django, asigură totuşi o ghidare rezonabilă, aşa că le-am găsit potrivite pentru o introducere în aplicaţii propriu-zise.


Construieşte-ţi propriul prototip (o săptămână)

Acum este timpul să-ţi construieşti propria aplicaţie, propriul prototip. Da, vei fi jenat de cum va arăta, dar asta e ideea!

Asta e. 8 săptămâni şi ai ajuns la o aplicaţie funcţională. Nu foarte dificil, la urma urmelor, nu?


Următorii paşi

Este limpede că în 8 săptămâni nu vei ajunge un inginer software. Dacă vrei să creezi aplicaţii web profesionale, atunci e nevoie de ceva mai mult decât cele învăţate dacă ai parcurs toţi paşii din acest articol.

Iată mai jos câteva surse suplimentare, unde poţi învăţa programare:

Codeacademy
Harvard intro Computer Science course
Stanford iPhone development class

Traducere după How I Taught Myself to Code in Eight Weeks