Mestrado Integrado em Engenharia Informática e Computação
Fundamentos da Programação
Ocorrência: 2020/2021
—
Unidade: Fundamentos da Programação
Código: EIC0005
Sigla: FPRO
Curso: MIEIC
Anos Curriculares: 1º
Página oficial: Sigarra
Créditos ECTS: 6
Horas de Contacto: 70
Horas Totais: 162
Ocorrência: 2020/2021
Semestre: 1S
Teóricas: 2x1,5h: João Correia Lopes (JCL)
Teórico-Práticas: 8x2h: João Correia Lopes (JCL), Rui Camacho (RCS), Ricardo Cruz (RPMC), Nuno Moreira Macedo
Attendance:
Português.
1. INTRODUÇÃO
A fluência no processo de desenvolvimento de software é um pré-requisito básico para o trabalho dos engenheiros de informática. Para usar computadores na resolução de problemas de maneira eficaz, os estudantes devem ser competentes na leitura e escrita de programas usando linguagens de programação de Alto Nível.
2. OBJETIVOS ESPECÍFICOS
O objetivo global desta Unidade é dar ao estudante a capacidade de criar algoritmos e de usar uma linguagem de programação para implementar, testar e depurar algoritmos para resolver problemas simples.
O estudante será capaz de entender e usar os conceitos fundamentais de programação e a abordagem funcional da programação, especificamente a programação livre de efeitos (effect-free), onde as chamadas de função não têm efeitos colaterais e as variáveis são imutáveis, e de contrastar esta abordagem com a abordagem imperativa.
3. DISTRIBUIÇÃO PERCENTUAL
Componente científica: 40%
Componente tecnológica: 60%
No final da unidade, espera-se que o estudante consiga resolver problemas através do desenvolvimento de programas de complexidade média, usando as abordagens ou paradigmas de programação imperativa e funcional.
Mais especificamente, o estudante deverá ser capaz de:
Presencial.
Não são necessários conhecimentos prévios.
O envolvimento contínuo do estudante com a unidade é promovido, através do estudo e discussão dos tópicos (distribuídos previamente em Notebooks Jupyter) tanto em aulas teóricas e teórico-práticas, como através de trabalhos de programação dentro e fora das aulas.
O estudante é encorajado a encontrar as melhores ideias para resolver problemas específicos, executá-las e implementar as soluções de programação, de forma elegante, legível e eficiente (em tempo e em espaço) usando a linguagem de programação Python.
São usadas ferramentas de correção automática de código para aumentar a rapidez do feedback dado aos estudantes.
As aulas teóricas (T) são usadas para apresentar e discutir os tópicos do programa, usando um computador ligado a um projetor multimédia.
As aulas teórico-práticas (TP) são usadas para ajudar os estudantes a entender os tópicos do programa e a resolver as tarefas de programação semanais.
As tarefas de programação em aula teórica e fora das aulas são dadas, semanalmente, para melhorar o desenvolvimento regular e eficaz dos processos de aprendizagem individual autónomo e são avaliadas em tarefas do Moodle.
Tarefas em sala de aula são usadas para avaliação somativa no final de cada aula teórica através de questionários no Moodle.
Os estudantes são incentivados a usar a Play web app Web (https://fpro.fe.up.pt/play) contendo exercícios de programação selecionados por tema: "fáceis" para realizar antes da aula teórica, "dificuldade média" para realizar antes das tarefas semanais (RE) e "difíceis" para realizar antes das provas práticas em computador (PE).
No trabalho em sala de aula, os estudantes usam o mesmo ambiente de trabalho que é usado mais tarde nas avaliações individuais (PE) — IDE Spyder3, Test web app (https://fpro.fe.up.pt/test) para desenvolvimento e submissão de exercícios de programação. Sempre que for considerado necessário na sala de aula, especialmente durante o primeiro mês de aulas da unidade, os alunos são incentivados a passar pela "Clínica", assegurada por monitores, para obter ajuda.
Ciências Físicas > Ciência de computadores > Programação
Avaliação distribuída sem exame final.
Designação | Peso (%) |
---|---|
Teste | 80 |
Trabalho prático ou de projeto | 20 |
Total: | 100 |
Designação | Tempo (Horas) |
---|---|
Estudo autónomo | 102 |
Frequência das aulas | 60 |
Total: | 162 |
Os estudantes são admitidos ao teste teórico (TE), se não excederem o limite de faltas (25% do número total de aulas teórico-práticas estimadas) e se obtiverem um mínimo de 40% na última avaliação prática em computador (PE04).
A avaliação será baseada nas seguintes componentes:
LE = Perguntas de resposta múltipla, sobre conceitos de programação, realizadas individualmente no Moodle em sala de aula teórica (são selecionadas as melhores 20 classificações de um total de 24) [5 perguntas, 5 minutos]
RE = Exercícios de programação semanais para casa e nas aulas teórico-práticas (são selecionadas as melhores 10 classificações de 12) [5 perguntas, NA]
PE = Avaliação prática em computador a realizar, individualmente, no Moodle (são selecionadas as melhores 3 classificações de 4) [5 perguntas, 90 minutos]
TE = Avaliação teórica através de questionário de respostas múltiplas, a realizar individualmente no Moodle com consulta de um livro [50 perguntas, 90 minutos]
Classificação final = 10% LE + 10% RE + 50% PE + 30% TE
Observações:
A avaliação desta unidade usa quatro tipos de provas::
No ano letivo seguinte, o estudante pode solicitar melhoria de classificação que inclui a avaliação prática em computador PE04 e a avaliação teórica TE01, com consulta de apenas um livro, igual à realizada pelos estudantes inscritos.
Classificação final = 60% PE + 40% TE
Observações:
No caso de estudantes que não frequentem as aulas e dispensem a avaliação semanal (LE e RE), a classificação final será a média pesada da classificação das restantes componentes de avaliação: avaliação prática em computador (PE) e avaliação teórica (TE), realizadas tal como os estudantes ordinários.
Classificação final = 60% PE + 40% TE
Observações:
Nenhuma classificação de componente individual (LE1), RE, PE, TE2)) pode ser reutilizada noutra inscrição na unidade curricular.
Devido às regras impostas superiormente depois da publicação desta ficha, nomeadamente o atraso de 3 semanas no arranque das aulas, este ano não é possível concluir a recuperação da componente prática (PE05), antes da prova teórica TE01, como planeado.
Assim, são elegíveis para a prova teórica TE01, todos os estudantes que não tenham a classificação de RFF, por terem ultrapassado o limite de faltas.
Note-se que se mantém a exigência de nota mínima de 40% em cada componente (PE, TE).
— Correia Lopes, 01/08/2020 08:55