IPT Logotipo do IPT

Ano Letivo: 2023/24

Engenharia Electrotécnica e de Computadores

Programming Techniques

<< back to Curriculum Plan

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
Not applicable

Objectives
1. Acquire knowledge about advanced aspects of the C programming language, such as: pointers; functions and parameter passing; structures; dynamic memory.
2. Learn to implement and consume elementary data structures, using the C programming language and Abstract Data Types (ADTs-Abstract Data Types).
3. Learn algorithm analysis and design techniques and how to classify algorithms according to their estimated execution time.
4. Learn to implement sorting algorithms.
5. Learn to implement and consume hierarchical data structures, using the C programming language and Abstract Data Types (ADTs-Abstract Data Types).

Program
1. Advanced aspects of the C language
1.1. Pointers
1.1.1. Pointers and tables
1.1.2. Pointer arithmetic
1.1.3. Pointers of Pointers

1.2. Passing parameters to functions
1.2.1. pass by value
1.2.2. pass by reference
1.2.3. table passing
1.2.4. Passing parameters on the command line

1.3. Structures
1.3.1. Access to members of a structure
1.3.2. Nested structures
1.3.3. Passing structures to functions
1.3.4. Operations on structures

1.4. Dynamic Memory
1.4.1. Memory allocation
1.4.2. Memory release
1.4.3. Dynamic data structures

2. Elementary Data Structures
2.1. linked lists
2.2. Doubly linked lists
2.3. Queues
2.4. Stacks

3. Analysis and design of algorithms
3.1. Algorithm analysis and design techniques
3.2. Big-O Notation

4. Sorting Algorithms
4.1. Selection Sort
4.2. bubble sort
4.3. Insertion Sort

Evaluation Methodology
Continuous assessment:
- Practical Exercices (20%-4 values)
- Practical assignment (30% - 6 values)
- Written Test (50%-10 values)


Other periods of examination:
- Practical Exercices (20%-4 values)
- Practical assignment (30% - 6 values)
- Written Test (50%-10 values)

All Assessment Periods:
- Minimum marks: Tests and Examinations 7 out of 20; Practical assignments 10 out 20.

Bibliography
(1988). The C Programming Language. USA: Pearson
(1988). The C Programming Language. USA: Pearson
(1997). Algorithms in C, Parts 1-4 Fundamentals,Data Structures, Sorting, Searching. USA: Addison-Wesley
(1997). Algorithms in C, Parts 1-4 Fundamentals,Data Structures, Sorting, Searching. USA: Addison-Wesley
(1999). Linguagem C. Portugal: FCA
(1999). Linguagem C. Portugal: FCA
(2009). Introduction to Algorithms, Third Edition. USA: MIT Press
(2009). Introduction to Algorithms, Third Edition. USA: MIT Press
(2014). Estruturas de Dados e Algoritmos em C. PT: FCA
(2014). Estruturas de Dados e Algoritmos em C. PT: FCA

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

 

 

 


<< back to Curriculum Plan
Elemento gráfico

News | Agenda

NP4552
Financiamento
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
Compete 2030
co-financiado