9119114 - IPBeja

Propaganda
Escola Superior de Tecnologia e Gestão
Descritor de Unidade Curricular
Nível de ciclo de estudos:
Licenciatura
Curso:
Engenharia Informática
Unidade Curricular: 9119114 – Linguagens de Programação
Ano 2
Semestre 3
Tipo de Unidade Curricular: Obrigatória
Área CNAEF: 523
Modo de Ensino: Presencial
ECTS: 6,0
Língua de Trabalho: Português
DOCENTE RESPONSÁVEL: José Jasnau Caeiro
TEMPO DE TRABALHO DO ESTUDANTE EM HORAS
Horas de Contacto
HORAS
TOTAIS
Ensino
teórico
(T)
Ensino
teóricoprático
(TP)
Ensino
prático e
laboratorial
(PL)
15
45
150
Trabalho
de campo
(TC)
Seminário
(S)
Estágio
(E)
Orientação
tutorial
(OT)
Outra
(O)
Horas de
Trabalho
Autónomo
90
Pré-requisitos (se aplicável): n/a.
OBJETIVOS EDUCACIONAIS / RESULTADOS DE APRENDIZAGEM
C1 Classificação e propriedades das linguagens de programação
C2 Paradigmas de programação: imperativo; funcional e orientado por objetos
C3 Programação imperativa em Python
C4 Programação funcional em Python
C5 Programação orientada por objetos em Python
C6 Desenvolvimento de protótipos de aplicações com Python
C7 Programação em Python com ligação a outras linguagens de programação (Java e C)
C8 Interfaces gráficas em Python
C9 Aplicações matemáticas e numéricas em Python
C10 Utilização da plataforma .NET
C11 Programação com C#
C12 Programação orientada por objetos em C#
C13 Programação funcional orientada por objetos em C#
C14 Utilização de sistemas de consulta integrada LINQ
CONTEÚDOS PROGRAMÁTICOS
I Linguagens de Programação
I.1 Sintaxe e semântica: gramática e Backus-Naur-Form
I.2 Sistemas de tipos
I.3 Paradigmas de programação: funcional; orientado por objetos e imperativo.
I.4 Interpretação e compilação. Compilação Just in Time.
II Python
II.1 Sistema de Tipos
Página 1 de 3
II.2 Estruturas de Controlo de Fluxo
II.3 Funções
II.4 Programação funcional e recursividade
II.5 Estruturas de dados sequenciais
II.6 Cadeias de carateres
II.7 Ficheiros
II.8 Bases de dados embebidas
II.9 Exceções
II.10 Iteradores e Geradores
II.11 Programação orientada por objetos
II.12 Bibilioteca padrão
II.13 Interfaces gráficas
II.14 ORM e Web Framework
II.15 Cálculo Numérico e Cientifico
III C#
III.1 Plataforma .NET
III.2 Sistema de tipos
III.3 Cadeias de caracteres
III.4 Controlo de fluxo
III.5 Programação Orientada por objetos
III.6 Eventos, delegates e expressões lambda
III.7 Exceções
III.8 LINQ
DEMONSTRAÇÃO DA COERÊNCIA DOS CONTEÚDOS PROGRAMÁTICOS COM OS OBJETIVOS DE APRENDIZAGEM
A matriz de relação de conteúdos programáticos com os objetivos de aprendizagem é:
C1 – I1, I2
C2 - I3
C3 – II.1, II.2, II.3, II.5, II.6, II.7, II.8, II.9
C4 – II.4, II.10
C5 – II.11
C6 – II.12, II.14
C7 – II.12
C8 – II.13
C9 - II.15
C10 – III.1
C11 – III.2, III.3, III.4, III.7
C12- III.5
C13- III.6
C14- III.8
MÉTODOS DE ENSINO E APRENDIZAGEM
Aulas teórico-práticas com exposição de slides em ecrã. Realização em aulas práticas de código em guias de laboratório.
DEMONSTRAÇÃO DA COERÊNCIA DAS METODOLOGIAS DE ENSINO COM OS OBJETIVOS DAS APRENDIZAGENS*
Os conceitos teóricos de linguagens de programação e a exposição formal da sintaxe de Python e C# adequam-se ao ensino
em ambiente de aula teórica com slides. O treino da programação requer aulas práticas com guias de orientação da execução
Página 2 de 3
do código.
MÉTODOS DE AVALIAÇÃO
Realização dum trabalho prático em Python (25% da avaliação). Realização dum trabalho prático em C# (25% da avaliação).
Realização de exame (50% da avaliação).
BIBLIOGRAFIA PRINCIPAL
[1] Mark Lutz, "Learning Python 5ed," O'Reilly Media, 2013.
[2] Luciano Ramalho, "Fluent Python," O'Reilly Media, 2015.
[3] David Beazley e Brian Jones, "Python Cookbook, 2ed", O'Reilly Media, 2013.
[4] Rob Miles, “C# Programming Yellow Book, 7ed” University of Hull, 2015.
Ano letivo de entrada em vigor: 2015/2016 | Data de aprovação em Conselho Técnico-Científico: 2016-01-06
Página 3 de 3
Download