Back

Programação

    Detalhes do curso

  • Conhecimentos de Base Recomendados

    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.

  • 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.


    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.

  • Métodos de Ensino

    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.

  • Estágio(s)

    Nã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.



  • Demonstração de conteúdos

    -

  • Demonstração da metodologia

    -

  • Docente(s) responsável(eis)

    José António Sena Pereira - 1.º Semestre

  • Bibliografia

    John V. Guttag; Introduction to Computation and Programming Using Python with Application to Understanding Data, Massachusetts Institute of Technology, 2016. ISBN: 9780262529624
    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
    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
    Sebastian Raschka, Vahid Mirjalili; Python Machine Learning Third Edition, Packt Publishing, 2019. ISBN: 978-1-78995-575-0
    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

  • Código

    LTB11005

  • Modo de Ensino

    PRESENCIAL

  • ECTS

    6.0

  • Duração

    Semestral

  • Horas

    30h Práticas e Laboratórios

    45h Teórico-Práticas

Conteúdo atualizado em 21/03/2025 15:46
Visão Geral da Privacidade
Escola Superior de Ciências Empresariais - ESCE/IPS

Este site utiliza cookies para lhe oferecer a melhor experiência possível. As informações dos cookies são armazenadas no seu navegador e permitem funcionalidades como reconhecê-lo quando regressa ao nosso site e ajudar a nossa equipa a perceber quais as secções que considera mais interessantes e úteis.

Cookies Estritamente Necessários

Os cookies estritamente necessários devem estar sempre ativados para que possamos guardar as suas preferências de configuração de cookies.

Cookies de Terceiros

Este site utiliza o Google Analytics para recolher informação anónima, como o número de visitantes do site e as páginas mais populares. Manter este cookie ativado ajuda-nos a melhorar o nosso website.