Saltar para:
This page in english Ajuda Autenticar-se
ESTS
Você está em: Início > LTB11005
Autenticação




Esqueceu-se da senha?

Mapa das Instalações
Edifício ESTS Bloco A Edifício ESTS Bloco B Edifício ESTS Bloco C Edifício ESTS Bloco D Edifício ESTS Bloco E Edifício ESTS BlocoF

Programação

Código: LTB11005     Sigla: PROG

Áreas Científicas
Classificação Área Científica
OFICIAL Informática

Ocorrência: 2023/2024 - 1S

Ativa? Sim
Página Web: https://moodle.ips.pt/2324/course/view.php?id=1891
Unidade Responsável: Departamento de Sistemas e Informática
Curso/CE Responsável: Licenciatura em Tecnologia Biomédica

Ciclos de Estudo/Cursos

Sigla Nº de Estudantes Plano de Estudos Anos Curriculares Créditos UCN Créditos ECTS Horas de Contacto Horas Totais
LTB 52 Plano de Estudos 1 - 6 75 162

Docência - Responsabilidades

Docente Responsabilidade
Miguel Angel Guevara López Responsável

Docência - Horas

Ensino Teórico-Prático: 3,00
Ensino Prático e Laboratorial: 2,00
Tipo Docente Turmas Horas
Ensino Teórico-Prático Totais 1 3,00
Miguel Angel Guevara López 3,00
Ensino Prático e Laboratorial Totais 3 6,00
Miguel Angel Guevara López 6,00

Língua de trabalho

Português

Objetivos

Que o aluno adquira e consolide conhecimentos, aptidões, e competências na:

 

  • Aprendizagem dos fundamentos concetuais ao desenvolvimento e codificação de algoritmos em linguagens de programação;
  • Desenvolvimento de aplicações informáticas em linguagens de alto nível;
  • Aplicação prática dos conteúdos programáticos em problemas reais utilizando os paradigmas de programação procedimental e imperativa, e programação orientada por objetos;
  • Desenvolvimento da capacidade de raciocínio lógico e formal na resolução de problemas complexos.

Resultados de aprendizagem e competências

Ao completar esta unidade curricular os estudantes irão adquirir os conhecimentos e competências necessárias para:

  • Aplicar as suas capacidades de raciocínio lógico e formal (adquiridas) na resolução de problemas complexos.
  • Desenvolvimento de algoritmos e métodos para resolver problemas reais, em particular, no campo das ciências biomédicas.
  • Implementar protótipos de software / soluções informáticas utilizando paradigmas e ferramentas de programação recentes, com recurso à linguagem Python.

Modo de trabalho

Presencial

Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)

Dado que é o primeiro contato com algoritmos, estruturas de dados e linguagens de programação no atual plano curricular.  Esta unidade curricular introduz a programação procedimental e imperativa, e também o paradigma orientado a objetos (Introdução à Programação Orientada por Objetos). Portanto, os estudantes não precisam ter conhecimentos prévios relativamente às ciências da computação.

Programa


  1. Enquadramento da programação (5%)

    • Descrição básica de um computador.

    • Representação de Informação.

    • A programação e a resolução de problemas.



  2. Algoritmos (5%)

    • Algoritmos e programas.

    • Conceito de Algoritmo, abordagens bottom-up e top-down.



  3. Linguagens de programação (5%)

    • Conceitos de: linguagem natural, pseudocódigo, linguagem de programação.

    • Linguagens de baixo-nível vs linguagens de alto-nível.

    • Linguagens tipificadas vs não-tipificadas, compiladas e interpretadas.

    • Fases de desenvolvimento de programas.



  4. Programação numa linguagem de alto nível, orientada ao exemplo: Python (85%)

    • Princípios de programação em Python:

      • Estrutura de um programa.

      • Expressões, Tipos de dados.

      • Instruções de entrada e saída.

      • Estruturas de controlo.

      • Funções / Subprogramas



    • Tipos de dados estruturados.

      • Arrays, Listas, dicionários, tuples, sets.



    • Introdução a programação orientada por objetos.

      • Noção de classe, objeto e atributos

      • Noções de visibilidade e encapsulamento

      • A noção de herança e polimorfismo

      • Introdução às exceções.



    • Utilização de bibliotecas externas.

    • Abordagens às ferramentas de desenvolvimento (IDEs, Jupyter Notebooks, Google colaboratory, github).

    • Processamento de sequências de dados (p.e.,ficheiros texto, Excel)

    • Introdução ao Aprendizagem de Máquina.



