Advanced Programming in Java

Year
1
Academic year
2024-2025
Code
02021918
Subject Area
Information and Communication Technologies
Language of Instruction
Portuguese
Mode of Delivery
Face-to-face
ECTS Credits
22.0
Type
Compulsory
Level
Non Degree Course

Recommended Prerequisites

Not applicable.

Teaching Methods

This course unit is structured in 6 hours of lectures per week, and the remaining are labs. All classes are accompanied by a teacher. The programming concepts are introduced and put in practice during lectures. Particular programming problems are solved during labs, some of which are subjected to individual evaluation. The enrolment in this course unit requires a positive final grade (above or equal to 10) in the previous course units. The assessment has only one component: continuous evaluation (100%). Continuous evaluation aims to stimulate students’ participation in class activities and assess his/her evolution during the course.

Learning Outcomes

To acquire knowledge about development of Web applications, persistency, security, concurrent access, transactions, messages, dependency injection, and tools for automatic building, server applications, continuous integration, repository, and mapping between object and relational model. Special emphasis is given on Java APIs from Java Enterprise Edition. The enrolment in this course unit requires a positive final grade (above or equal to 10) in the previous course units. General skills that will be acquired at the end of the course are analysis and synthesis ability; organization and planning skills; problem solving and teamwork skills; autonomous learning; adapt to new situations; creativity; focus on quality and sustainable development.

Work Placement(s)

No

Syllabus

• Three tier architecture

• Java servlet technology; internationalization aspects and location of web applications

• Web services; Web services with JAX-WS; RESTful Web services with JAX-RS

• Enterprise Beans, Message-driven Beans; Dependency Injection and CDI

• Java Persistance API and JP Query Language

• Concurrency and synchronization mechanisms; Criteria API

• Security in Web and Enterprise applications, JAAS authentication

• Resources, transactions and messages; Java message service and Interceptors.

• Application server; JBOSS, administration and configuration

• Build environments and build automation tools; Maven; Repository Manager;

• Continuous integration tools; Jenkins

• Object-relational mapping; Hibernate

• Spring framework

• Google Web toolkit.

Head Lecturer(s)

Naghmeh Ramezani Ivaki

Assessment Methods

Assessment
Continuous evaluation aims to stimulate students’ participation in class activities and assess his/her evolution during the course: 100.0%

Bibliography

The Java EE 6 Tutorial (disponível em http://docs.oracle.com/javaee/6/tutorial/doc/)