Go to:
Esta página em português Ajuda Autenticar-se
Clube de Leitura  Vamos a Livros
You are here: Start > EEC0030

Programming Laboratories

Code: EEC0030     Acronym: LPRO

Classification Keyword
OFICIAL Informatics

Instance: 2014/2015 - 1S Ícone do Moodle

Active? Yes
Web Page: http://www.fe.up.pt/~jlopes/doku.php/teach/lpro/
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Electrical and Computers Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEEC 55 Syllabus 4 - 6 28 162

Teaching - Hours

Lectures: 2,00
Laboratory Practice: 2,00
Type Teacher Classes Hour
Lectures Totals 1 2,00
João António Correia Lopes 2,00
Laboratory Practice Totals 4 8,00
Tiago Manuel Alves Pereira Marques 4,00
João António Correia Lopes 4,00

Teaching language

Suitable for English-speaking students


Within the context of the specification, development and maintenance of software applications with GUI using client/server architectures, this course aims to:

  • Promote the acquisition of software engineering concepts, methods and techniques and enable students to apply them in the design and development of software systems.

  • Equip students with practical skills in the use of software development tools appropriate to the specification and development of the product throughout its life-cycle, including debugging, testing and documentation of the Java programming language code.

Learning outcomes and competences

After completing this course, the student will be able to:

  1. Identify and document the requirements of a Software System using "user stories"

  2. Describe the use cases using UML

  3. Implement a prototype of the User Interface

  4. Identify and document additional requirements

  5. Obtain the conceptual domain model using UML

  6. Obtain business process models using UML

  7. Describe the architecture using UML

  8. Validate the architecture through a prototype

  9. Modelling the structure of classes using UML

  10. Modelling the behaviour of objects using UML

  11. Prepare the User manual

  12. Prepare the Deployment manual

  13. Write Java classes using standard APIs

  14. Make versions of software components

  15. Documenting Java code using Javadoc

  16. Test the code using Junit

  17. Use a collaborative documentation development tool

  18. Use an IDE in software maintenance

  19. Use a version control system

Working method


Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Knowledge of Programming languages.


  1. Introduction to Software Engineering and Agile Modelling.

  2. Introduction to Engineering requirements. Requirements documentation.

  3. UML modelling language.

  4. Object-oriented software design. Modelling of architecture. Structure, behaviour and architecture design.

  5. User interfaces design.

  6. Coding using the Java programming language.

  7. Verification, validation and software testing.

  8. Software maintenance. Configurations and versioning.

  9. Project management.

Mandatory literature

Scott W. Ambler; The object primer. ISBN: 978-0-521-54018-6
F. Mário Martins; Projetos de POO em JAVA, FCA - Editora Informática, 2014. ISBN: 978-972-722-792-1

Complementary Bibliography

Bruce Eckel; Thinking in Java, Prentice Hall, 4th Edition, 2006. ISBN: 0131-87248-6
Russ Miles and Kim Hamilton; Learning UML 2.0. ISBN: 978-0-596-00982-3
Mauro Nunes e Henrique O'Neill; Fundamental de UML, FCA - Editora Informática, 2004. ISBN: 978-972-722-481-4
Alberto Manuel Rodrigues da Silva e Carlos Alberto Escaleira Videira; UML, metodologias e ferramentas CASE. ISBN: 989-615-009-5
Henrique O.Neil, Mauro Nunes, Pedro Ramos; Exercícios de UML. ISBN: 978-972-722-616-0

Teaching methods and learning activities

Lectures (2 hours per week) will be used to present the theoretical content, together with practical examples using the methodologies and tools to be used in laboratories by following the corresponding script. In the laboratory classes (2 hours per week), the students will work in groups of four people in a software project.


IDE NetBeans
Enterprise Architect


Physical sciences > Computer science > Programming > Software engineering
Physical sciences > Computer science > Programming

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Participação presencial 10,00
Teste 40,00
Trabalho laboratorial 50,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Elaboração de projeto 100,00
Estudo autónomo 6,00
Frequência das aulas 56,00
Total: 162,00

Eligibility for exams

Practical work (TP) will be evaluated through the documentation submitted, the application developed and individual performance in the class (TP1 to TP8).

The theoretical concepts are evaluated through the individual response, closed book, to CAT sheets (FT1 to FT4).

Minimum required to pass this course: 50% in each of the practical components (TP1 to TP8) and 40% overall mark in the CAT sheets (FT1 to FT4).

This course, due to its laboratory nature, can not be replaced by taking an exam.

Calculation formula of final grade

Classification = 80% TP + 20% FT


TP = (TP1 + 3* TP2 + 2* TP3 + 2* TP4 + 2* TP5 + 8* TP6 + TP7 + TP8 )/20
FT = (FT1 + FT2 + FT3 + FT4) / 4

The classification of any assessment component may vary from element to element in the same group by plus or minus 2 values, based on the opinion of teachers and the self-evaluation to be conducted internally within each group.

Examinations or Special Assignments

Further to the demonstration of the product, an oral session may be required for some of the students.

Special assessment (TE, DA, ...)

Students under special regimes are expected to submit the practical work required for this course as ordinary students.

Students that are not required to be present in the classes, have to present the evolution of their work to the teacher simultaneously with the regular students, and conduct the same theoretical tests.

Classification improvement

Improving the classification requires a new enrolment in the course.
Recommend this page Top
Copyright 1996-2022 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2022-01-19 at 07:05:35