Código: | EEC0009 | Sigla: | PROG2 |
Áreas Científicas | |
---|---|
Classificação | Área Científica |
OFICIAL | Informática |
Ativa? | Sim |
Página e-learning: | https://moodle.fe.up.pt/ |
Unidade Responsável: | Departamento de Engenharia Informática |
Curso/CE Responsável: | Mestrado Integrado em Engenharia Electrotécnica e de Computadores |
Sigla | Nº de Estudantes | Plano de Estudos | Anos Curriculares | Créditos UCN | Créditos ECTS | Horas de Contacto | Horas Totais |
---|---|---|---|---|---|---|---|
MIEEC | 377 | Plano de estudos de Transição a partir de 2010/11 | 1 | - | 7 | 77 | 189 |
Plano de estudos oficial | 1 | - | 7 | 77 | 189 |
Desenvolver programas em linguagem C, envolvendo a selecção e adaptação de estruturas de dados lineares, árvores binárias e tabelas de dispersão, e a sua utilização em algoritmos fundamentais de ordenação e pesquisa. Utilizar técnicas baseadas em compilação separada e em programação mista em C e assembly. Avaliar as relações entre as características da arquitectura do processador e o seu desempenho.
No final da unidade curricular os alunos devem:
- conseguir desenvolver programas em C, envolvendo a selecção e adaptação de estruturas de dados e algoritmos;
- saber aplicar metodologias e técnicas para desenvolvimento de aplicações;
- conhecer estruturas de dados lineares, árvores binárias e tabelas de dispersão;
- ter conhecimentos fundamentais de algoritmia;
- conhecer e saber aplicar algoritmos de procura e ordenação.
Conhecimentos de fundamentos de programação e de arquitectura de computadores adquiridos em Programação 1 e Laboratórios de Sistemas Digitais.
1. Programação em C e Metodologias de Desenvolvimento
* Consolidação de conceitos básicos de programação em C
* Compilação separada de ficheiros utilizando ferramentas auxiliares
* Criação e utilização de bibliotecas de funções
* Utilização de técnicas de depuração (debugging)
2. Programação de baixo-nível
* Representação de dados em memória
* Gestão de memória
* Mecanismos de passagem de argumentos a funções
* Noções básicas de desenvolvimento em Assembly
3. Conceitos Fundamentais de Algoritmia
* Análise de complexidade de algoritmos
* Estratégias de concepção de algoritmos
* Algoritmos de ordenação e pesquisa
* Exemplos práticos de aplicação de diferentes estratégias
4. Estruturas de dados
* Estruturas lineares - listas, filas e pilhas
* Tabelas de dispersão
* Árvores
* Heaps
As aulas teóricas serão usadas para a exposição da matéria, apresentação e discussão de pequenos exemplos de aplicação. As aulas práticas serão usadas para o desenvolvimento de programas em C e para resolução de problemas envolvendo os algoritmos e estruturas de dados tratados nas aulas teóricas. Os alunos realizarão ainda um conjunto de trabalhos, sujeitos a avaliação, em aulas práticas específicas, que poderão ser concluídos fora do horário de aulas.
Descrição | Tipo | Tempo (Horas) | Peso (%) | Data Conclusão |
---|---|---|---|---|
Miniteste 1 | Teste | 1,50 | 20,00 | |
Miniteste 2 | Teste | 1,50 | 40,00 | |
Trabalho 1 | Trabalho laboratorial | 6,00 | 10,00 | |
Trabalho 2 | Trabalho laboratorial | 6,00 | 10,00 | |
Trabalho 3 | Trabalho laboratorial | 8,00 | 15,00 | |
Partipação | Participação presencial | 5,00 | ||
Total: | - | 100,00 |
Descrição | Tipo | Tempo (Horas) | Data Conclusão |
---|---|---|---|
Participação nas aulas (estimativa) | Frequência das aulas | 65 | |
Acompanhamento adicional | Frequência das aulas | 24 | |
Estudo ao longo do semestre | Elaboração de projeto | 97 | |
Total: | 186,00 |
A nota de frequência inclui duas componentes: desempenho individual e avaliação dos trabalhos desenvolvidos. O mínimo nesta componente para obtenção de frequência é 50%.
CF = 0,4 * F + 0,6 * MT
* Classificação de frequência (F)
F = 0,25 T1 + 0,25 T2 + 0,375 T3 + 0,125 DI
onde:
Tn – classificação nos trabalhos práticos.
DI – classificação na componente de desempenho individual, relativa à participação do estudante nas aulas teóricas e práticas.
* Nota dos minitestes (MT)
MT = 1/3 MT1 + 2/3 MT2
onde:
MTn - classificação nos minitestes
* Classificação Final (CF)
CF = 0,1 T1 + 0,1 T2 + 0,15 T3 + 0,05 P + 0,2 MT1 + 0,4 MT2
Observação:
A Classificação Final (CF) só é válida caso o estudante obtenha, pelo menos 40% da nota máxima possível na componente MT e pelo menos 50% na componente F.
Nas épocas especiais previstas por lei, a avaliação global consiste num exame com a duração de duas horas, constituído por um conjunto de questões de resposta múltipla e pelo pedido de concretização de programas em C.
Os dirigentes associativos estão sujeitos às regras normais de avaliação.
Os estudantes abrangidos pelos regimes especiais poderão sempre optar por uma avaliação normal, a par da dos estudantes regulares.
As melhorias de classificação requerem a inscrição na edição seguinte da unidade curricular, de forma a cumprir os requisitos de avaliação teórica e prática. Eventualmente, a pedido dos alunos, poderá ser efetuada melhoria a apenas uma das componentes F e MT da Nota Final.