Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Licenţă
Domeniul: Calculatoare şi tehnologia informaţiei
Programul de studii: Ingineria informatiei - in limba romana
Limba de predare: Română

SYLLABUS

I. Date generale
Codul	Disciplina	
MID0006	Proiect individual	

Semestrul	Ore: C+S+L+P	Categoria	Statutul	
3	0+0+1+1	specialitate	obligatorie	

II. Cadre didactice cu norma de bază în Universitate
Numele şi	Titlul	Gradul	Catedra	Tipul activităţii	
prenumele	ştiinţific	didactic		C	S	L	
VESCAN Andreea	Dr. 	Lect.	Informatică			*	

Cadre didactice asociate
Numele şi	Titlul	Instituţia	Tipul	Tipul activităţii	
prenumele	ştiinţific		postului	C	S	L	

III. Obiectivele disciplinei
1. Fixarea deprinderilor de realizare a unui produs program corect (cu implementare in C++ sau Java ), prin parcurgerea tuturor etapelor necesare(specificare, proiectare, implementare, verificarea activitatilor, validarea si documetarea) si reflectarea lor într-o documentatie completa.
2. Se va pune accent deosebit pe scrierea cât mai clara a documentatiei complete si la timp.	

IV. Conţinutul disciplinei
- Realizarea unui produs program cu respectarea tuturor etapelor: specificare, proiectare, codificare, 
  verificarea fiecarei etape (inspectare si testare);
- Elaborarea documentatiei de realizare (in paralel cu derularea etapelor), pentru fiecare etapa în parte;
- Elaborarea documentatiei de utilizare.
- Documentatiile aferente fiecarei etape de creare a produsului soft vor contine:

D1. Documentatia problemei - Enuntul problemei in limbaj natural (fara referiri la modul de implementare) - a se specifica CE trebuie sa realizeze produsul soft si nu CUM.

D2. Specificarea riguroasa a problemei care sa cuprinda specificarea datelor de intrare (DATE) si a rezultatelor asteptate (REZULTATE). Specificarea semnificatiei pentru fiecare data de intrare si iesire, precum si a preconditiilor si a postconditiilor.
Tema proiectului va fi preluata in primul laborator. Specificare problemei trebuie sa cuprinda: 
      - functionalitatile pe care produsul soft trebuie sa le realizeze;
      - datele de intrare;
      - calculele necesare;
      - rezultatele;
      - documentele utilizate si rapoartele necesare;
      - dimensiunea datelor.

D3. Documentatia de proiectare va contine:
  - toate digramele necesare;
  - specificarea fiecarui subalgoritm prin specificare semanticii fiecarui argument;
  - subalgoritmii specificati in limbajul Pseudocod.

D4. Codul sursa (doar in format electronic)
Codul sursa trebuie sa contina suficiente comentarii pentru documentarea interna a programului. Codul sursa trebuie scris cu grija, mai ales din punct de vedere al claritatii si al usurintei de a intelege programul de catre alte persoane.

D5. Documentatia de testare trebuie sa cuprinda date de test pentru fiecare subalgoritmi utilizat si pentru fiecare functionalitate implementata. Crearea cazurilor de testare se va face pe baza cutiei negre (black-box testing) si pe baza cutiei transparente (white-box testing).

D6. Documentatia de utilizare (doar in format electronic).

Reguli/observatii:
1) Datele de intrare si de iesire ale problemei, cele cu caracter permanent, vor fi predate in fisiere text. (formatarea datelor de iesire este necesara). Exemplu: lista persoanelor care locuiesc intr-un bloc de apartamente sau lista angajatilor unei firme.
2) Pentru proiectarea produsului soft vor fi utilizate paradigmele Programarii Orientate Obiect;
3) Este permisa utilizarea structurilor de date din API, dar alegerea unei anumite structure de date trebuie sa fie justificata (in termini de complexitate a operatiilor necesare)
4) Interfata grafica pentru produsul soft este optionala.
5) Validarea datelor de intrare este recomandata!
6) Exceptiile de executie trebuie tratate.
7) Proiectul trebuie sa aibe o "lungime" rezonabila (intre 1000 si 2000 de instructiuni in varianta finala);
8) Limbajele de programare acceptate pentru implementarea produsului soft sunt C++ and Java;
9) Documentele trebuie scrise cu margine de 2 cm!
10) Verificare unui produs soft este formata din mai multe activitati:
inspectarea tuturor documentelor;
 testarea tuturor subalgoritmilor;validarea finala a produsului soft cu date reale.

