mcmarius / poo

Laborator de Programare Orientată pe Obiecte - Facultatea de Matematică și Informatică, Universitatea din București

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Programare Orientată pe Obiecte

Mod de notare

La alegere:

  • un proiect format din 3 teme/părți
  • un proiect pentru prima temă și un alt proiect pentru temele 2 și 3

Nota maximă este 12 (2p bonus). Evaluarea se face pe tot parcursul semestrului.

Prezența este obligatorie pentru minim 3-6 laboratoare ca să primiți note pe teme!

Cu toate acestea... simpla prezență la ore NU vă garantează promovarea laboratorului/colocviului/examenului!

Este necesar să vă pregătiți pe cont propriu pentru colocviu și examen!!

NU veniți cu temele la sfârșitul semestrului pentru că nu veți intra în examen!

Am făcut scrisul mai mare ca să nu mai aveți scuze.

Repet:

▗▖ ▖▗  ▖                 ▝   ▗   ▝                   ▗              ▝▜      
▐▚ ▌▐  ▌    ▗ ▗  ▄▖ ▗▗▖ ▗▄  ▗▟▄ ▗▄       ▄▖ ▗ ▗     ▗▟▄  ▄▖ ▗▄▄  ▄▖  ▐   ▄▖ 
▐▐▖▌▐  ▌    ▝▖▞ ▐▘▐ ▐▘▐  ▐   ▐   ▐      ▐▘▝ ▐ ▐      ▐  ▐▘▐ ▐▐▐ ▐▘▐  ▐  ▐▘▐ 
▐ ▌▌▐  ▌     ▙▌ ▐▀▀ ▐ ▐  ▐   ▐   ▐      ▐   ▐ ▐      ▐  ▐▀▀ ▐▐▐ ▐▀▀  ▐  ▐▀▀ 
▐ ▐▌▝▄▄▘     ▐  ▝▙▞ ▐ ▐ ▗▟▄  ▝▄ ▗▟▄     ▝▙▞ ▝▄▜      ▝▄ ▝▙▞ ▐▐▐ ▝▙▞  ▝▄ ▝▙▞ 
                             ▗▖                                             
                             ▝

                                                                                                
▝▜               ▗▀  ▞▚          ▝   ▗      ▝▜                           ▗          ▝▜       ▝  
 ▐   ▄▖      ▄▖ ▗▟▄  ▄▖  ▖▄  ▄▖ ▗▄  ▗▟▄ ▗ ▗  ▐       ▄▖  ▄▖ ▗▄▄  ▄▖  ▄▖ ▗▟▄  ▖▄ ▗ ▗  ▐  ▗ ▗ ▗▄  
 ▐  ▝ ▐     ▐ ▝  ▐  ▝ ▐  ▛ ▘▐ ▝  ▐   ▐  ▐ ▐  ▐      ▐ ▝ ▐▘▐ ▐▐▐ ▐▘▐ ▐ ▝  ▐   ▛ ▘▐ ▐  ▐  ▐ ▐  ▐  
 ▐  ▗▀▜      ▀▚  ▐  ▗▀▜  ▌   ▀▚  ▐   ▐  ▐ ▐  ▐       ▀▚ ▐▀▀ ▐▐▐ ▐▀▀  ▀▚  ▐   ▌  ▐ ▐  ▐  ▐ ▐  ▐  
 ▝▄ ▝▄▜     ▝▄▞  ▐  ▝▄▜  ▌  ▝▄▞ ▗▟▄  ▝▄ ▝▄▜  ▝▄     ▝▄▞ ▝▙▞ ▐▐▐ ▝▙▞ ▝▄▞  ▝▄  ▌  ▝▄▜  ▝▄ ▝▄▜ ▗▟▄ 
                             ▄                                                                  
                             ▘

             ▗                   ▚▞             
▗▄▖  ▄▖ ▗▗▖ ▗▟▄  ▖▄ ▗ ▗      ▄▖  ▄▖             
▐▘▜ ▐▘▐ ▐▘▐  ▐   ▛ ▘▐ ▐     ▐▘▝ ▝ ▐             
▐ ▐ ▐▀▀ ▐ ▐  ▐   ▌  ▐ ▐     ▐   ▗▀▜             
▐▙▛ ▝▙▞ ▐ ▐  ▝▄  ▌  ▝▄▜     ▝▙▞ ▝▄▜  ▐   ▐   ▐  
▐                                               
▝

                                                         ▞▚                                     
