Contacto WhatsApp 961135355

Universidade Lusófona do Porto

Introduction to Computing


The students should have skills in terms of:

  • Knowing how to define an algorithm;
  • Grasp the main concepts of dynamic programming;
  • Learn to identify the problems of imperative programming
  • Select and apply the data structures and algorithms most appropriate to implementation of abstract data types;
  • Modify the implementations of abstract data types to accommodate the particular problems or to improve the performance of the computing programs.


Audiovisual and Multimedia Communication

Level of Qualification|Semesters|ECTS

| Semestral | 7

Year | Type of course unit | Language

1 |Mandatory |Português



Recommended complementary curricular units

Não Aplicável

Professional Internship




  • Basic concepts of digital systems
  • Computer and its contextualization
  • The computer and operating system

Elementary concepts and algorithm

  • Algorithm and Problem Modeling
  • Representation and Algorithmic Notation
    • Graphic representation
    • Textual representation
      • Structured Portuguese

Types and Data Structures

  • Simple
  • Complexes
    • Vectors
    • Matrices
    • Structs

introduction to the JAVA or Python programming language

  • Basic communication with the user (Input and Output)
  • Subprograms
  • Manipulation of text files
  • Advanced Data Structures (Arraylists)
  • Creating classes in Java
  • Instantiation of classes

Common Algorithms

  • Applied to linear data structures
    • Order and Search
    • Stacks and queues

Whenever possible the use of the JAVA or Python programming language to implement the algorithms.


The objective is to work in the student¿s ability to understand a problem, designing the algorithm based solution and to understand the relevant aspects to its translation into a programming language.

Teaching methodologies and assessment

The teaching is based on theoretical classes and practical classes. The theoretical classes are, in essence, for expository sessions, which serve to introduce the fundamental concepts of the discipline associated with each of the topics of matter. The practical classes are based on the analysis, design and implementation of theoretical concepts, using the computers and installed software development.

Continuous evaluation:
- 50% theoretical assessment
- Participation Of classes 10% + 40% practical assessment (practical work)
(Minimum score: 7 points, each component)
- 50% theoretical assessment (1 exam and practical test)
- 50% practical assessment (assessment and defense of practical work)
(Minimum score: 7 points, each component)
NOTE: not accepted practical work between seasons.


  • António José Mendes, & Maria José Marcelino. (2003). Fundamentos de programação em JAVA (2nd ed,)
  • Grady Booch. (1993). Object-Oriented Analysis and Design with Applications (2nd ed.). Addison-Wesley Professional
  • John Lewis, Peter DePasquaIe, Joseph Chase. (2011). Java Foundations: Introduction to Program Design and Data Structures, (2nd ed.)

Office Hours

Nome do docente  

Horário de atendimento