2025

Programação e Sistemas Inteligentes

Nome: Programação e Sistemas Inteligentes
Cód.: INF10358M
6 ECTS
Duração: 15 semanas/156 horas
Área Científica: Informática

Língua(s) de lecionação: Português
Língua(s) de apoio tutorial: Português, Inglês
Regime de Frequência: Presencial

Objetivos de Desenvolvimento Sustentável

Objetivos de Aprendizagem

O objetivo desta Unidade Curricular é capacitar os alunos a desenvolver programas de controlo e monitorização, recorrendo a microcontroladores, e aplicando Programação Orientada a Objetos (OOP), sempre que possível, para melhorar a organização e modularidade do código. Os alunos aprenderão a integrar sensores e atuadores, realizar a comunicação de dados em redes locais (LAN) e de longa distância (WAN), e aplicar conhecimentos básicos de eletrónica. Além disso, conhecerão e aprenderão a utilizar os componentes eletrónicos necessários para a realização de exercícios práticos propostos. Os alunos também serão capazes de criar interfaces gráficas e utilizar serviços em nuvem para interagir com os sistemas desenvolvidos, e para permitir o controlo e a automação de processos.

Conteúdos Programáticos

Introdução aos Microcontroladores
Operadores e Tipos de Dados
Operadores Lógicos e Relacionais
Funções e Módulos
Repetição e Decisões
Programação Orientada a Objetos
Coleções
Leitura e Escrita Digital
Conversão ADC e DAC
Pulse-Width Modulation (PWM)
Amplificação
Timers e Interrupts
Introdução às Redes IP
Sockets
Servidor Web
Serviços de Cloud

Nota: A ordem pode variar. Em particular, os tópicos de eletrónica serão intercalados com os tópicos de programação, à medida que forem sendo necessários para a resolução de problemas práticos.

Métodos de Ensino

As aulas teóricas apresentam a matéria de forma alinhada com o programa, transmitindo incrementalmente os conhecimentos necessários. As aulas são interativas, incorporando apresentações multimédia, demonstrações do docente e discussões participativas com os estudantes para reforçar a compreensão dos conceitos abordados. Os conteúdos de eletrónica serão introduzidos à medida que forem necessários para resolver exercícios de programação que envolvem hardware (e.g., microcontroladores, sensores, atuadores). Nas práticas, os estudantes aplicam os conhecimentos teóricos por realizar de fichas de trabalho, com acompanhamento direto do docente, garantindo uma correta apreensão dos conteúdos. Haverá questionários online que os alunos poderão responder para reforçar a assimilação dos conteúdos. Além disso, os estudantes desenvolverão um projeto, que será avaliado, permitindo-lhes consolidar e aplicar, de forma integrada, os conhecimentos adquiridos ao longo do curso.

Avaliação

Época normal e Recurso:
50% - Exame
50% - Projeto (pode incluir relatório + código fonte + apresentação)

Há nota mínima de 7,5 valores para cada componente (i.e., Exame e Projeto)

Bibliografia

Programming with MicroPython: Embedded Programming with Microcontrollers and Python, 1st Edition, Nicholas Tollervey

Practical Programming, Third Edition ? An Introduction to Computer Science Using Python 3.6, Paul Gries, Jennifer Campbell, Jason Montojo

Lessons In Electric Circuits ? Vols I and III, Tony R. Kuphaldt

Equipa Docente