11) Pe fiecare se vor preciza: titlul documentului, autorul, grupa si data predarii.

Tabelul de mai jos cuprinde tematica activitatilor pe saptamani precum si termenele de predare asociate fiecarei etape.

Nr. crt.	 Denumire faza                                   	 Termen de predare
1.	Definirea si specificarea problemei; Inspectarea specificarii.	  Laborator 2
2.	Documentatia de proiectare a proiectului; Inspectarea proiectarii Laborator 3
3.	Documentatia de codificare; Inspectarea codificarii	          Laborator 4
4.	Testarea programului	                                          Laborator 5
5.	Documentatia testarii; corecturi in timpul depanarii	          Laborator 6
6.	Documentatia de utilizare; validarea programului	          Laborator 6 si 7
7.	Predarea finala a proiectului si notarea	                  Laborator 7	

V. Bibliografie
1. Gamma E, Helm R, Johnson R, Vlisides J (1994): Design Patterns: elements of reusable object-oriented software, Addison Wesley.
2. Jacobson I, Booch G, Rumbaugh J (1998): The Unified Software Development Process. Addison Wesley Longman. ISBN 0-201-57169-2.
3. Knuth D.E. (1987) A számítógép-programozás muvészete, V. 1: Alapveto algoritmusok, Muszaki Könyvkiadó, (Simonovits Miklós), 654pp.
4. Knuth D.E. (1987) A számítógép-programozás muvészete, V. 2: Szeminumerikus algoritmusok, Muszaki Könyvkiadó, (Simonovits Miklós), 690pp.
5. Iványi A (szerk) (2004) Informatikai Algoritmusok, ELTE Eötvös Kiadó. (http://compalg.inf.elte.hu/~tony/Elektronikus/Informatikai/Infalg1E.pdf)
6. Cormen T.H, Leiserson C.E, Rivest R.L (2001) Algoritmusok. Harmadik kiadás. Muszaki Könyvkiadó, Budapest.
7. Horváth Z, Fóthi Á (2005) Bevezetés a programozásba, ELTE elektronikus tankönyv (http://people.inf.elte.hu/ekonyvtar/)
8. Frentiu M, Lazar I (2000) Bazele Programarii: Proiectarea Algoritmilor, 2000, Ed. Univ. Petru Maior, 184 pp.	

VI. Tematica activităţilor didactice pe săptămâni

VII. Metode didactice folosite

VIII. Evaluare
Notarea va fi facuta pentru toate etapele prevazute în tabel (continut disciplina), nota activitatii din timpul semestrului fiind media lor (nota A). Etapa nepredata va fi notata cu 1. În cazul nepredarii la timp a unei etape, din nota acordata se va scadea numarul de saptamâni de întârziere. 

  Pentru corectitudinea si completitudinea produsului, la validarea lui, se va acorda o a doua nota (not V). Aceasta nota va tine seama si de documentatia realizata si de concordanta dintre produsul final si cele scrise în documente. 

  In ultima saptamâna fiecare student va preda documentatia realizata. Documentatia scrisa pe durata realizarii programului, împreuna cu textul sursa si documentatia de utilizare ambele în format electronic, vor fi predate sefului de disciplina (mentionat la începutul acestui material) si vor fi notate (nota D). Nu se accepta întârzieri, lipsa documentatiei ducând la nepromovarea disciplinei. Notele de nepromovare pe acest motiv vor fi trecute la decanat în prima zi a sesiunii! 

  Nota finala va fi acordata dupa regula: Nota finala =(A + V + D)/3  

Pagina de internet a cursului este http://www.cs.ubbcluj.ro/~avescan/
Sectiunea Teaching, disciplina Proiect individual.	

IX. Bibliografie suplimentară

	Decan,							Sef departament,
Prof. Dr. Leon Ţâmbulea				Prof. Dr. Florian Boian

	Data,							Titular curs,
1.10.2011						Lect. Dr.  VESCAN Andreea