▗▖ ▖▗  ▖    ▗  ▖▗▄▄▖▄▄▄▖▗▄▄     ▗▄▄ ▗▖ ▖▄▄▄▖▗▄▄  ▗▖     ▗▄▄ ▗▖ ▖    ▗▄▄▖▗  ▖ ▗▖ ▗  ▖▗▄▄▖▗▖ ▖ ▗  
▐▚ ▌▐  ▌    ▝▖▗▘▐    ▐   ▐       ▐  ▐▚ ▌ ▐  ▐ ▝▌ ▐▌      ▐  ▐▚ ▌    ▐    ▌▐  ▐▌ ▐▌▐▌▐   ▐▚ ▌ ▐  
▐▐▖▌▐  ▌     ▌▐ ▐▄▄▖ ▐   ▐       ▐  ▐▐▖▌ ▐  ▐▄▄▘ ▌▐      ▐  ▐▐▖▌    ▐▄▄▖ ▐▌  ▌▐ ▐▐▌▌▐▄▄▖▐▐▖▌ ▐  
▐ ▌▌▐  ▌     ▚▞ ▐    ▐   ▐       ▐  ▐ ▌▌ ▐  ▐ ▝▖ ▙▟      ▐  ▐ ▌▌    ▐    ▞▚  ▙▟ ▐▝▘▌▐   ▐ ▌▌ ▝  
▐ ▐▌▝▄▄▘     ▐▌ ▐▄▄▖ ▐  ▗▟▄     ▗▟▄ ▐ ▐▌ ▐  ▐  ▘▐  ▌    ▗▟▄ ▐ ▐▌    ▐▄▄▖▗▘▝▖▐  ▌▐  ▌▐▄▄▖▐ ▐▌ ▐  
                     ▄                                                                          
                     ▘

Aveți libertatea să vă alegeți tema/temele de proiect.

Dacă alegeți un singur proiect, trebuie să stabiliți de la început ce vreți să implementați pe tot parcursul acestui semestru.

Este bine să prioritizați implementarea funcționalităților pe care le considerați esențiale indiferent dacă faceți un proiect sau două. Puteți folosi biblioteci externe, însă acestea trebuie să fie portabile.

Ca să vă faceți o idee despre ce ați putea face, uitați-vă pe proiectele din anii trecuți.

Teme

Tema 1 - compunere, constructori, cc, op=, destr, op<<

Tema 2 - moștenire, virtual, excepții, dynamic_cast

Tema 3 - templates (șabloane), design patterns (șabloane de proiectare)


Resurse

Singurele resurse pe care le consider de încredere sunt:

Toate celelalte resurse pe care le folosiți ar trebui să le considerați nesigure, chiar dacă se află în bibliografia de la curs.

De evitat:

  • orice apărut înainte de 2011: de ce? lucrurile s-au schimbat foarte mult de atunci
    • sunt câteva excepții, dar prefer să îmi asum acest risc
    • următoarele resurse învechite (aici și aici) au fost reactualizate parțial aici
  • cărțile lui Herbert Schildt: de ce? pentru că și pentru că și... pentru că
  • cplusplus.com deoarece nu este actualizat și/sau are informații incomplete
  • GeeksforGeeks: util pentru algoritmică (unele voci pe internet contestă și asta), dar la partea de programare trebuie evitat
    • ca exemplu, încurajează utilizarea headerelor nonstandard (<bits/stdc++.h>)
    • aproape oricine poate scrie articole, nu este neapărat verificată corectitudinea soluțiilor

Se poate observa că avem (mult) mai multe resurse de evitat decât resurse de încredere.


Diverse


Star History Chart

About

Laborator de Programare Orientată pe Obiecte - Facultatea de Matematică și Informatică, Universitatea din București

License:The Unlicense


Languages

Language:C++ 98.8%Language:CMake 1.2%