Contacto WhatsApp 961135355

Universidade Lusófona do Porto

Algoritmia

Apresentação

Esta unidade curricular irá incidir sobre a essência do algoritmo, a importância de garantir a corretidão e compleição do mesmo e a sua importância na criação de programas eficazes e, ao mesmo tempo, eficientes no uso do espaço temporal e de armazenamento.

A UC faz parte da àrea associada à programação e pretende, de forma geral, preparar o aluno para a análise e formulação de algoritmos que possam responder às diferentes necessidades no desenvolvimento de programas informáticos eficientes e que sejam orientados de forma correta à resoluçao dos problemas apresentados.

Os conteúdos serão introduzidos com particular orientação ao desenvolvimento de aplicações multimédia e jogos, com perfeita noção de que os alunos poderão apresentar poucos ou nenhuns conhecimentos relacionados com a matéria a lecionar.

Curso

Videojogos e Aplicações Multimédia (ULP)

Grau|Semestres|ECTS

| Semestral | 4

Ano | Tipo de unidade curricular | Lingua

1 |Obrigatório |Português

Código

ULP2533-7338

Disciplinas complementares recomendadas

Fundamentos da Programação

Estágio profissional

Não

Conteúdos Programáticos

A base da algoritmia

  • Definição de algoritmo
  • A relação entre a rotina do ser humano e o algoritmo
  • Definição de atividades sob a forma de fluxogramas

Resolução de problemas

  • Análise de problemas
  • Definição informal das estratégias para resolução de um dado problema
  • Tradução de linguagem informal num raciocínio lógico

Aplicação da algoritmia

  • Criação de um algoritmo orientado para a resolução de um problema específico
  • Representação e notação algorítmica
  • Algoritmos comuns: ordenação e pesquisa

A algoritmia e a programação

  • Transformação de um algoritmo em pseudo-código
  • Análise de complexidade algorítmica

Objetivos

  • Capacidade de compreender um problema e traduzi-lo na forma de um fluxograma / sequência lógica de passos para a resolução do mesmo
  • Entender a relação entre um fluxograma e um algoritmo
  • Ser capaz de definir o conceito de algoritmo
  • Compreender e ser capaz de aplicar programação dinâmica para uma resolução mais eficiente de problemas
  • Ser capaz de identificar a diferença entre um processo imperativo e um processo recursivo
  • Ser capaz de perceber a aplicação de algoritmos bem definidos de pesquisa e ordenação
  • Compreender as diferentes estruturas de dados e como aplicá-las para resolver de forma mais eficiente diferentes tipos de problemas
  • Saber definir um algoritmo sob a forma de pseudo-código e analisar a complexidade do mesmo
  • Aprender a notação algorítmica
  • Perceber a ligação entre um algoritmo e a programação

Metodologias de ensino e avaliação

Aulas

  • Apresentações teóricas breves
  • Resolução de exercícios e trabalhos de grupo

Avaliação Contínua 

  • 75% componente teórica: realização de 2 frequências, com um valor mínimo de 35% em cada (7+ valores)
  • 25% componente prática: participação na aula e nos trabalhos/exercícios a realizar

Avaliação de Recurso

Para estudantes sem aproveitamento na avaliação contínua ou para melhoria de nota

  • 100% componente teórica: realização de 1 exame escrito

Bibliografia principal

  • Cormen, T., Leiserson, C., Rivest, R. & Stein, C. - Introduction to Algorithms (3ª ed.). The MIT Press, 2009, 9780262259460

 

Horário de Atendimento

Nome do docente  

Horário de atendimento

Sala