Differences

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

Link to this comparison view

programare:teme_2019:tema3_2019_cbd [2019/12/15 16:00]
laurentiu.stefan97 [Trimitere temă]
programare:teme_2019:tema3_2019_cbd [2019/12/20 10:27] (current)
laurentiu.stefan97
Line 16: Line 16:
   * **13.12.2019** adaugat enunt;   * **13.12.2019** adaugat enunt;
   * **15.12.2019** actualizat enunt cu anumire precizari legate de bonus (numele executabilului);​   * **15.12.2019** actualizat enunt cu anumire precizari legate de bonus (numele executabilului);​
-  * **15.12.2019** adaugat checker+  * **15.12.2019** adaugat checker
 +  * **16.12.2019** actualizat teste filtre de pooling sa aiba doar dimensiune impara; 
 +  * **16.12.2019** actualizat enunt cu precizarea ca doar la task-ul 2 headerele imaginii trebuie modificate explicit; 
 +  * **20.12.2019** actualizat enunt la task-ul 2, acum sunt specificate explicit ce campuri din headere trebuie modificate
  
 **Scopul temei:** **Scopul temei:**
Line 120: Line 123:
 <note important>​ <note important>​
 Frame-ul atasat imaginii de mai sus are doar scopul de a evidentia marginiile imaginii intrucat fundalul paginii de wiki este tot alb. Frame-ul atasat imaginii de mai sus are doar scopul de a evidentia marginiile imaginii intrucat fundalul paginii de wiki este tot alb.
 +</​note>​
 +
 +<note important>​
 +La acest task veti avea de adus modificari si in headerele imaginii rezultat, dar numai in campurile **width** si **height** din Info Header!
 </​note>​ </​note>​
  
Line 455: Line 462:
 **Exemplu**\\ **Exemplu**\\
 <code c input.txt>​ <code c input.txt>​
-./​input/​images/​test1.bmp+test1.bmp
 ./​input/​filters/​filter1.txt ./​input/​filters/​filter1.txt
 ./​input/​pooling/​pooling1.txt ./​input/​pooling/​pooling1.txt
Line 476: Line 483:
  
   * **bmp_header.h**:​ headerul care contine declaratiile struct-urilor pe care le veti folosi in citirea unui fisier BMP;   * **bmp_header.h**:​ headerul care contine declaratiile struct-urilor pe care le veti folosi in citirea unui fisier BMP;
-  * **checker.zip**:​ checker-ul cu care puteti sa va testati implementarea local.+  * **checker.zip**: ​arhiva zip ce contine ​checker-ul cu care puteti sa va testati implementarea local.
  
-==== Trimitere ​temă ====+==== Trimitere ​tema ====
  
