Fundamentele programarii

FISA DISCIPLINEI

Anul universitar 2022 - 2023



  Departament Home


Cod : I104
Forma de invatamant : Informatica (3 ani)
Ciclul : 1 Anul : 1
Semestrul : 1, Curs : 2h, Laborator : 2h
Nr. credite : 6
Profil : Informatica
Specializare : Informatica
Tip disciplina : obligatorie
Categoria formativa : de specialitate


Obiective:

  • asimilarea fundamentelor limbajului de programare C;
  • deprinderea unor metode si tehnici eficiente de programare structurata;
  • deprinderea programarii modulare prin crearea de aplicatii proiect;
  • proiectarea, implementarea si evaluarea unor aplicatii in diverse domenii;

Continutul cursului:

  • Elemente introductive de programare in limbajul C
    1. Algoritmi, programe, limbaje de programare;
    2. Etapele rezolvarii unei probleme intr-un limbaj de programare;
    3. Structura si sintaxa unui program C;
    4. Elementele limbajului C: alfabet, constante, variabile;
    5. Tipuri simple de date;

  • Programare in limbajul C
    1. Operatori, expresii;
    2. Instructiuni in limbajul C;

  • Tipuri de date structurate
    1. Tablouri de date: vectori si matrici;
    2. Exemple de programe cu vectori si matrici;

  • Tipul caracter
    1. Operatii de intrare/iesire si de prelucrare a sirurilor de caractere;
    2. Conversii intre tipul caracter si tipurile numerice;

  • Programare procedurala. Functii in C
    1. Declararea functiilor in C, definire si apel;
    2. Parametrii formali, parametri actuali;
    3. Recursivitate;
    4. Functii cu numar variabil de parametri;

  • Pointeri
    1. Tipul de data pointer;
    2. Operatii cu pointeri;
    3. Pointeri si siruri/matrici;
    4. Pointeri la functii;
    5. Alocare dinamica de memorie;

  • Programare modulara in C
    1. Clase de memorie;
    2. Realizarea proiectelor in C;
    3. Parametri in linia de comanda;
    4. Biblioteci de subprograme;

  • Tipuri de date agregate in C
    1. Structuri;
    2. Uniuni;
    3. Campuri de biti;
    4. Biblioteci de subprograme;

  • Liste
    1. Liste liniare simplu inlantuite;
    2. Liste liniare dublu inlantuite;
    3. Liste circulare;

  • Fisiere in limbajul C
    1. Fisiere text;
    2. Fisiere binare;
    3. Exemple de utilizare a fisierelor;

Forma de evaluare : examen

Bibliografie:
  1. Brian W. Kernighan, Dennis M. Ritchie, The C programming language, 2nd edition, Pearson, 1988.
  2. N. Constantinescu, Bazele programarii procedurale, Editura Universitaria, Craiova, 2018.
  3. R. Seacord, Effective C: An Introduction to Professional C Programming, No Starch Press, 2020.
  4. M. Cosulschi, M. Gabroveanu, Practica programarii in C, Editura Universitaria, Craiova, 2014.
  5. K. N. King, C Programming: A Modern Approach, 2nd edition, W. Norton & Company, 2008.
  6. L. Negrescu, Limbajele C si C++ pentru incepatori, Vol. I (editia XI), Editura Albastra, Cluj-Napoca, 2001.
  7. K. Jamsa, L. Klander, Totul despre C si C++- Manualul fundamental de programare in C si C++, Editura Teora, 2004.
  8. M. Banahan, D. Brady, M. Doran, The C Book, Addison-Wesley, 1991.
  9. M. Cosulschi Algoritmi fundamentali. Proiectare si implementare, Editura Universitaria, Craiova, 2015.

Material didactic:

  1. C Programming Tutorial

Coding style:

  1. Linux kernel coding style
  2. Coding style.
  3. Good coding style.

Makefile:

  1. What is a Makefile and how does it work?
  2. Using "make" and writing Makefiles.
  3. Make and Makefiles Overview.

Compilare:

  1. The Four Stages of Compiling a C Program;
  2. A detail story of a process;
  3. Different phases of compiling and running a C program.

Pachete software:

  1. Visual Studio Code sau Visual Studio Community sau Visual Studio Express;
  2. MinGW si un ghid de folosire MinGW;
  3. Code::Blocks;
  4. Orwell Dev-C++ - download;
  5. Dev-C++;
  6. Borland C++;
  7. CLion - A cross-platform IDE for C and C++ - gratuita pentru studenti;
  8. CodeLite;

Alte cursuri:

  1. Practical Programming in C
  2. Programming in C and C++

Ultima actualizare: Octombrie 2022