Tecnologias de Informação e Programação

Conhecimentos de Base Recomendados

Não aplicável.

Métodos de Ensino

– Aulas teóricas (1,5 hora/semana).
As aulas teóricas promovem a participação ativa dos alunos, através da colocação de questões durante a discussão dos temas tratados e lançamento de desafios para os alunos resolverem de forma autónoma e que culminará na resolução de um problema integrador de Engenharia e Gestão Industrial, a submeter na plataforma académica online. Os alunos são incentivados a utilizar o computador também durante as aulas teóricas de modo a permitir uma maior experimentação e acompanhamento da aprendizagem de todos os conceitos abordados onde serão realizadas demonstrações curtas seguidas de prática orientada nas aulas práticas.

– Aulas práticas (2 horas/semana).
Nas aulas práticas são aplicados os conhecimentos adquiridos nas aulas teóricas mediante a resolução de fichas de trabalho. As aulas práticas estarão sincronizadas de modo que os alunos apliquem na prática laboratorial os conceitos previamente aprendidos numa aula teórica. Serão propostos exercícios com complexidade progressiva, sendo alguns resolvidos parcialmente depois de os alunos os implementarem em pares para depuração. Será fornecido feedback formativo frequente.

Aconselha-se aos alunos a acompanharem sistematicamente as aulas teóricas, como condição indispensável ao aproveitamento escolar e à correta compreensão da matéria.

 

Resultados de Aprendizagem

Objetivos:

· Decompor algoritmicamente problemas de Engenharia e Gestão Industrial e representá-los por pseudocódigo.

· Desenvolver competências para a utilização eficiente do Microsoft Excel na organização, análise, modelação e visualização de dados.

· Implementar, testar e documentar programas introdutórios em Python.

· Tratar e analisar dados tabulares com funcionalidades elementares de pandas.

· Aplicar uma modalidade de integração entre Python e Excel, distinguindo-a das restantes.

· Introduzir a utilização responsável de ferramentas de inteligência artificial generativa, nomeadamente assistentes baseados em modelos de linguagem, como apoio à algoritmia e à programação.

· Integrar Excel, Python e algoritmia na resolução de um problema industrial simples e explicar a solução desenvolvida.

Competências Gerais:

· Aplicar pensamento computacional na análise e resolução estruturada de problemas.

· Conceber algoritmos e convertê-los em programas funcionais.

· Utilizar variáveis, expressões, fórmulas, estruturas de dados e funções na construção de modelos de cálculo.

· Desenvolver programas simples, modulares e reutilizáveis em Python.

· Utilizar o Excel para organizar, tratar, analisar e representar dados.

· Selecionar a ferramenta mais adequada para cada problema: fórmulas do Excel, Python no Excel, automatização externa ou funções personalizadas.

· Utilizar ferramentas de inteligência artificial como apoio à aprendizagem e à resolução de problemas, avaliando criticamente a correção dos resultados.

· Testar e depurar adequadamente as soluções desenvolvidas.

· Desenvolver autonomia na aquisição e aplicação de novos conhecimentos tecnológicos.

Competências Específicas:

· Identificar as entradas, saídas, restrições e etapas necessárias à resolução de um problema.

· Representar soluções através de linguagem natural estruturada e pseudocódigo.

· Utilizar tipos de dados, variáveis, operadores, expressões, estruturas condicionais, ciclos, listas, tabelas e funções.

· Implementar e executar programas simples em Python, aplicando princípios básicos de modularização, reutilização e legibilidade do código.

· Construir modelos de cálculo no Excel recorrendo a fórmulas, funções, referências, nomes, tabelas, filtros, validação de dados, gráficos e tabelas dinâmicas.

· Utilizar Python no Excel para transformar, analisar e visualizar dados, nomeadamente através de estruturas como DataFrames.

· Utilizar bibliotecas Python para ler, transformar e produzir ficheiros Excel.

· Desenvolver funções personalizadas e automatizações em Python através de uma tecnologia de integração com o Excel adequada.

· Compreender o papel das macros em VBA na manutenção e integração com soluções Excel existentes.

· Analisar criticamente código gerado por IA, identificando erros, limitações, pressupostos e possíveis melhorias.

· Documentar a utilização de IA, indicando os pedidos efetuados, as sugestões aceites ou rejeitadas, as alterações realizadas e os testes aplicados.

· Desenvolver soluções para problemas de Engenharia e Gestão Industrial.

Programa

Conceitos:

Algoritmia e pensamento computacional – Etapas na resolução computacional de um problema; Decomposição, abstração, entradas, saídas e restrições. Algoritmos, pseudocódigo e fluxogramas. Constantes, variáveis, tipos de dados, operadores e expressões. Sequência, seleção e repetição. Arrays/listas. Funções e procedimentos, argumentos, modularização e âmbito de variáveis. Teste de Algoritmos. Arquitetura elementar do computador e panorama das linguagens de programação.

IA generativa aplicada à resolução de problemas – Funcionamento e limitações dos modelos de linguagem em termos adequados a uma unidade introdutória. Construção de pedidos com contexto, objetivo, restrições, formato de saída e critérios de validação. Utilização da IA para esclarecimento conceptual, decomposição do problema, crítica de pseudocódigo, geração de casos de teste, explicação e depuração de fórmulas e programas.