Bibliografia Obrigatória

Andrew Bird, Dr Lau Cher Han, Mario Corchero Jiménez, Graham Lee, Corey Wade; The Python Workshop: Learn to code in Python and kickstart your career in software development or data science. 1st Edition., Packt Publishing, 2019. ISBN: 978-1-83921-885-9
Sebastian Raschka, Vahid Mirjalili; Python Machine Learning Third Edition, Packt Publishing, 2019. ISBN: 978-1-78995-575-0

Bibliografia Complementar

John V. Guttag; Introduction to Computation and Programming Using Python with Application to Understanding Data, Massachusetts Institute of Technology, 2016. ISBN: 9780262529624
Steven F. Lott, Dusty Phillips ; Python Object-Oriented Programming: Build robust and maintainable object-oriented Python applications and libraries, 4th Edition , Packt Publishing, 2021. ISBN: 978-1801077262
Mark Lutz; Programming Python, O’Reilly Media, 2011. ISBN: 978-0-596-15810-1
Python Software Foundation; The Python Tutorial (website (https://docs.python.org/3/tutorial/index.html))
Behrouz A. Forouzan; Foundations of Computer Science, 4th Edition, Cengage Learning EMEA, 2018. ISBN: 9781473751040

Métodos de ensino e atividades de aprendizagem

A metodologia de ensino é essencialmente baseada em aulas iminentemente teórico-práticas e laboratórios. Pretende-se que os alunos apliquem diretamente os conhecimentos que vão adquirindo e ao mesmo tempo estimulem a criatividade e o raciocínio com desafios reais. Adicionalmente, os alunos têm suporte extra-aulas, efetuado através da plataforma de e-Learning.

 

Para dar suporte à implementação prática dos conceitos teóricos é utilizada a linguagem de programação Python. Para tal, são ministrados os conceitos fundamentais da linguagem, com recurso aos paradigmas de programação (i) procedimental e imperativa, e (ii) orientada por objetos.

Software

Plataforma Anaconda-Python (Anaconda Distribution)
Visual Studio Code

Tipo de avaliação

Avaliação distribuída com exame final

Componentes de Avaliação

Designação Peso (%)
Defesa pública de dissertação, de relatório de projeto ou estágio, ou de tese 30,00
Teste 30,00
Trabalho laboratorial 20,00
Trabalho escrito 20,00
Total: 100,00

Componentes de Ocupação

Designação Tempo (Horas)
Elaboração de projeto 40,00
Estudo autónomo 45,00
Frequência das aulas 56,00
Trabalho escrito 4,00
Trabalho laboratorial 30,00
Total: 175,00

Obtenção de frequência

9,5/20

Nota: Os alunos que tenham vencido qualquer um das componentes TP (Teórico - Práticas) ou LAB (Projeto + Laboratorios), seram dispensados de realizar essa componente em época de recurso.

Fórmula de cálculo da classificação final

50% TP + 50% LAB (average> = 9.5)
Recomendar Página Voltar ao Topo
Copyright 1996-2024 © Instituto Politécnico de Setúbal - Escola Superior de Tecnologia de Setúbal  I Termos e Condições  I Acessibilidade  I Índice A-Z
Página gerada em: 2024-11-22 às 14:23:25