-
Notifications
You must be signed in to change notification settings - Fork 7
/
planificare_laborator.txt
72 lines (55 loc) · 3.45 KB
/
planificare_laborator.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
L1 configurare compilator/editor/git, recapitulare C, intro C++
L2 intro OOP: cc/op=/destr pentru tema 1; configurare proiect
L3 op<<, cerințe tema 1
L4 recapitulare cerințe tema 1, depanare/ajutor teme
L5 intro moșteniri
L6 moșteniri detaliat, virtual
L7 (const) static, intro excepții
L8 excepții detaliat
L9 rezolvare parțială colocviu + discuții, depanare teme
L10 săpt cu 1 Mai, apoi vacanța de Paște (2024)
L11 SOLID, design patterns
L12 templates, CRTP
L13 depanare teme, subiecte de examen
L14 subiecte de examen
Teme pentru fiecare săptămână:
S1: alegere proiect
S2: identificare clase, compunere, constructori de inițializare, stabilit câteva funcționalități
S3: constructor de copiere, operator=, destructor (regula celor 3), operator<<
S4: funcționalități
S5: predare tema 1
S6: clase noi pentru moștenire, identificat funcționalitatea
S7: virtual, cc/op=/destr pt clasele cu pointeri, copy&swap
S8: ierarhie de excepții
S9: predare tema 2
S10: vacanță
S11: design patterns
S12: templates
S13: predare tema 3
S14: pregătire pentru colocviu/examen
Observațîe esențială! Repository-ul template folosește warnings as errors, dar pentru examen warnings nu contează, deci codul ar compila în acele situații.
Din explicațiile din laboratoare (în special t2), săriți peste ce nu înțelegeți și reluațî ulterior.
Nu vă bazați doar pe prezența de la curs/seminar/laborator. Simpla prezență nu este suficientă pentru promovare. Exersați pe cont propriu!
Old (?) stuff:
De folosit utilitarul `script` (?).
Din feedback (de găsit la ce laboratoare să le discutăm):
- atenționare mai din timp referitor la promovarea laboratorului
- nu știu ce să zic... nu este un semnal de alarmă faptul că la mai puțin de o lună până la încheierea semestrului nu ați primit nota pe prima temă?
- am făcut scrisul și mai mare :) o să încerc să vă atenționez de mai multe ori...
- exemple concrete la moșteniri (de văzut dacă s-a rezolvat cu t2)
- rezolvarea unui colocviu pentru înțelegerea moștenirilor:
- nu sunt de acord să vin eu cu subiect de colocviu, așa e totul pe tavă
- în cadrul laboratorului vom rezolva parțial un singur subiect de colocviu (pe care îl alegeți voi; eu nu am subiecte); consider pierdere de timp să rezolvăm complet un subiect sau mai multe subiecte în orele de laborator
- propunerea mea este să încercați voi să le rezolvați și discutăm pe marginea rezolvărilor
- dificultăți în alegerea temelor (rezolvat cu temă separată pt t1? am scris deja în cel puțin 2 locuri, dar am mai pus links către teme din ani anteriori)
- funcții și variabile `const` (am scris în cerințe cât mai multe `const`-uri și semnalează și cppcheck, but oh well)
- pointeri simpli (acoperiți de t2?? + 2 labs pt discutat subiecte de examen) și referințe
- transmiterea parametrilor prin pointeri/refs const
- conversii:
- const int -> int
- int -> int&
- int -> int* (de ce am avea nevoie de o astfel de conversie? este cel mai probabil bug, primim și warning... de ce sunt subiecte de examen cu așa ceva? nu știu, nu eu le-am făcut...)
- problema este că regulile de conversie implicită sunt foaaaaarte complicate: de aceea trebuie lucrat (foarte) mult pe cont propriu
- de preluat de aici: https://github.com/mcmarius/pong-plus-plus/blob/443a29a72e5746c210165cb192385b44c48694f4/main.cpp#L140-L178
- la templates: pe scurt, nu se fac deloc conversii
- tba