Skip to main content

ISLA IPGT 7337

Fundamentos de Programação

Multimédia (L) (ISLA GAIA)
  • ApresentaçãoPresentation
    Esta disciplina é essencial para a formação de qualquer profissional da área de Informática, pois apresenta os fundamentos da programação, que servem como base para diversas matérias futuras, como Linguagens de Programação I e II, Algoritmos e Estruturas de Dados, Programação Web, entre outras. O foco vai além da simples aprendizagem de uma linguagem de programação: o/a aluno/a desenvolve capacidades de pensamento lógico, analisar problemas e criar algoritmos para solucioná-los, utilizando ferramentas como fluxogramas e programas desenvolvidos em Kotlin. Esta linguagem se destaca por combinar as melhores características das linguagens modernas mais populares, como Java e Python, entre outras, tornando-se uma escolha promissora no mercado. Por ser o primeiro contato de muitos estudantes com a Programação, esta UC assume um papel crucial tanto na construção de conhecimentos básicos quanto no estímulo à motivação dos estudantes para programar.
  • ProgramaProgramme
    Conteúdos programáticos:   Conceitos Conceitos de computação, Analise de problemas, Representação lógica de processo, Metodologia de aproximação descendente e modula, Metodologia de programação estruturada e estilo de programação; Algoritmos e a modelação de problemas; Linguagens e paradigmas de programação; Fases do desenvolvimento de uma aplicação; Princípio no desenvolvimento de software de qualidade. Algoritmos e estruturas de dados Linguagens de representação algoritmia; Estruturas de dados; Conceitos de estruturas de dados; Dados simples: Numérico, Booleano, Alfanumérico.; Dados complexos: Vetores e Matrizes, Identificadores, Variáveis, Constantes, Operações e Expressões, Atribuição, leitura e escrita de dados, Estruturas de Controlo e Repetição, Modularização, Estruturas e ficheiros,  Linguagens programação: Metodologia Procedimental versus Orientada a Objetos; . Linguagem Python: Estrutura, Operadores, Funções, estruturas de dados em Python.
  • ObjectivosObjectives
    Objetivos de aprendizagem (conhecimentos, aptidões e competências a desenvolver pelos estudantes): Programar os computadores para a resolução de problemas. Algoritmia. Pseudocódigo. Programação estruturada. Estudo das estruturas de dados fundamentais em programação. Algoritmos elementares de ordenação e pesquisa. Utilização de uma linguagem de programação, o Python. Introdução aos novos paradigmas de programação .NET / Java e programação orientada a objetos. Em suma, construção de algoritmos que são a base da programação. Competências: Aplicar métodos adequados na descrição detalhada da solução do problema; Análise e resolução de problemas de uma forma estruturada; Aplicação das metodologias de desenvolvimento de software; Conhecimento das principais estruturas de dados; Conhecimento das principais estruturas de programação; Conhecimento dos paradigmas de programação procedimental e orientada a objetos; Aplicação dos algoritmos na linguagem de programação Python.  
  • BibliografiaBibliography
    Singh, B. (2015) Algorithm, Pseudocode and Flowchart: Learn Algorithm in Simple Steps. Subramanian, V. (2019) Programming Kotlin. The Pragmatic Programmers. COSTA, Ernesto, Programação em Python - Fundamentos e Resolução de Problemas, FCA, 2015  
  • MetodologiaMethodology
    Metodologias de ensino (avaliação incluída): Metodologia de ensino: As aulas teóricas de exposição da matéria recorrendo ao método expositivo, interrogativo e interativo, sendo complementadas com aplicação prática de imediato através de exercícios e trabalhos. Assim, cada tópico estudado é reforçado através de exercícios práticos. Portanto, será usada a metodologia de Aprendizagem Baseada em Resolução de Problemas (ABRP). Os estudantes escolhem entre Avaliação Contínua (1) ou Avaliação Final (2). 1. Avaliação Contínua: - Trabalho prático (Relatório e projeto); 40%; - Exercícios de aula: 20% - Teste final prático; 40%;   2. Avaliação Final: -Teste de Avaliação Global (TAG) prático; 100%; Todos os estudantes que não tenham concluído com sucesso a avaliação podem realizar um exame final prático na época de avaliação definida pela instituição.
  • LínguaLanguage
    Português
  • TipoType
    Semestral
  • ECTS
    6
  • NaturezaNature
    Obrigatório
  • EstágioInternship
    Não