-Tema va putea fi trimisa folosind [[https://​v2.vmchecker.cs.pub.ro/​homepage/​|vmcheckerv2]], cursul **Programarea Calculatoarelor**,​ tema **Image Processing**.+Tema va fi trimisa folosind [[https://​v2.vmchecker.cs.pub.ro/​homepage/​|v2.vmchecker]], cursul **Programarea Calculatoarelor**,​ tema **Image Processing**.
  
 Punctajul: Punctajul:
Line 493: Line 500:
      * Fiti consistenti in ceea ce priveste [[programare:​coding-style|Coding Style-ul]].      * Fiti consistenti in ceea ce priveste [[programare:​coding-style|Coding Style-ul]].
      * Toate matricile si vectorii folositi se vor aloca **dinamic**,​ pe **heap**;      * Toate matricile si vectorii folositi se vor aloca **dinamic**,​ pe **heap**;
-     ​* ​Atunci cand scrieti o imagine (in format .bmp) **NU** modificati header-ele citite. Cu alte cuvinte ce headere ati citit aceleasi headere veti scrie (deoarece nici unul dintre task-uri nu necesita modificarea header-ului ​imaginii). In caz contrartestul se va puncta cu 0; +     * **Task-ul 2** este singurul in care aveti de modificat si headerele ​imaginii ​bmpin rest **nu veti avea de modificat nimic in headerele imaginii**;
-     <​hidden>​Exista o limita de timp de **60 de secunde** pentru fiecare test necesara pentru a testa tema pe vmchecker. Scopul cursului de programare nu este de a scrie algoritmi eficienti dar limita de 60 de secunde este de bun simt. In mod normal, o implementare obisnuita ar trebui sa ruleze in mai putin de 5s pe test.</​hidden>​+
      * Tema se va trimite pe vmchecker si se va testa local cu ajutorul checker-ului care va fi disponibil **in curand**;      * Tema se va trimite pe vmchecker si se va testa local cu ajutorul checker-ului care va fi disponibil **in curand**;
      * Pe vmchecker veti uploada o arhiva in format .zip care sa contina:      * Pe vmchecker veti uploada o arhiva in format .zip care sa contina:
Line 501: Line 507:
           - **README**, în care trebuie să dați detalii despre implementare,​ de ce ați ales să rezolvați într-un anumit fel, etc.           - **README**, în care trebuie să dați detalii despre implementare,​ de ce ați ales să rezolvați într-un anumit fel, etc.
      * Daca rezolvati doar o parte din task-uri asigurati-va ca pe celelalte nu primiti erori la rulare (precum SEGFAULT) sau time limit exceeded, altfel tot testul va fi punctat cu 0. De exemplu, daca task-urile 1 si 2 sunt OK dar task-ul 3               ​primeste SEGFAULT sau dureaza prea mult atunci tot testul se va nota cu 0.  ​      * Daca rezolvati doar o parte din task-uri asigurati-va ca pe celelalte nu primiti erori la rulare (precum SEGFAULT) sau time limit exceeded, altfel tot testul va fi punctat cu 0. De exemplu, daca task-urile 1 si 2 sunt OK dar task-ul 3               ​primeste SEGFAULT sau dureaza prea mult atunci tot testul se va nota cu 0.  ​
 +
 +<note important>​**Temele care nu folosesc alocare dinamica vor avea o depunctare de pana la 50 de puncte din punctajul temei, in functie de gravitate! De asemenea, nu va fi acordat punctajul pe bonus in acest caz!**</​note>​
  
 <note warning>​Nu descarcati imaginile atasate in enunt pentru testare! Acestea nu respecta formatul BMP! Pentru testare folositi **numai** imaginile puse la dispozitie in arhiva de testare. Imaginile de mai sus au doar caracter informativ. </​note>​ <note warning>​Nu descarcati imaginile atasate in enunt pentru testare! Acestea nu respecta formatul BMP! Pentru testare folositi **numai** imaginile puse la dispozitie in arhiva de testare. Imaginile de mai sus au doar caracter informativ. </​note>​
  
-<note warning>​Fiti **foarte** atenti la erori de tipul stack overflow. Pe vmchecker dimensiunea stivei este de 1MB. Daca aveti functii recursive aproximati cata memorie se ocupa pe stiva la un apel al functiei respective. </​note>​ +=== Listă depunctări === 
- +Lista nu este exhaustivă. Se pot aplica chiar depunctări mai mari în cazuri excepționale.
-=====Listă depunctări=====+
   * o temă care nu compilează și nu a rulat pe **vmchecker** nu va fi luată în considerare   * o temă care nu compilează și nu a rulat pe **vmchecker** nu va fi luată în considerare
   * o temă care nu rezolvă cerința și trece testele prin alte mijloace nu va fi luată în considerare   * o temă care nu rezolvă cerința și trece testele prin alte mijloace nu va fi luată în considerare
 +  * [-50.0]: o tema care nu folosește deloc alocarea dinamică (-70.0 dacă aceasta ia și punctajul bonus)
   * [-1.0]: warning-uri la compilare (este obligatorie folosirea în fișierul **Makefile** a flag-ului de compilare **-Wall** pentru regula **build**)   * [-1.0]: warning-uri la compilare (este obligatorie folosirea în fișierul **Makefile** a flag-ului de compilare **-Wall** pentru regula **build**)
   * [-1.0]: numele variabilelor nu sunt sugestive   * [-1.0]: numele variabilelor nu sunt sugestive
-  * [-1.0]: linii mai lungi de 80 de caractere+  * [-1.0]: linii mai lungi de 80 de caractere ​in cod / in fișierul README 
 +  * [-1.0]: cod nemodular, funcții prea lungi (inclusiv main) 
 +  * [-2.5]: variabile globale
   * [-5.0]: abordare ineficientă   * [-5.0]: abordare ineficientă
     * în cadrul cursului de programare nu avem ca obiectiv rezolvarea în cel mai eficient mod posibil a programelor;​ totuși, ne dorim ca abordarea să nu fie una ineficientă,​ de genul să nu folosiți instrucțiuni repetitive acolo unde clar nu era cazul, etc.     * în cadrul cursului de programare nu avem ca obiectiv rezolvarea în cel mai eficient mod posibil a programelor;​ totuși, ne dorim ca abordarea să nu fie una ineficientă,​ de genul să nu folosiți instrucțiuni repetitive acolo unde clar nu era cazul, etc.
 +
  
programare/teme_2019/tema3_2019_cbd.1576418435.txt.gz · Last modified: 2019/12/15 16:00 by laurentiu.stefan97
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