Electrical and Computer Engineering

ALGORITHMICS AND PROGRAMMING

General Data

Type of credits: ECTS
Number of credits: 5.00
Status: Mandatory
Type: Course
Academic Year:
Term:
Languages: Portuguese
Available for Mobility Students: No
Restricted to alliance: No
Code: Sin codigo

Coordination

Description

Theory
2

Laboratory
2

Instructors

José António Reis Tavares


 

Contents

1. Fundamental Algorithmic Concepts (2 weeks)
1.1 Definition and Description of Algorithms
1.2 Properties of algorithms
1.3 Data types, Variables, Operators, and Expressions
1.4 Operating Input and Output
1.5 Conditional and repetition structures (1,5 weeks)
 

2. Introduction to Programming in C (2 weeks)
2.1 Basic Structure of a C program
2.2 Basic Data Types
2.3 Reserved Words
2.4 Operators and type conversion
2.5 Operator precedence
2.6 Input/Output Functions
2.7 Coding conditional and repetition structures
 

3. Sub-programs and functions (2,5 weeks)
3.1 Function Declaration
3.2 Passing parameters by value and by reference
 

4. Vectors and matrices (2,5 weeks)
4.1 Declaration and use
4.2 Sort and search algorithms
 

5. Strings in C (1 week)
 

6. Pointers: Declaration of pointers, Initialization, and Handling (2 weeks)
 

7. Structures and Unions in C (1,5 weeks)

Learning Outcomes

The student should be able to:
O1 - Know and understand the architecture and operation of a computer environment (software/hardware).
O2 - Design algorithms by applying appropriate programming methodologies.
O3 - Analyze and develop programs in the C language.
O4 - Evaluate programs written in C.
O5 - Assume an attitude of active learning, collaborative and responsible, of persistent work, individually and in groups, and apply a critical spirit in the analysis and problem resolution.

Intermediate

The student should be able to:
- By presenting an algorithm, he or she should be able to state its functionality and adapt it to new requirements.
- Upon the presentation of a task to describe the respective algorithm.
- Upon the presentation of small programs to characterize each of the statements and the overall functionality of the program.

Terminals

The student should be able to:
- Upon the presentation of a problem, identify requirements, analyze it, and devise an algorithm to solve it, prepare the program coded in C, and test the solution using an appropriate test plan.
- By introducing a more complex problem, one should be able to structure it into modules, design the respective algorithms, reuse existing modules, develop the program coded in C, and test the solution using an appropriate test plan.
- Develop new solutions and make value judgments on the resolution of practical exercises.