Introduction to Programming (271132)

Learning Outcomes

In this course, students must be capable to understand and master the concepts and fundamental techniques related to computer application programming, specifically at algorithm level and Java programming.

In this sense, it is intended that the students can:


  • Acquire theoretical and practical knowledge about the usage of diagram techniques, more specifically pseudocode as tool to support algorithm elaboration;
  • Understand the utilization of informal programming languages as tools for application specification and development;
  • Understand the concepts related to high-level programming languages;
  • Produce a technical and computational background that allows the comprehension of the concepts inherent to computer applications development;
Perceive the syntax, lexical and semantic of the programming language Java.

Study Program

Module I - Introduction to programming logic

  • Computers and programming languages;
  • Programming Logic - key elements and structures;
  • Programming Paradigms;
  • Simple sequence algorithms and computer programs. Module II – Construction of algorithms in informal and symbolic language
  • Algorithms in formal and informal language;
  • Instructions, basic operations, operators, variables, data types, among others;
  • Control structures (sequential, conditional and iterative), arithmetic, relational and logical expressions.


Module III –JAVA Programming language

  • Brief history and characteristics;
  • Syntax and semantics of the programming language;
  • Design and implementation of programs;
  • Use of external resources for developing programs
  • Error detection and correction – debugging;
Development and prototyping philosophies



Mendes, A.; Marcelino, M. (2014) Fundamentos de Programação em Java. Lisboa, FCA, 4ª Edição.
Eckel, B. (2006) Thinking in JAVA. Prentice-Hall, 4th Edition.  
Martins, F. (2013) JAVA6 e Programação Orientada pelos Objectos. Lisboa, FCA, 1ª Edição.
Rocha, A.; Pacheco, O. (2009) Introdução à Programação em JAVA. Lisboa, FCA, 1ª Edição.
Sedgewick, R.; & Wayne, K. (2011) Algorithms. Addison-Wesley Professional, 4th Edition.