Code |
6624
|
Year |
1
|
Semester |
S2
|
ECTS Credits |
6
|
Workload |
PL(30H)/T(30H)
|
Scientific area |
Informatics
|
Entry requirements |
Knowledge about C programming language.
|
Mode of delivery |
Face-to-face
|
Work placements |
Not applicable
|
Learning outcomes |
This curricular unit has as objectives:
- the improvement of the knowledge in Programming (using C) by studying advanced topics (Binary Files and Dynamic Memory);
- to acquire knowledge about algorithms, in particular recursive, sorting, and searching algorithms.
Evaluation of the complexity of algorithms.
At the end of this curricular unit the student should be able to solve problems using C and he/she should understand the concepts studied. He/she should also have developed skills on using algorithms, particularly in problems involving recursion, sorting and/or searching.
The student must also be able to assess the efficiency of the algorithms by analyzing the technical complexity, in order to select the most efficient algorithms to solve any given problem.
|
Syllabus |
1. Dynamic memory
2. Binary files
3. Arguments passed on the Main
4. The C preprocessor
5. Makefiles
6. Recursion
7. Analysis of the complexity of Algorithms
8. Sorting algorithms: selection sort, Bubble sort, Quick sort, and Merge sort
9. Searching algorithms: Exhaustive search, Sequential search and Binary search
10. Hashing Tables
|
Main Bibliography |
Main:
- "Estruturas de Dados e Algoritmos em C", Tecnologias de Informação, António Manuel Adrego da Rocha, FCA - Editora Informática, 2008
- "Linguagem C", Luís Damas, FCA - Editora de Informática, 1999
Complementary:
- "Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms", By Robert Sedgewick, Addison-Wesley Professional; 3rd Edition, 2001
- "Elementos de Programação com C", 3ª Edição Actualizada e Aumentada, Pedro Guerreiro, FCA - Editora Informática, 2006
|
Language |
Portuguese. Tutorial support is available in English.
|