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

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:
* Lectures with introduction of concepts, guided resolution of exercises and clarification of doubts.
* Practical laboratory classes with proposals of problems that accompany the theory and clarification of doubts during their resolution. Provision of exercises, of gradual difficulty, covering the topics taught, for students to practice the subjects.

Assessment:
* theoretical (65%-70%): (i) three written tests and/or written final exam
* practical (30%-35%): (ii) individual and/or group exercises throughout the semester (5 %-10%) and (iii) development of a small project (25-30%). Depending on the project, the work can be divided into two phases with analysis and improvement recommendations after the first phase.

Assessment

Continuous evaluation:
- tests (70%)
- project (30%)

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