Programação em Python – Ambiente de desenvolvimento e estrutura de um programa. Tipos de dados, operadores, expressões, entrada e saída, decisões, ciclos, listas, tuplos, dicionários e conjuntos. Funções, módulos, documentação, exceções e testes. Introdução a NumPy, pandas e bibliotecas de visualização, com ênfase em dados tabulares.

Python e Excel: integração, automação, extensão, visualizações e importação de dados. Automação externa: leitura e escrita de ficheiros com bibliotecas relevantes. Extensão do Excel com scripts e funções personalizadas em Python.

VBA e interoperabilidade com soluções legadas – Gravação e leitura de macros. Procedimentos simples, objetos fundamentais do Excel, propriedades, métodos e eventos. Comparação entre VBA, Python no Excel e extensões modernas. Segurança de macros e critérios para manutenção ou migração de uma solução.

 

Aplicação:

Processamento de Folhas de Cálculo – Ambiente MS Excel; Livros, folhas de cálculo e células; Fórmulas e funções; Referências relativas e absolutas; Gestão de nomes; Formatação condicional; Ordenação e filtragem de dados; Validação e proteção de dados. Gráficos e tabelas dinâmicas.

Introdução à Programação em Python – Preparação do Ambiente de Desenvolvimento e Execução de Programas em Python; estruturas condicionais, ciclos e funções em Python; biblioteca pandas e visualização.

Integração Python e Excel; Manipulação de objetos do Excel no Python; fórmulas =PY(), função xl(), DataFrames, visualizações e importação de dados. Desenvolvimento de funções personalizadas.

Docente(s) responsável(eis)

Ana Cristina Costa Oliveira Alves

Métodos de Avaliação

Avaliação periódica que termina na época de exames, constituída por (válido para todas as épocas):

  • Realização de um primeiro teste prático individual no computador sobre Excel Avançado - 5 (cinco) valores.
  • Realização de um segundo teste prático individual no computador sobre Excel Avançado e Programação - 5 (cinco) valores.
  • Realização de um exame escrito teórico-prático - 10 (dez) valores. Este último componente de avaliação tem um mínimo obrigatório de 25% (ou seja 2,5 valores em 10 possíveis nesta componente). A não obtenção desta classificação mínima implica a reprovação à disciplina.

Cada um destes elementos é apenas com consulta a um formulário fornecido previamente.

É dada a hipótese de substituir 2 valores aos 10 atribuídos ao exame escrito pela realização completa de 1 problema integrador de Engenharia e Gestão Industrial lançado ao longo do semestre letivo, nas aulas teóricas, a submeter na plataforma académica online. Este consiste na resolução de um problema de programação tanto em pseudo-código, o seu teste, utilização de IA generativa de forma responsável e sua documentação, e implementação em linguagem de programação. Somente os alunos que obtiverem 2/3 de presenças nas aulas teóricas terão direito a submeter o problema, obter feedback através de uma apresentação individual no fim do semestre. Na avaliação é considerada o melhor dos casos: Exame avaliado em 8 valores + problema integrador avaliado em 2 valores OU Exame avaliado em 10 valores. O mínimo obrigatório contempla, caso o aluno o submeta, o problema integrador.

Os alunos que comprovadamente não puderem comparecer às aulas teóricas pelas situações previstas no regulamento (e.g. trabalhadores-estudantes), sobreposição de horário (**), ou em mobilidade Erasmus, poderão ter possibilidade de submeter e defender a solução do problema integrador desde que contactem a docente nas primeiras semanas de aulas.

(**) Na sobreposição de horários, excluem-se os alunos inscritos no primeiro ano pela primeira vez, já que esta situação encontra-se salvaguardada pela não sobreposição de horários.

Os alunos que de forma justificada não puderem comparecer num(os) dia(s) do(s) teste(s) prático(s) na época normal, deverão entrar em contacto com a docente responsável de modo a definir a nova data do teste prático, que poderá ser realizado no mesmo dia do exame da época normal. A justificação e falta deve ser realizada junto do(a) Coordenador(a) do Curso.

A realização de provas orais complementares poderá constituir um instrumento de avaliação adicional, sempre que se considere necessária para dissipar dúvidas ou esclarecer situações suspeitas de fraude ou plágio.


    Estágio(s)

    NAO

    Bibliografia

    Principal:

    – Costa, E. (2021). Programação em Python: fundamentos e resolução de problemas. FCA Editora. ISBN 9789727228164 [1A-1-457 (ISEC)]

    – Almeida, P. T. (2021). Excel avançado. 4ª edição. Edições Sílabo. ISBN 9789895611911 [1A-3-260 (ISEC)]

    – Zumstein, F. (2021). Python for Excel – The Book, A Modern Environment for Automation and Data Analysis. O’Reilly Media. ISBN: 9781492081005 [1A-4-213 (ISEC)]

    Secundária:

    – Carvalho, A. (2019). Automatização em Excel: 69 exercícios. FCA Editora. ISBN 9789727228720 [1A-3-257 (ISEC), 1A-3-258 (ISEC), 1A-3-259 (ISEC)]

    – Lemonde, Carlos (2024). Python com Excel – Automação e Análise de Dados. Lisboa: FCA. ISBN: 9789727229369

    – McFedries, P. (2022). Microsoft Excel Formulas and Functions (Office 2021 and Microsoft 365). Microsoft Press. ISBN: 9780137559404.

    – Material online de acesso gratuito disponibilizado pela Microsoft