Algorithms and Programming I

Base Knowledge

None.

Teaching Methodologies

Classes will be taught on a theoretical and practical basis, in computer rooms.

The expositive methodology will be used for the presentation of the curricular unit concepts, supported by practical experimentation through the realization of application exercises of the transmitted concepts.

Learning Results

The Curricular Unit of Algorithms and Programming I is defined as structural in the degree in Management Informatics since it allows the acquisition of fundamental and determining knowledge in the understanding of later curricular units. Thus, this Curricular Unit is intended to achieve the following objectives:

  • Know and understand the architecture and operation of a computing environment (software / hardware).
  • Design simple algorithms by applying appropriate programming methodologies.
  • Know and understand the C# language.
  • Understand and adapt existing programs and develop new programs coded in C# language.

In terms of competences, it is expected that the student is able to:

  • Elaborate simple algorithms using pseudocode, flowcharts and natural language.
  • Use the C# language to develop simple programs, in console environment.
  • Develop programs that include selection control structures and repetitive structures.
  • Use functions in programs.
  • Distinguish different ways of passing parameters to functions.
  • Perform basic operations with vectors, matrices and text.
  • Handle errors using exceptions.

Program

  1. Introductory programming concepts
  2. Problem solving techniques
  3. Algorithmics
  4. Introduction to the C# language
    1. Variables
    2. Assignment statements
    3. Logical Expressions
    4. Basic user communication
  5. Control structures
    1. Selection structures
    2. Repetition structures
  6. Functions
  7. Vectors and matrices
    1. Declaration of vectors
    2. Vectors usage
    3. Arrays
    4. Search Algorithms
    5. Sort Algorithms
  8. Text
    1. Character vectors
    2. Strings
  9. Error handling
  10. Passing Parameters from the Command Line

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

  • Aprenda a programar com C#  – 3ª Edição (2022), António Trigo e Jorge Henriques, Editora Sílabo.
  • Programação: Algoritmos e estruturas de dados – 3ª Edição (2014), João Pedro Neto, Escolar Editora.
  • Algoritmos e programação de computadores (2019), Dilermando Junior, Francisco Bianchi, Angela Engelbrecht e Gilberto Nakamiti, Elsevier Editora. 
  • Análise da complexidade de algoritmos (2014), António Adrego da Rocha, FCA Editora.