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.
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)
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
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
- António Manuel Ribeiro dos Anjos [responsável]