Programming Techniques

Electronics and Computer Engineering, 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

Lecturer
- Pedro Daniel Frazão Correia

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
- 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
- Adrego da Rocha, A. (2014). Estruturas de Dados e Algoritmos em C. PT: FCA
- W. Kernighan, B. e Ritchie, D. (1988). The C Programming Language. USA: Pearson

Method of interaction
Lectures, laboratory involving problem solving and consolidation of knowledge using the computer; Tutorial support.

Software used in class