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
- Pedro Daniel Frazão Correia (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 (50%)
- Practical assignment (30%).
Other periods of examination:
- Practical Exercises (20%)
- Written Test (50%)
- Practical assignment (30%).
All Assessment Periods:
- Minimum marks: Written Tests 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
Code Blocks; MinGW / GCC / GDB