Publication in the Diário da República: Despacho n.º 12805/2021 - 29/12/2021
6 ECTS; 1º Ano, Anual, 70,0 TP , Cód. 602417.
Lecturer
- Paulo Sérgio Correia Monteiro (1)(2)
(1) Docente Responsável
(2) Docente que lecciona
Prerequisites
Not applicable
Objectives
Provide students with the knowledge and tools required for modern software development in Java, focusing on object-oriented programming fundamentals, backend architectures, API integration, version control, containerization and distributed systems. The course also introduces emerging concepts related to intelligent agents, LLMs/SLMs, NoSQL databases, Vector DBs and hybrid neuro-symbolic architectures, preparing students to design current, scalable application solutions integrated with Artificial Intelligence components.
Program
Fundamentals of object-oriented programming in Java. Java SE and IntelliJ IDEA: IDE mastery and productivity. Strong typing, classes, interfaces and inheritance. Git and GitHub. Monolithic and microservice architectures. Docker and Docker Compose. Apache Maven. HTTP and JSON protocols. Web API integration and data serialization in Java. Intelligent agents: LLMs, SLMs and Ollama. Hybrid neuro-symbolic architectures. Introduction to search and exploration heuristics. Natural Language Processing and linear algebra. NoSQL databases. Non-relational storage, in-memory Vector DBs and the RAG flow in Java memory.
Evaluation Methodology
14 Practical Work (30%)
1 Final Project (70%)
Bibliography
- Fahmy, M. e Menshawy, A. (2025). LLMs in Enterprise Design Strategies, Patterns, and Best Practices for Large Language Model Development. UK: Packt Publishing Limited
- Schildt, H. e Coward, D. (2022). Java: the complete reference. New York: McGraw-Hill Education
Teaching Method
The course uses a variety of teaching methods, including theoretical and practical classes, individual and group projects, review exercises and problem solving, with the aim of developing students' ability to work in teams.
Software used in class
JDK / Java SE
IntelliJ IDEA
Apache Maven
Git
GitHub
Docker
Docker Compose
Postman
Ollama
Java libraries for HTTP, JSON and serialization
NoSQL database
Vector DB / in-memory vector storage in Java

















