Unidade Curricular: | Código: | ||
Introdução à Algoritmia e Programação | 1093IAPG | ||
Ano: | Nível: | Curso: | Créditos: |
1 | Licenciatura | Engenharia Informática | 6 ects |
Período Lectivo: | Língua de Instrução: | Nº Horas: | |
Primeiro Semestre | Português/Inglês | 78 | |
Objectivos de Aprendizagem: | |||
Ao completar com sucesso a unidade curricular os alunos devem ser capazes de (learning outcomes - LO): LO1 - formular problemas em linguagem natural e a sua tradução numa linguagem abstrata LO2 - explicar a noção de algoritmo, e dominar a sua descrição utilizando diversas notações estruturadas LO3 - explicar e simular a execução de um algoritmo e seus resultados LO4 - distinguir e utilizar corretamente conceitos de programação como estruturas de controlo, tipos e declarações de dados, operadores e expressões LO5 - aplicar procedimentos e funções como forma de estruturação de algoritmos LO6 - aplicar estruturas de dados básicas como vetores, matrizes e cadeias de caracteres em algoritmos LO7 - aplicar tipos estruturados e ficheiros em algoritmos LO8 - aplicar a linguagem de programação procedimental C na implementação de algoritmos introdutórios | |||
Conteúdos Programáticos: | |||
1. Algoritmos (ALG) e Computação 1.1 Definições 1.2 Representação 1.3 Execução 2. Introdução à Programação 2.1 Conceitos de software 2.2 Linguagem máquina, assembly e de alto nível 3. Tipos e declarações de dados, expressões e funções intrínsecas 3.1 Tipos de dados: ordinais, reais, cadeia de caracteres, definição e conversão de tipos 3.2 Constantes 3.3 Operadores e expressões 3.4 Funções intrínsecas 4. Estruturas de controlo 4.1 Instruções simples e estruturadas 4.2 Instruções: condicionais, repetitivas, de salto 4.3 Estruturas embutidas 5. Funções 5.1 Conceito 5.2 Variáveis locais e globais 5.3 Funções 5.4 Recursão 6. Variáveis indexadas e cadeias de caracteres 6.1 Conceitos 6.2 Vetores e Matrizes 6.4 Cadeias de caracteres 7. Tipos Estruturados 7.1 Definições 7.2 Registos definidos pelo utilizador 8. Ficheiros 8.1 Noção, tipo e uso de ficheiros 8.2 Ficheiros de texto e de acesso direto | |||
Demonstração da Coerência dos Conteúdos Programáticos com os Objectivos da Unidade Curricular: | |||
Os conteúdos programáticos apresentados são coerentes com os objetivos de aprendizagem da unidade curricular uma vez que existe uma grande convergência entre os capítulos do programa da cadeira e os conhecimentos que é suposto o aluno adquirir em cada um desses capítulos. Os conceitos fundamentais de algoritmia e computação são apresentados nos capítulos introdutórios, nos capítulos seguintes são apresentados os fundamentos de programação de computadores. Os objetivos da aprendizagem são atingidos complementando os conceitos teóricos com exemplos e exercícios concretos executados em ambiente de laboratório recorrendo a software apropriado | |||
Metodologias de Ensino (Avaliação Incluída): | |||
Esta Unidade Curricular (UC) é classificada como de Projeto e contém competências nucleares que não são passíveis de avaliação em exame. Há elementos de avaliação contínua em cuja média pesada se exige positiva, a Nota Prática de Avaliação Contínua (NPAC) Resultados de avaliação: a) Aluno atinge objetivos mínimos (NPAC >= 9,5 valores) e Nota Final positiva (NF1 >=9,5 valores) em avaliação contínua. Aprova à UC com a NF1 b) Aluno atinge objetivos mínimos (NPAC >= 9,5 valores) e (NF1 < 9,5 valores). Pode ser avaliado em exame. Avaliação em exame é independente da avaliação contínua. Nota Final da UC é NF2 c) Aluno não atinge objetivos mínimos (NPAC < 9,5 valores). Não tem aprovação à UC e não poderá aceder ao exame Elementos de avaliação previstos: 1. Teste 1 2. Teste 2 3. Projeto prático 4. Exame Modelo de Avaliação Contínua: NPAC = (3) NF1 = ((1) + (2) + NPAC)/3, NPAC >= 9,5 Modelo de Avaliação Exame (NPAC >= 9,5): NF2 = (4) | |||
Demonstração da Coerência das Metodologias de Ensino com os Objectivos de Aprendizagem da Unidade Curricular: | |||
Nas aulas teórico-práticas (TP) os conceitos são apresentados intercalados com exemplos e exercícios. Nas aulas prático-laboratoriais (PL) são colocados e resolvidos exercícios e problemas, eventualmente recorrendo a software apropriado. São considerados dois modelos de avaliação nesta UC. -Modelo aplicado em avaliação contínua: Nota_Final_IAP = (1/3) x Teste escrito 1 + (1/3) x Teste escrito 2 + (1/3) x Proj_Software Nota mínima: Proj_Software >= 10 O Proj_Software é obrigatoriamente feito por avaliação contínua e não é sujeito a exame. Consiste num projeto de programação realizado durante o semestre. Caso o aluno não submeta o projeto terá zero valores e apenas poderá realizar o projeto numa edição subsequente da UC. -Modelo aplicado em exame (aplicável apenas se Proj_Software >= 10): Nota_Final_IAP = Nota do exame | |||
Bibliografia: | |||
[Sa] Marques de Sá, J. P. “Fundamentos de Programação Usando C”, Editora FCA, 2004, ISBN 972-722-475-X [Damas] Damas, Luis “Linguagem C”, Editora FCA, 1999, ISBN 972-722-156-4 [Samp] Sampaio, Isabel; Sampaio, Alberto “Fundamental da Programação em C”, Editora FCA, 1998, ISBN 972-722-130-0 [Vasc] José Vasconcelos e João Carvalho, “Algoritmia e Estruturas de Dados – Programação nas linguagens C e Java”, Editora, Centro Atlântico, 2005, ISBN 989-615-012-5 [KR] Kernighan, Brian W. “The C Programming Language”, Prentice-Hall International, 1988 [CLR] Cormen, Leiserson, Rivest “Introduction to Algorithms “ MIT-Press, 1990, ISBN: 0-262-03141-8 | |||
Docente (* Responsável): | |||
José Manuel Torres (jtorres@ufp.edu.pt) |