MCTA028-15 - Programação Estruturada Terceiro Quadrimestre de 2024
- Turma(s): Diurno
- Professor: Maycon Sambinelli
- E-mail: m.sambinelli@ufabc.edu.br
- 💡 Caixa de Sugestões
Avisos importantes
- 🆕 19/12 - Local da sub foi disponibilizado
- 13/12 - Códigos do github foram atualizados com os arquivos da aula do dia 11-12
- 05/12 - Lista com exercícios sobre recursão foram liberados
- 05/12 - Slides sobre recursão foram adicionados
- 05/12 - Códigos do github foram atualizados
- 30/11 - Códigos feitos na última aula foram liberados
- 30/11 - Segunda parte do material sobre ponteiros foi liberada
- 21/11 - Lista de exercícios sobre ponteiro foi liberada
- 19/11 - Enunciado do trabalho liberado
- 14/11 - Vou liberar o trabalho apenas após a P1: usem o feriado e final de semana para focar na P1
- 13/11 - Slides sobre ponteiros foram adicionados
- 29/10 - Slides sobre strings e tipos definidos pelo usuário foram adicionados
- 29/10 - Lista com exercícios sobre strings foi adicionada
- 21/10 - Lista com exercícios sobre matrizes foi adicionada
- 07/10 - Slides para o lab01 foram adicionados
- 04/10 - Lista de exercícios adicionada
- 02/10 - Slides da segunda aula foram adicionados
- 29/09 - Página no ar.
Objetivos
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ções
Processamento da Informação
Bibliografia e outros materiais
- [KR88] Brian W. Kernighan & Dennis M. Ritchie; The C Programming Language. 2nd ed. 1988.
- [Sc97] Herbert Schildt; C: Completo e Total. 1997.
Critérios de avaliação regular
- A avaliação da disciplina constituirá em duas provas, nota de participação, e um projeto.
- A sua média final (antes da rec) será \(MF\), que é computada como:
\[ MF = 0.85 \times \frac{5}{\frac{3}{\max(\epsilon, MP)} + \frac{2}{\max(\epsilon, Prj)}} + 0.15 \times Prtc, \]
onde:
- \(MP = \frac{P1 + P2}{2}\), onde \(P1, P2 \in [0, 10]\) são as notas das Avaliações 1 e 2, respectivamente
- \(Prj \in [0, 10]\) é a nota do projeto
- \(Prtc \in [0, 10]\) é a nota de participação
- \(\epsilon = 10^{-100}\)
- Seu conceito final será
\[ CF = \begin{cases} \textbf{A} ,& \text{se } MF \in [8.5;10.0]\\ \textbf{B} ,& \text{se } MF \in [7.0;8.5) \\ \textbf{C} ,& \text{se } MF \in [6.0;7.0) \\ \textbf{D} ,& \text{se } MF \in [5.0;6.0) \\ \textbf{F} ,& \text{se } MF < 5.0\\ \textbf{O} ,& \text{Se o número de faltas exceder 25% do total de aulas (independentemente do valor MF)} \end{cases} \]
🚨 Caso seja verificado ocorrência de fraude acadêmica, o aluno será automaticamente reprovado com MF = 0 (e um panda será assassinado!).
Mecanismo de recuperação
- A recuperação será aplicada apenas aos alunos que tiverem conceito final D ou F .
- Consistirá numa avaliação, cujo conteúdo englobará todos os temas vistos durante o quadrimestre.
- A nota obtida na avaliação de recuperação (\(NR\)) será usada para obter a nota final com recuperação (\(NFR\)), que consiste na média:
\[NFR = \frac{MF + NR}{2} \]
- O conceito final com recuperação (\(CFR\)) será calculado da seguinte maneira:
\[ CFR = \begin{cases} C, & \text{se } CF = D \text{ e } NFR \geq 6;\\ D, & \text{se } CF = D \text{ e } NFR < 6;\\ D, & \text{se } CF = F \text{ e } NFR \geq 5;\\ F, & \text{caso contrário}. \end{cases} \]
Mecanismos de avaliação substitutivos
- Uma prova substitutiva será aplicada ao aluno que possuir justificativa de ausência em uma das provas.
- Envie por e-mail a sua justificativa o quanto antes, para informar o professor que irá realizar a prova substitutiva.
- A listagem dos documentos aceitos como justificativa consta na resolução ConsEPE n° 181.
- A nota obtida na prova substitutiva necessariamente substituirá a prova para a qual o aluno tem justificativa.
- A data para realização de avaliações substitutivas da Prova 1 ou da Prova 2 está informada na seção: Datas Importantes
Plágio
🚨 Leitura obrigatória 🚨
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.
- 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.
Dias, horários e locais das aulas
Teórica
- Quartas-feiras: 19h - 21h (Sala A-208-0).
Prática
- Segundas-feiras: 19-21h (Sala 407-2) – Turma A1
- Segundas-feiras: 21-23h (Sala 407-2) – Turma A2
Datas Importantes
- P1: 18/11
- P2: 18/12
- Sub: 21/12 (Sábado) 10:00 – Lab 407-2 (veja a Seção Mecanismos de avaliação substitutivos)
- REC: 28/01/2025
Atendimento
Local: Bloco A, Torre 2, Piso 5, Sala 518-2
- Dia e Horário: Combinar via e-mail
Cronograma
Data | Semana | Aula | Tópico |
---|---|---|---|
30-09 | Seg | 1 | Introdução ao curso/Organização de um computador e compilação / Introdução à linguagem C |
02-10 | Qua | 2 | Tipos, Variáveis, Funções, Laços, Condicionais, Entrada e Saída |
07-10 | Seg | 3 | " |
09-10 | Qua | 4 | Ponto Flutuante, Recursão, Divisão |
14-10 | Seg | 5 | " |
16-10 | Qua | 6 | Vetor, String e tipo caractere |
21-10 | Seg | 7 | " |
23-10 | Qua | 8 | Matrizes e Tipos definidos pelo usuário |
28-10 | Seg | 🛀 Feriado 📚 | |
30-10 | Qua | 9 | Ponteiros |
04-11 | Seg | 10 | " |
06-11 | Qua | 11 | Ponteiros e alocação dinâmica |
11-11 | Seg | 12 | " |
13-11 | Qua | 13 | Estruturas e Arquivos |
18-11 | Seg | 14 | P1 |
20-11 | Qua | 🛀 Feriado 📚 | |
25-11 | Seg | 15 | Estruturas e Arquivos |
27-11 | Qua | 16 | Lista Ligada |
02-12 | Seg | 17 | " |
04-12 | Qua | 18 | Recursão e Backtracking |
09-12 | Seg | 19 | " |
11-12 | Qua | 20 | A definir |
16-12 | Seg | 21 | " |
18-12 | Qua | 22 | P2 |
28-01 | Ter (rep Seg) | 23 | REC (rep 28/10) |
Notas de Aula
Códigos feitos em aula
Projeto
📣🔥🚨🔥🚨 Aviso sobre a P2 🔥🚨🔥🚨📣
- data do aviso:
A P2 ocorrerá na quarta-feira, dia 18/12, das 19h-21h (para as duas turmas!). A prova será realizada em um laboratório de informática, ou seja, não será no local no qual realizamos as aulas de quarta. O laboratório de informática também será diferente para um turma. Veja abaixo qual é o seu laboratório:
- Quem faz aula na segunda das 19h-21h: Lab L405-2
- Quem faz aula na segunda das 21h-23h: Lab L407-2