Tecnologias e Programação de Sistemas de Informação

Programming III

<< back to Curriculum Plan

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

 

 

 


<< back to Curriculum Plan
ISO 9001
NP4552
SGC
KreativEu
erasmus
catedra
b-on
portugal2020
centro2020
compete2020
crusoe
fct
feder
fse
poch
portugal2030
poseur
prr
santander
republica
UE next generation
Centro 2030
Lisboa 2020
Compete 2030
co-financiado