= OBIECTIVELE DISCIPLINEI =
Crearea abilităţilor de a interacţiona inteligent cu calculatorul. Studenţii trebuie să deprindă capacitatea de a înţelege modul de funcţionare al compilatorului, parcurgând toate etapele traducerii textului programului în limbaj maşină. Se studiază principiile programării structurate astfel încât studentul va avea în final capacitatea de a înţelege şi aplica corect aceste principii în crearea propriilor rutine/programe/biblioteci de programe. Exerciţiile şi aplicaţiile prezentate la fiecare curs au rolul de a forma gândirea algoritmică necesară identificării situaţiilor specifice din realitate şi implementării corecte a acestora folosind limbajul C.

= COMPETENŢE SPECIFICE =
Obişnuinţa de a lucra cu calculatorul personal. Utilizarea unui mediu integrat de programare, înţelegerea jargonului folosit în domeniul programării; noţiunea de algoritm şi utilitatea acestuia; modelare pe calculator; deprinderea gândirii algoritmice, analiză pe algoritmii studiaţi.
Constituie baza cursurilor de Structuri de date şi Algoritmi, Tehnici de Programare, Teoria Algoritmilor, Inginerie software, Programarea Orientată pe Obiecte, crearea de pagini Web (Java) şi interacţionează foarte bine cu orice temă legată de programare (indiferent de limbaj).

= STRUCTURA CURSULUI =
1. Introducere. Generalități despre limbajul C, standarde, clasificare.
2. Structura programelor C.
3. Memoria: zone şi spaţii de memorie. Segmentarea memoriei.
4. Operatori şi expresii.
5. Prototipuri şi definiţii de funcţii.
6. Instrucţiuni.
7. Funcţii. Iterativitate vs. recursivitate. Convenții de apel.
8. Pointeri.
9. Vectori. Legătura vector-pointer.
10. Tipuri de date neomogene.
11. Limbajul C în operaţii de intrare/ieşire (fișiere și fluxuri de date).
12. Aspecte avansate ale limbajului.