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; lab classes with problems that accompany the theoretical material.
Availability of exercises, of gradual difficulty, covering the topics taught, for students to practice mastery of the subject.
Theoretical classes; lab classes with problems that accompany the theoretical material.
Availability of exercises, of gradual difficulty, covering the topics taught, for students to practice mastery of the subject.
Assessment
Continuous evaluation:
- tests (70%)
- project (30%)
Final evaluation:
- final written exam (70%)
- project (30%)
- tests (70%)
- project (30%)
Final evaluation:
- final written exam (70%)
- project (30%)