MCTA028-15 - Programação Estruturada (2018 Q3)
Professora: Carla Negri Lintzmayer, Sala 508-2
Avisos importantes (fique atento sempre!)
[13/12] Notas finais após a recuperação.― novos ―
[10/12] Informativos importantes:
- Notas finais.
- Considerações finais sobre o projeto.
- Formulário opcional e anônimo sobre a disciplina.
- Dúvidas sobre as correções de qualquer atividade podem ser respondidas em qualquer horário de atendimento ou, em último caso, por e-mail.
- Horário extra de atendimento: quarta-feira, dia 12/12, das 10h às 12h.
- Prova de recuperação: quinta-feira, dia 13/12, das 8h às 10h, no laboratório 407-2 (laboratório normal das aulas práticas).
- A prova de recuperação pode ser feita por aqueles que ficaram com conceito final D ou F e não ultrapassaram o limite de faltas.
[04/12] Evento aulão de programação estruturada.
[22/11] Liberada lista 8 de exercícios.
[22/11] Planilha de notas atualizada com informações sobre os laboratórios.
[22/11] Arquivos auxiliares da aula de hoje: lab10a e lab10b.
[22/11] Liberada lista 7 de exercícios.
[14/11] Arquivos auxiliares da aula de hoje: lab09a e lab09b. Lembrem-se que o lab09b não foi feito exatamente como consta no enunciado do Moodle.
[14/11] Data limite para entrega da parte 1 do projeto foi alterada para o dia 20/11 (ainda com 3 dias extras de tolerância, com a nota máxima sendo reduzida de acordo). Veja seção Projeto.
[13/11] Liberada lista 6 de exercícios.
[12/11] Disponível enunciado do projeto (parte 2).
[05/11] O atendimento de terça-feira, dia 6/11, está excepcionalmente cancelado. Ele será transferido para outra data, que será posteriormente informada.
[03/11] Planilha de notas atualizada com a quantidade de faltas.
[01/11] Liberada lista 5 de exercícios.
[29/10] Notas da prova 1. Resolveremos a prova na aula de quarta. Dúvidas específicas sobre a correção da sua prova podem ser retiradas nos meus horários de atendimento (não haverá vista de prova na sala de aula).
[20/10] Evento aulão de programação estruturada.
[16/10] Disponível enunciado do projeto (parte 1).
[16/10] Liberada lista 4 de exercícios.
[13/10] Liberada lista 3 de exercícios.
[09/10] Disponibilizados novos horários de monitoria.
[28/09] Liberadas listas 1 e 2 de exercícios.
[12/09] Página da disciplina no ar.
Conteúdo dessa página
Dias, horários e local das aulas (voltar ao topo)
Quartas-feiras (teórica), das 10h às 12h, sala S-306-2.Quintas-feiras (prática), das 8h às 10h, laboratório 407-2.
Dias, horários e local de atendimento (voltar ao topo)
Neste quadrimestre o conteúdo da disciplina será unificado com a turma do Prof. Emílio Francesquini e alunos de todas as turmas podem escolher livremente entre os horários abaixo.Terças-feiras e Quintas-feiras, das 13h às 15h, com a prof. Carla, na sala 508-2 do bloco A.
Segundas-feiras, das 10h às 12h, e Quartas-feiras, das 13h às 15h, com o prof. Emílio, na sala 531-2 do bloco A.
Quartas-feiras, das 13h às 15h, com o monitor Mauro, na sala L405-2.
Quartas-feiras, das 18h às 20h, com o monitor Vinícius, na sala L405-2.
Quintas-feiras, das 13h às 15h, com o monitor Marcelo, na sala L403-2.
Quintas-feiras, das 17h às 19h, com o monitor Renato, na sala L403-2.
Além disso, você pode marcar um horário por e-mail, caso não puder (excepcionalmente) comparecer a nenhum dos horários acima.
Hora | Seg | Ter | Qua | Qui | Sex |
---|---|---|---|---|---|
8h | Aula Prática | ||||
9h | Aula Prática | ||||
10h | Atendimento Emílio | Aula Teórica | |||
11h | Atendimento Emílio | Aula Teórica | |||
12h | |||||
13h | Atendimento Carla | Atendimento Emílio Atendimento Mauro | Atendimento Carla Atendimento Marcelo | ||
14h | Atendimento Carla | Atendimento Emílio Atendimento Mauro | Atendimento Carla Atendimento Marcelo | ||
15h | |||||
16h | |||||
17h | Atendimento Renato | ||||
18h | Atendimento Vinícius | Atendimento Renato | |||
19h | Atendimento Vinícius |
Ementa da disciplina (voltar ao topo)
Apresentar noções básicas e intermediárias sobre algoritmos, programação em linguagens compiladas, compilação, programas em execução (processos), ponteiros, alocação estática e dinâmica de memória, vetores e matrizes, funções e passagem de parâmetros, registros, arquivos e recursividade. Aplicar todos os conceitos apresentados no contexto da resolução de problemas clássicos e novos da computação.Recomendação (voltar ao topo)
Disciplinas: Processamento da InformaçãoPara facilitar o acompanhamento do curso, é recomendado que você possua conhecimentos básicos de programação:
- comandos de seleção, condicionais (if, if-else)
- comandos de repetição, laços (for, while).
Bibliografia e outros materiais (voltar ao topo)
- P. Feofiloff. Algoritmos em Linguagem C. Campus-Elsevier. 2009. Site oficial.
- H. Schildt. C completo e total. Terceira edição. Makron Books. 1997.
- B. W. Kernighan, D. M. Ritchie. The C Programming Language. Second Edition. Prentice Hall, 1988.
- Referência de bibliotecas do C.
- Site da disciplina Algoritmos e Programação de Computadores do prof. Eduardo C. Xavier, da Unicamp.
- Site da disciplina Estrutura de Dados do prof. Rafael C. S. Schouery, da Unicamp, com vídeos das aulas.
- Geeks for Geeks, site com explicações e implementações em várias linguagens.
- Canal De aluno para aluno no YouTube. Cuidado com algumas terminologias.
Cronograma e notas de aula (voltar ao topo)
Legenda: (T) = Teórica; (P) = Prática.Aula | Data | Conteúdo |
---|---|---|
1 (T) | 19/9 | Introdução ao curso / Organização de um computador e compilação / Introdução à linguagem C |
2 (P) | 20/9 | Apresentação do ambiente de trabalho / Comandos sequenciais / Lab 0: Hello World / Lab 1: exercícios básicos (arquivo texto com resumo dos comandos básicos) |
3 (T) | 26/9 | Entrada/Saída / Operações relacionais e lógicas / Condicionais / Laços |
4 (P) | 27/9 | Lab 2: condicionais (arquivo texto com resumo dos comandos básicos) |
5 (T) | 3/10 | Laços / Funções |
6 (P) | 4/10 | Lab 3: laços e funções |
7 (T) | 10/10 | Recursão |
8 (P) | 11/10 | Lab 4: funções e recursão |
9 (T) | 17/10 | Vetores e matrizes (Enunciado do projeto, parte 1) |
10 (P) | 18/10 | Lab 5: vetores e matrizes |
11 (T) | 24/10 | Revisão e resolução de exercícios (exercícios do prof. Emílio) |
12 (P) | 25/10 | Prova 1 |
13 (T) | 31/10 | Memória e ponteiros |
14 (P) | 1/11 | Lab 6: ponteiros |
15 (T) | 7/11 | Ponteiros e alocação dinâmica |
16 (P) | 8/11 | Lab 7: ponteiros |
17 (T) | 14/11 | Estruturas e arquivos (Enunciado do projeto, parte 2) |
-- | 15/11 | Feriado / Lab 8: estruturas e arquivos |
18 (T) | 21/11 | Ordenação |
19 (P) | 22/11 | Lab 9: ordenação |
20 (T) | 28/11 | Listas ligadas |
21 (P) | 29/11 | Lab 10: lista ligada |
22 (T) | 5/12 | Revisão e resolução de exercícios (Revisão do prof. Emílio |
23 (P) | 6/12 | Prova 2 |
24 (P) | 13/12 | Prova de recuperação |
Plágio (voltar ao topo)
- Entre outros, o código de ética da UFABC estabelece em seu artigo 25 que é eticamente inaceitável que os discentes:
- fraudem avaliações
- fabriquem ou falsifiquem dados
- plagiem ou não creditem devidamente autoria
- aceitem autoria de material acadêmico sem participação na produção
- vendam ou cedam autoria de material acadêmico próprio a pessoas que não participaram da produção.
- Muitos ainda têm dúvidas sobre a interpretação das regras definidas pelo Código de Ética da UFABC.
- Por esta razão, diversos professores elaboraram um documento (disponível aqui) com vários exemplos e esclarecendo a interpretação das regras acima.
- Abaixo uma versão resumida, que não substitui de modo algum sua leitura.
- Sempre consulte o documento completo ou converse com o seu professor em caso de dúvidas!
- Regra 1: Você não pode enviar para avaliação um trabalho que não seja de sua própria autoria ou que seja derivado/baseado em soluções elaboradas por outros.
- Regra 2: Você não pode compartilhar a sua solução com outros alunos nem pedir aos seus colegas que compartilhem as soluções deles com você.
- Regra 3: Nos trabalhos enviados para avaliação você deve indicar eventuais assistências que você tenha recebido.
- ATENÇÃO: todos os trabalhos enviados para avaliação poderão ser verificados por um sistema automatizado de detecção de plágio.
- Nós encorajamos fortemente que você procure outras pessoas quando houver a necessidade. Discuta o problema e possíveis ideias para soluções, mas elabore sua própria solução, por conta própria.
- Qualquer violação às regras descritas acima implicará em descarte dos conceitos atribuídos a TODAS as tarefas avaliativas regulares de TODOS os envolvidos, causando assim suas reprovações automáticas com conceito F.
- Possível denúncia à Comissão de Transgressões Disciplinares Discentes da Graduação, a qual decidirá sobre a punição adequada à violação que pode resultar em advertência, suspensão ou desligamento, de acordo com os artigos 78-82 do Regimento Geral da UFABC.
Listas de exercícios (voltar ao topo)
Recomendamos fortemente que você resolva e implemente todos os exercícios das listas.Elas não valem nota, mas lhe ajudarão a fixar os conteúdos vistos em sala.
Laboratórios (voltar ao topo)
- Haverá uma atividade de laboratório por semana, totalizando 10 atividades ao longo do quadrimestre.
- O enunciado de cada atividade será disponibilizado às quintas-feiras, no moodle.
- A solução dessas atividades deverá ser entregue apenas pelo moodle, até o domingo da semana seguinte à liberação do enunciado (10 dias de prazo).
- A nota de cada laboratório será 10 caso o programa execute corretamente em todos os casos de teste e será 0 caso contrário.
- Cada atividade terá um peso específico, divulgado em seu enunciado, que irá variar de acordo com sua complexidade.
- Não serão aceitas soluções fora do prazo.
- Não haverá laboratórios substitutivos.
- Essas atividades devem ser feitas individualmente.
Projeto (voltar ao topo)
- Haverá um projeto, que poderá ser realizado em grupo de até 3 pessoas, sem exceções.
- Consistirá no desenvolvimento de um programa, e sua entrega será dividida em duas partes, que serão detalhadas no enunciado.
- A primeira parte deve ser entregue até o dia
18/1120/11 e vale 1/3 da nota do projeto. - A segunda parte deve ser entregue até o dia 2/12 e vale 2/3 da nota do projeto.
- Assim, se T1 e T2 são as notas recebidas na primeira e segunda partes, respectivamente, a nota final do projeto será T = (T1 + 2 x T2) / 3.
- Soluções entregues fora do prazo valerão: 70% da nota se entregues em até 24h, 60% da nota se entregues em até 48h, 50% da nota se entregues em até 72h. Não serão aceitas soluções com mais de 72h de atraso.
- Não haverá projeto substitutivo.
Abaixo estão os resultados do desafio.
As barras representam quantas vezes o programa é mais lento do que o programa mais rápido de todos (primeira barra, de valor 1).
O programa mais rápido de todos foi de um grupo de alunos, parabéns!!!
Notem que apenas as versões que passaram em TODOS os casos de teste estão abaixo (considerando todas as turmas).
Os nomes dos alunos estão substituídos pelos seus RAs.
Critérios de avaliação regular (voltar ao topo)
- A avaliação da disciplina constituirá em duas provas, laboratórios e um projeto.
- A prova 1 vale 20% da nota.
- A prova 2 vale 30% da nota.
- Os laboratórios valem 30% da nota.
- O projeto vale 20% da nota.
- Sejam P1, P2, L, T as notas (entre 0 e 10) da prova 1, prova 2, laboratórios e projeto, respectivamente.
- Sua média final (MF) antes da recuperação, portanto, será
min{P1+P2, L, T}, se P1+P2 < 10 ou L < 5 ou T < 5;
0.2 x P1 + 0.3 x P2 + 0.3 x L + 0.2 x T, caso contrário. - Note, portanto, a importância de obter bom desempenho tanto nas provas quanto nos laboratórios e no projeto.
- Seu conceito final será
A, se MF ≥ 8.5
B, se 7.0 ≤ MF < 8.5
C, se 6.0 ≤ MF < 7.0
D, se 5.0 ≤ MF < 6.0
F, se 0.0 ≤ MF < 5.0
O, se ausência total exceder 25%
Mecanismo de recuperação (voltar ao topo)
- A recuperação será aplicada apenas aos alunos que tiverem conceito final D ou F e cujas ausências não excederem 25% da quantidade de aulas.
- Consistirá numa prova, em formato similar às aplicadas ao longo do curso.
- O conteúdo da prova englobará todos os temas vistos durante o quadrimestre.
- A nota obtida na prova de recuperação (NR) será usada obter a nota final com recuperação (NFR), que consiste na média a seguir:
NFR = max {MF, (MF + NR) / 2}
- O conceito final obtido na recuperação substituirá o conceito anterior e será
C, se NFR ≥ 6.0
D, se 5.0 ≤ NFR < 6.0
F, se 0.0 ≤ NFR < 5.0
Mecanismos de avaliação substitutivos (voltar ao topo)
A prova substitutiva será aplicada ao aluno que possuir justificativa de ausência em uma das provas. A listagem dos documentos aceitos como justificativa consta na resolução ConsEPE n° 227. A nota obtida na prova substitutiva necessariamente substituirá a prova para a qual o aluno tem justificativa.A data para realização da prova substitutiva deverá ser combinada com a professora por e-mail o quanto antes, assim que o aluno estiver em condições de realizá-la.
Carla Negri Lintzmayer - carla.negri@ufabc.edu.br