Programarea Calculatoarelor (curs): Diferență între versiuni

De la WikiLabs
Jump to navigationJump to search
Linia 40: Linia 40:


= Curricula laboratorului =
= Curricula laboratorului =
# Sisteme de compilare: Makefile; Compilarea programului HelloWorld


= Materiale de studiu =
= Materiale de studiu =

Versiunea de la data 15 august 2015 11:47

Dedicat studenților de anul I, semestrul I, cursul de programare a calculatoarelor are ca scop introducerea în domeniul programării și a științei calculatoarelor, precum și a proceselor și a instrumentelor de dezvoltare software.

Structura cursului și metodologia de evaluare

Cursul este structurat în 14 prelegeri de câte două ore și 14 ședințe de laborator, de câte două ore. Prezența în laborator este obligatorie.

Repartizarea punctelor

Punctajul maxim este de 100 de puncte, corespunzător notei 10. Acest punctaj este repartizat în felul următor:

  • 40 de puncte - 4 teme de casă ce vor fi publicate în saptămânile 4, 6, 8 și 10;
  • 40 de puncte - laborator;
    • 20 de puncte - activitatea din timpul semestrului;
    • 20 de puncte - colocviu de laborator;
  • 20 de puncte - examen final;
  • BONUS 10 puncte pentru activitate excepțională în timpul semestrului. Punctajul bonus este exclusiv la latitudinea titularului de curs.

Condiții de promovare

Condițiile minime de promovare sunt:

  • cel mult două absențe la laboratoare;
  • minim 20 de puncte din punctajul de laborator;
  • minim 10 puncte la examenul final;
  • minim 50 puncte în total.

Curricula cursului

  1. Informații administrative; Prezentare instrumente utilizate (Moodle, Web-CAT, Virtualbox); Q&A
  2. Noțiuni elementare despre compilator, limbaj și medii de dezvoltare; GCC și compilarea programului ”HelloWorld”;
  3. Ciclul de viață al unei aplicații (Software Development Life-Cycle - SDLC) - Arhitectură și Design; Caracteristicile limbajului C - diferențele față de C++; Standarde
  4. Baza de numerație binară; Stocarea unui număr negativ - convenția complement față de 2; Stocarea unui număr în virgulă mobilă - Standardul IEEE 754; Stocarea caracterelor - coduri ASCII și Unicode
  5. Tipuri de date - dimensiuni; Variabile globale și locale; Modificatori (short, long, const, signed, unsigned); Conversii (cast)
  6. Operatori (artimetici, logici, relaționali, condiționali); Precedența operatorilor;
  7. Blocuri condiționale (if, switch); Blocuri repetitive (for, while, do-while); Cuvintele cheie break și continue
  8. Vectori uni și multi-dimensionali
  9. Funcții - definiție și apel; Funcții void; Cuvântul cheie return
  10. Funcții - exerciții și recursivitate
  11. Structuri (struct, union, enum)
    Noțiuni avansate:
  12. Structura memoriei (stack, heap & text); Modelul execuției unui program; Variabile de tip pointer - adrese în memorie
  13. Pointeri și alocarea dinamică de memorie
  14. Lucrul cu fișiere

Curricula laboratorului

  1. Sisteme de compilare: Makefile; Compilarea programului HelloWorld

Materiale de studiu

Teme

Rezultate