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)
* 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
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.
* 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%)
- 3 tests (70%): 1st - 20%, 2nd- 20% and 3rd - 30%
- project (30%)
Final evaluation:
- final written exam (70%)
- project (30%)