MC102 - Algoritmos e Programação de Computadores

Turmas Coordenadas - Segundo Semestre de 2020

Conteúdo desta página


Avisos Importantes


Turmas e Docentes

Observações:

  • Toda mensagem enviada para os professores deve conter no começo do subject/assunto o texto “[MC102]” seguido do motivo da mensagem.
    Exemplo: [MC102] Problema com o Sistema de Submissão
  • O contato por email só deve ser usado em casos excepcionais.
  • Para contatos por email, sempre use emails acadêmicos (@dac.unicamp.br) e identifique-se corretamente (nome completo, turma e RA).
  • Emails que não seguirem estritamente as regras acima não serão respondidos.
  • Dúvidas quanto ao conteúdo das aulas ou às atividades práticas não serão respondidas por email. Nesses casos, consulte o Plantão Online de Dúvidas.

Aulas

Os professores responsáveis por cada turma ministrarão aulas online (síncronas) ou pré-gravarão e divulgarão aulas online (assíncronas), a critério de cada professor.

Os professores estarão online 4h/semana, nos horários das aulas teóricas de cada turma, seja para ministrar as aulas de forma síncrona, seja para prestar atendimento de dúvidas relativas às aulas previamente gravadas e divulgadas para os alunos.


Material Didático

Materiais didáticos recomendados:

Materiais didáticos complementares:

Videoaulas:


Listas de Exercícios


Atividades Práticas

  • As atividades práticas serão disponibilizados no SuSy.

Sites Recomendados

Os sites listados abaixo fornecem informações adicionais aos tópicos cobertos nas aulas:


Downloads


Ementa da Disciplina

Conceitos básicos de organização de computadores. Construção de algoritmos e sua representação em pseudocódigo e linguagens de alto nível. Desenvolvimento sistemático e implementação de programas. Estruturação, depuração, testes e documentação de programas. Resolução de problemas.


Programa da Disciplina

  • Conceitos Básicos de Organização de Computadores
  • Conceitos Básicos sobre Algoritmos e Programação
  • Entrada e Saída de Dados
  • Expressões Aritméticas, Lógicas e Relacionais
  • Comandos Condicionais
  • Comandos de Repetição
  • Listas, Tuplas, Dicionários, Strings e Matrizes
  • Funções e Escopo de Variáveis
  • Algoritmos de Ordenação
  • Algoritmos de Busca
  • Recursão
  • Algoritmos Recursivos de Ordenação
  • Arquivos (extra)
  • Expressões Regulares (extra)

Avaliação

A avaliação será realizada através de tarefas práticas, ou seja, programas em Python que deverão ser implementados e submetidos para correção automática através do SuSy.

Serão propostas n tarefas práticas, que deverão ser realizadas pelos alunos. Os programas desenvolvidos serão testados com um conjunto pré-determinado de testes, subdividido em testes abertos (que podem ser acessados pelos alunos) e testes fechados (que não podem). A nota de cada atividade prática será proporcional ao número de testes, abertos ou fechados, que executarem corretamente.

Juntamente com o enunciado de cada tarefa prática será indicado o peso Pi ∈ {1, 2, 3, 4} dessa tarefa. A média das tarefas práticas (P) será a média ponderada das notas das tarefas.

A média final F e a situação de cada aluno serão definidas de acordo com as regras a seguir.

  • Caso P ≥ 5:

O aluno estará aprovado por nota e frequência com média final (F):

F = P
  • Caso 2,5 ≤ P < 5:

O aluno poderá realizar o exame. O exame será composto por um subconjunto das tarefas práticas disponibilizadas ao longo do semestre. O aluno poderá refazer as tarefas indicadas no período do exame ou aproveitar as notas já obtidas anteriormente naquelas tarefas (sem necessidade de refazer a tarefa).

A nota do exame (E) será calculada como a média ponderada das tarefas selecionadas para compor o exame. Os pesos das tarefas para fins do exame serão os mesmos pesos (Pi) previamente utilizados para o cálculo da média das tarefas práticas (P). O cálculo da média final (F) será feita da seguinte forma:

F = min{5, (P + E)/2}

Caso F ≥ 5.0 o aluno estará aprovado por nota e frequência. Caso contrário, estará reprovado por nota.

  • Caso P < 2,5:

O aluno estará reprovado por nota, com média final (F):

F = P

Observações:

  1. Não haverá atividades práticas substitutivas.
  2. As tarefas práticas serão disponibilizadas às segundas-feiras de manhã e ficarão disponíveis por pelo menos 3 semanas (até domingo a noite).
  3. Qualquer tentativa de fraude nas atividades práticas implicará em nota final F = 0 (zero) para todos os envolvidos, sem prejuízo de outras sanções. Exemplos de fraudes: cópias ou compra de programas.
  4. As notas das atividades práticas serão divulgadas no site da disciplina até, no máximo, duas semanas após o final do prazo de submissão das tarefas.
  5. De acordo com o Regimento Geral de Graduação, os alunos devem ter frequência maior ou igual a 75% para aprovação, mas como esta disciplina será realizada de forma online, não haverá controle de presença (será atestada 100% de presença para todos os alunos matriculados).
  6. De acordo com a fórmula acima, caso um aluno seja aprovado após realizar o exame final, sua nota final será F = 5 (cinco).

Notas

A página de notas será atualizada semanalmente, tipicamente às segundas-feiras. Verifique a data da última atualização no topo da página. Consulte as notas aqui.


Datas Importantes

  • 17/09/2020: Primeiro dia de aula.
  • 14/01/2021: Último dia de aula.
  • 20/01/2020 a 26/01/2021: Período de Exame.

Calendário oficial da DAC: visite esta página para verificar as datas sem atividades didáticas na Unicamp.