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

NA

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.

 

Learning Outcomes

To gain knowledge in web application development, including both frontend and backend aspects, this course provides a thorough exploration of relevant technologies and methodologies. In frontend programming, students will learn about recent advancements and techniques essential for building applications using HTML, CSS, and diverse Javascript frameworks such as React and Bootstrap.

In backend programming, a multi-layer architecture approach is emphasized, covering the service layer with technologies like RESTful web services, the business layer with CDI and EJB beans, and the data layer incorporating Entities and Data Access Objects. Students will engage with widely used Java enterprise platforms like Jakarta, alongside tools such as Maven for automated building, Wildfly for application servers, and Git for version control. Additionally, testing tools for JavaScript, API testing, and unit testing will be covered as well.

Work Placement(s)

No

Syllabus

  • Frontend Programming: HTML, CSS, and JavaScript Frameworks
  • Three-tier architecture and Java enterprise platforms like Jakarta
  • Web services: Data transport (XML, JSON), RESTful Web services with JAX-RS
  • Enterprise Beans, Message-driven Beans; Dependency Injection and CDI Beans
  • Object-Relational Mapping (ORM), Java Persistence API, JP Query Language (JPQL), Criteria API
  • Security in Web and Enterprise applications
  • Transactions
  • Internationalization and Localization
  • Bidirectional Connection through WebSocket
  • Responsiveness of Web applications

Testing: JavaScript Testing (e.g. Jest), API Testing (e.g., Postman), Unit Testing (e.g., Junit), ...

Head Lecturer(s)

José Alexandre D'Abruzzo Pereira

Assessment Methods

Continuous Assessment
The assessment has only one component: continuous evaluation. Continuous evaluation aims to stimulate students’ participation in class activities and assess his/her evolution during the course: 100.0%

Bibliography

Jakarta EE Specefications (disponível em https://jakarta.ee/specifications/).