Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pa:laboratoare:laborator-00 [2021/03/02 21:42]
darius.neatu [De ce PA?]
pa:laboratoare:laborator-00 [2022/03/07 16:13] (current)
darius.neatu [Debugging]
Line 1: Line 1:
 ====== Laborator 00: Intro to PA  ====== ====== Laborator 00: Intro to PA  ======
-Responsabili / autori: 
-  * [[neatudarius@gmail.com|Darius-Florentin Neațu (2017-2021)]] 
-  * [[radunichita99@gmail.com | Radu Nichita (2021)]] 
-  * [[cristianolaru99@gmail.com | Cristian Olaru (2021)]] 
-  * [[mirunaelena.banu@gmail.com ​ | Miruna-Elena Banu (2021)]] 
-  * [[maraioana9967@gmail.com | Mara-Ioana Nicolae (2021)]] 
- 
 > PA =  Proiectarea Algoritmilor > PA =  Proiectarea Algoritmilor
 ===== De ce PA? ===== ===== De ce PA? =====
Line 12: Line 5:
  
 ==== Ce este un algoritm? ==== ==== Ce este un algoritm? ====
 +
 O succesiune determinată de pași care prelucrează datele de intrare pentru a obține datele de ieșire dorite. ​ O succesiune determinată de pași care prelucrează datele de intrare pentru a obține datele de ieșire dorite. ​
  
-====  De ce ne trebuie algoritmi? ==== + 
-Toate aplicațiile au un scop care poate fi atins folosind diverse metodelogica aplicației este împachetă sub diverși algoritmi specifici.+{{:pa::​new_pa:​algo.png?500 |}} 
  
 ====  De ce avem nevoie de algoritmi eficienți? ====  ====  De ce avem nevoie de algoritmi eficienți? ==== 
Line 21: Line 16:
  
 ====  De ce PA? ====  ====  De ce PA? ==== 
-> "​Pentru că scrie în orar.Ț (Radu Nichita, 2021)+> "​Pentru că scrie în orar." ​(Radu Nichita, 2021)
 > "​Pentru că m-a pus mama să termin ACS." (Cristian Olaru, 2021) > "​Pentru că m-a pus mama să termin ACS." (Cristian Olaru, 2021)
-> "Gigel be with you!" (Darius Neațu, 2017)+> "​Pentru că nu există seriale pe Netflix mai lungi decât laburile lui Darius."​ (Miruna Banu, 2021)  
 +> "Gigel be with you!" (Darius-Florentin ​Neațu, 2017)
  
  
Line 33: Line 29:
  
 ===== Ce vom face? ===== ===== Ce vom face? =====
-Vom aprofunda elementele fundamentale necesare rezolvării fiecărei clase de probleme analizate, prezentând mai mulți algoritmi pentru fiecare problemă studiată și evidențiând pe cei optimi (eficienți). ​+Vom aprofunda elementele fundamentale necesare rezolvării fiecărei clase de probleme analizate, prezentând mai mulți algoritmi pentru fiecare problemă studiată și evidențiind pe cei optimi (eficienți). ​
  
 Pornind de la aceste elemente, vom accentua punctele de interes identificate,​ descoperind șabloane de rezolvare și modalități de construire a soluțiilor pentru o problemă. Pornind de la aceste elemente, vom accentua punctele de interes identificate,​ descoperind șabloane de rezolvare și modalități de construire a soluțiilor pentru o problemă.
Line 40: Line 36:
  
 ===== Limbaje de programare ===== ===== Limbaje de programare =====
-La PA este permisă folosirea limbajelor de programare: **C++** / **Java** / **C**. Din cauză că aproape orice algoritm studiat se bazează pe folosirea unor stucturi ​de date implementare, **NU** recomandăm folosirea limbajului C, întrucât bibliotecile standard nu au aceste structuri.+La PA este permisă folosirea limbajelor de programare: **C++** / **Java** / **C**. Din cauză că aproape orice algoritm studiat se bazează pe folosirea unor structuri ​de date implementate deja, **NU** recomandăm folosirea limbajului C, întrucât bibliotecile standard nu le conțin.
  
 ===== De ce C++? ===== ===== De ce C++? =====
Line 49: Line 45:
  
 ===== De ce nu alte limbaje? ===== ===== De ce nu alte limbaje? =====
-Considerăm că aceste 2 limbaje ​sunt 2 limbaje foarte folosite și că prin funcționalitățile oferite studentul se poate concentra efectiv pe implementarea algoritmilor și nu pe alte aspecte legate de limbaj.+Considerăm că acestea ​sunt 2 limbaje foarte folosite și căprin funcționalitățile oferitestudentul se poate concentra efectiv pe implementarea algoritmilor și nu pe alte aspecte legate de limbaj.
  
 ===== Coding Style ===== ===== Coding Style =====
Line 60: Line 56:
  
  
 +===== Debugging =====
 +Pe parcursul semestrului,​ vă poate fi util să știți cum se folosește un debugger pentru a găsi probleme într-un mod rapid. Vă recomandăm articolul [[https://​ocw.cs.pub.ro/​courses/​programare/​tutoriale/​debugging | PC@Debugging]] pentru a vă reaminti de cum folosim GDB atât din CLI cât și prin intermediul unui IDE.
 ====== Desfășurare laborator ===== ====== Desfășurare laborator =====
  
-În prima săptămână se va clone repo-ul de laborator conform instrucțiunilor de pe pagina [[https://​ocw.cs.pub.ro/​courses/​pa/​laboratoare/​pa-lab |pa-lab]]. În fiecare săptămână se rulează comanda "git pull" pentru obținerea scheletului actualizat înainte de fiecare laborator+În prima săptămână se va clona repo-ul de laborator conform instrucțiunilor de pe pagina [[https://​ocw.cs.pub.ro/​courses/​pa/​laboratoare/​pa-lab |pa-lab]]. În fiecare săptămână se rulează comanda "git pull" pentru obținerea scheletului actualizat înainte de fiecare laborator.
- +
-În acest an, laboratorul valorează **0p**. Acesta se desfășoară sub formă de seminar: asistentul prezintă algoritmii studiați și rezolvă probleme împreună cu studenții.+
  
 Secțiunile de **Exerciții ** / **Bonus** / **Extra** reprezintă seturi de probleme grupate pe nivele de dificultate (de la ușor la greu). Recomandăm rezolvarea tuturor exercițiilor propuse, pentru înțelegerea algoritmilor studiați. Secțiunile de **Exerciții ** / **Bonus** / **Extra** reprezintă seturi de probleme grupate pe nivele de dificultate (de la ușor la greu). Recomandăm rezolvarea tuturor exercițiilor propuse, pentru înțelegerea algoritmilor studiați.
pa/laboratoare/laborator-00.1614714168.txt.gz · Last modified: 2021/03/02 21:42 by darius.neatu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0