MCTA028-15 - Programação Estruturada Terceiro Quadrimestre de 2024


banner.jpeg

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

  1. [KR88] Brian W. Kernighan & Dennis M. Ritchie; The C Programming Language. 2nd ed. 1988.
  2. [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:

  1. fraudem avaliações,
  2. fabriquem ou falsifiquem dados,
  3. plagiem ou não creditem devidamente autoria,
  4. aceitem autoria de material acadêmico sem participação na produção,
  5. 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

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)


Simulado

📣🔥🚨🔥🚨 Aviso sobre a P2 🔥🚨🔥🚨📣

  • data do aviso: [2024-12-13 sex]

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