Algorithms & Data Structures – un nou curs Wantsome pentru programatorii care doresc să-și dezvolte gândirea logică, să-și însușească strategii de rezolvare a problemelor și potențialul de avansare în carieră

Știai că potențialul de avansare în carieră este una dintre cele mai importante abilități căutate de manageri și specialiști în resurse umane la un candidat sau angajat propriu? Pentru o companie, costul înlocuirii unui membru al echipei este de aproximativ 1,5 x salariul acestuia. Astfel, interesul și atenția companiei cresc pentru acei candidați interesați să crească și să se adapteze ușor în situații noi, nu doar să facă ceea ce știu. Și adevărul este că, pentru a fi un programator eficient nu este suficient să cunoști doar un limbaj de programare, oricât de bine ai face-o.

În întâmpinarea acestei realități, mentorii Wantsome au pregătit o nouă provocare de studiu pentru cei care cunosc deja tainele IT-ului și își doresc mai mult de la ei, mai repede și mai ușor: un curs strategic care ajută în exersarea gândirii logice pentru rezolvarea problemelor și găsirea manierei optime de a ajunge la soluții. Fiindcă, de obicei, prima soluție găsită în abordarea unui proiect nu e și cea mai eficientă și mereu este loc de îmbunătățiri: durata de execuție, resursele consumate etc.

Un aspect foarte interesant al exersării gândirii logice este acela că aici nu apar noutăți sau trenduri. Dimpotrivă. Principiile de bază există de foarte multă vreme însă adesea le trecem cu vederea deoarece multe din aspecte sunt rezolvate acum automat. Astfel, e posibil ca acum, să ne scape lucruri elementare, a căror înțelegere în detaliu ne-ar ajuta foarte mult. Programa de studiu e structurată așa încât fiecare cursant să descopere aspectele tehnice cel mai des întâlnite în rezolvarea problemelor ce implică un algoritm: structuri de date de bază, algoritmi de bază și strategii de implementare a algoritmilor.

Ce vei învăța:

Cunoștințele pe care le vei dobândi urmând cursul Algorithms & Data Structures sunt esențiale în „cultura generală tehnică” a unui programator:

În primul rând, în cadrul său învățăm să folosim structurile de date optime în rezolvarea unor tipuri de probleme, iar acest demers ne ajută să obținem timpi de execuție mai buni și să consumăm mai puțină memorie. În al doilea rând, vom învăța strategii de rezolvare a unor probleme. Un exemplu de strategie este cea de tipul divide et conquer: descompunem o problemă/un task în mai multe subprobleme mai mici, mai simplu de rezolvat și apoi combinăm soluțiile subproblemelor pentru a soluționa problema-mamă” spune Vlad Holbură, unul dintre mentorii acestui curs.

Un alt avantaj al învățării algoritmilor standard este acela că te vei putea face înțeles/înțeleasă de toată lumea. Este practic ca și cum ai vorbi într-un limbaj comun, ușor de urmărit. Atfel, un developer nou care îți citește codul va recunoaște rapid un algoritm cu o structură comună decât unul complet diferit, creat de la 0.

La ce să te aștepți la finalul cursului:

– la puterea de a face alegerile potrivite în soluționarea unei anumite probleme. Pentru o formă eficientă de rezolvare ai nevoie de uneltele potrivite acestui job.

– la capacitatea de a înțelege în detaliu unele aspecte de programare care implică logică sau strategie, și nu neapărat sintaxa specifică de limbaj.

– la mai multe șanse de a te remarca într-un interviu pentru o poziție deschisă sau în echipă.

„Personal, eu aș angaja pe cineva care poate să explice, de exemplu, în pseudocod, cum caută un nod într-un arbore de căutare, chiar dacă nu are skill-ul pe care îl urmăresc în acel moment. Asta m-ar asigura că l-ar deprinde ușor” este de părere mentorul Andrei Scutariu.

Ce să ai la tine pentru a urma acest curs:

  • Laptop/PC, Cont pe github.com și IDE instalat pentru limbajul preferat (.NET – Visual Studio, Java – IntelliJ etc.)

 Cunoștințe minime necesare, în afară de un limbaj de programare:

  • structuri de date liniare din limbajul preferat (liste, arrays).

 Ce-o să îți placă cel mai tare:

  • acest curs va fi super dinamic și vor apărea mulți de „dacă” fiindcă că vom încerca împreună să înțelegem niște concepte cu care să rezolvăm diferite probleme.

 Îți recomandăm acest curs, mai ales dacă: 

  • lucrezi deja in IT, te plictisește rutina și vrei să descoperi strategii mai bune de „Te va ajuta în special pentru rezolvarea taskurilor de zi cu zi. De obicei, persoanele cu gândire logică devin foarte vizibile în echipe de lucru.”
  • ai finalizat un curs de bază de programare la Wantsome sau în altă școală IT
  • ești student în ultimul an la Informatică sau urmezi o altă facultate tehnică

 

 Cu cine vei studia Algorithms & Data Structures:

 Andrei Scutariu – .NET Trainer @Wantsome/Design Lead @Endava

Este unul dintre mentorii Wantsome care a avut oportunitatea de a susține training-uri atât pentru studenți cât și pentru companii. A intrat în Endava ca Junior Developer și, în 6 ani a ajuns Design Lead, într-o poziție care are foarte mult de a face cu gândirea logică și găsirea soluțiilor optime pe diferite nivele din cadrul companiei. Pe Andrei îl încântă mișcarea, vinurile, cafeaua și rezolvările ingenioase și este foarte motivat atunci când face lucrurile să meargă cum trebuie. O să-ți placă la Andrei faptul că e direct și punctual și trebuie să reții că așteaptă aceleași lucruri și din partea ta.

Vlad Holbură –  .NET Trainer @Wantsome/Senior .NET Developer @Endava

Vlad e unul dintre developerii care cred în puterea comunicării. El realizează azi cât de folositoare i-au fost cursurile de structuri de date si algoritmi urmate acum câțiva ani în cadrul Facultății de Automatică și Calculatoare cu câțiva ani, întrucât l-au ajutat să-și formeze gândirea strategică pe care o exersează zi de zi, la job. Consideră aceste cunoștințe un must-have pentru un IT-st, fie developer sau tester la început de drum. Pe Vlad îl stârnesc motocicleta, muntele și dezvoltarea personală iar motivația o găsește atunci când începe să se vadă luminița de la capătul tunelului. Îl vei aprecia pentru răbdarea și calmul său și vei surâde când îți va spune că IT-ul nu e neapărat mediul cel mai bun în care să umbli după câini cu colaci în coadă.

Vrei să studiezi algoritmi și structuri de date cu Andrei și Vlad? Află mai multe detalii aici!


Lexicon pe șleau:
Un algoritm: este o strategie de rezolvare a unei probleme. Un exemplu de algoritm este tipul de metodă utilizată strategic pentru a găsi un anumit număr într-o carte de telefoane. Dacă ai lua paginile la rând ai pierde foarte mult timp.
O structură de date: reprezintă o modalitate de a organiza informațiile în memoria calculatorului și modul de legătură între acestea. Sunt diferite structuri de date, cu diferite proprietatati, optimizate pe tipul de problema pe care trebuie sa o rezolvi. De exemplu exista structuri de date ce au propritate de “coadă – primul venit, primul servit”, sau structuri de date ce au propritate de „stivă – ultiml venit, primul servit” si multe altele. Deci clar trebuie folosite in functie de problema ce trebuie rezolvată.