Publication in the Diário da República: Despacho nº 10766/2011 - 30/08/2011
5 ECTS; 1º Ano, 2º Semestre, 28,0 T + 28,0 PL + 5,0 OT , Cód. 911240.
Lecturer
            - Fernando Sérgio Hortas Rodrigues (1)(2)
(1) Docente Responsável
(2) Docente que lecciona
Prerequisites
          Concepts of programming and algorithms. Elementary knowledge of C.
Objectives
          Master the C programming language. Implement and use elementary linear and hierarchical data structures and basic sorting algorithms. Learn to classify algorithms according to their execution time.
Program
          C language: pointers; passing parameters to functions; structures; dynamic memory. ADTs, Lists, Queues, Stacks, algorithms, Big-O notation, selection sort, bubble sort, insertion sort, binary trees.
Evaluation Methodology
          Continuous assessment:
  - Practical Exercises (20%)
  - Written Test (30%)
  - Practical assignment (50%).
Other periods of examination:
  - Written exam (40%)
  - Practical assignment (60%).
All Assessment Periods:
  - Minimum marks: Tests and Examinations 7 out of 20; Practical assignments 10 out 20.
Bibliography
          - Adrego da Rocha, A. (2014). Estruturas de Dados e Algoritmos em C. PT:  FCA
- Damas, L. (1999). Linguagem C. Portugal:  FCA
- Rivest, R.  e Stein, C.  e Leiserson, C.  e Cormen, T. (2009). Introduction to Algorithms, Third Edition. USA:  MIT Press
- Sedgewick, R. (1997). Algorithms in C, Parts 1-4 Fundamentals,Data Structures, Sorting, Searching. USA:  Addison-Wesley
- W. Kernighan, B.  e Ritchie, D. (1988). The C Programming Language. USA:  Pearson
Teaching Method
          Lectures,  laboratory involving problem solving and consolidation of knowledge using the computer; Tutorial support.
Software used in class
          


















