2024

Programming I

Name: Programming I
Code: INF13175L
6 ECTS
Duration: 15 weeks/156 hours
Scientific Area: Informatics

Teaching languages: Portuguese
Languages of tutoring support: Portuguese
Regime de Frequência: Presencial

Sustainable Development Goals

Learning Goals

At the end of this course students should be able to:
* follow the process of program development: understand problem, design the algorithm, implement the algorithm and test the code
* choose the most appropriate control structures, defining the conditions for selection and repetition
* design and implement functions and parameters passing aiming to simplify the development of major problems and promote the concept of code reuse
* understand the concept of data abstraction and the use of arrays
* implement programs that use sequential files (input and output)

Contents

Notion of algorithm and instruction
Edit, compile, and debug process
IDEs and pseudo-code
Notion of constant and variable
Arithmetic and Expressions
Basic types: integer, real, boolean, string
Instruction and assignment
Decision structures: comparison, multiple alternatives, nested branches
Repetition structures: while, for, sentinel values, nested loops
Functions: parameters and return value
Scope of variables and function reuse
One and two-dimensional arrays
Structures
Sequential Access Files
Recursion

Teaching Methods

Teaching Methodologies:

* Theoretical classes introducing concepts, solving exercises with guidance, and clarifying doubts.

* Practical laboratory classes with problem proposals that follow the theoretical material and clarification of doubts during their resolution. Provision of exercises, with gradual difficulty, covering the taught topics, for students to practice the material.

Assessment

Continuous evaluation:
- 3 tests (70%): 1st - 20%, 2nd- 20% and 3rd - 30%
- project (30%)

Final evaluation:
- final written exam (70%)
- project (30%)