MC102 — Algoritmos e Programação de Computadores
Instituto de Computação (IC/Unicamp)Profa. Sandra Avila (sandra@ic.unicamp.br)
Avisos Importantes:
- [01/02/2021] A disciplina terá início no dia 17/03/2021.
Dias, Horários e Locais:
Tipo de Aula | Dia da Semana | Horário | Sala |
---|---|---|---|
Teórica (turmas KLMN) | Quarta | 14h–16h | Google Meet |
Teórica (turmas KLMN) | Sexta | 14h–16h | Google Meet |
Laboratório (turma K) | Segunda | 14h–16h | Google Meet |
Laboratório (turma L) | Segunda | 14h–16h | Google Meet |
Laboratório (turma M) | Segunda | 16h–18h | Google Meet |
Laboratório (turma N) | Segunda | 16h–18h | Google Meet |
Linguagem de Programação: Python, versão 3.
Atendimento: Este oferecimento de MC102 conta com a colaboração de várias(os) alunas(os) de pós-graduação (PEDs) e graduação (PADs) que atuam como monitoras(es). As(Os) monitoras(es) da disciplina são:
- Alceu Emanuel Bissoto (PED)
- Andressa Gabrielly Macedo Marçal (PED)
- Levy Gurgel Chaves (PED)
- Maria Jêsca Nobre de Queiroz (PED)
- Raysa Masson Benatti (PED)
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)
Critérios de 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 pelas(os) alunas(os). Os programas desenvolvidos serão testados com um conjunto pré-determinado de testes, subdividido em testes abertos (que podem ser acessados pelas(os) alunas(os)) 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 $P_i$ ∈ {$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$:
A(O) aluna(o) estará aprovada(o) por nota e frequência com média final ($F$): $F = P$.
Caso $2.5 \le P < 5$:
A(O) aluna(o) poderá realizar o exame. O exame será composto por um subconjunto das tarefas práticas disponibilizadas ao longo do semestre. A(O) aluna(o) poderá refazer as tarefas indicadas no período do exame ou aproveitar os programas já submetidos 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 poderão ser diferentes daqueles 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$, a(o) aluna(o) estará aprovada(o) por nota e frequência. Caso contrário, estará reprovada(o) por nota.
Caso $P < 2.5$:
A(O) aluna(o) estará reprovada(o) por nota, com média final ($F$): $F = P$.
Observações:
- Não haverá atividades práticas substitutivas.
- 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).
- Qualquer tentativa de fraude nas atividades práticas implicará em nota final $F = 0$ (zero) para todas as pessoas envolvidas, sem prejuízo de outras sanções. Exemplos de fraudes:
- Cópia ou compra de programas.
- Submissão de programas que produzam as saídas esperadas dos testes abertos a partir da comparação de trechos da entrada, sem de fato implementar os algoritmos solicitados nas tarefas práticas.
- Casos de tentativa de fraude nas tarefas práticas poderão ser detectados automaticamente entre todas as submissões (de todas(os) as(os) alunas(os), entre todas as turmas) ao longo do semestre.
- Todos os casos de tentativa de fraude automaticamente detectados serão verificados manualmente pela coordenação da disciplina. Todos os envolvidos em casos confirmados de tentativa de fraude serão comunicados até o final do semestre.
- As notas das atividades práticas serão divulgadas no site da disciplina até, no máximo, uma semana após o final do prazo de submissão das tarefas.
- De acordo com o Regimento Geral de Graduação, as(os) alunas(os) 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 todas(os) as(os) alunas(os) matriculadas(os).
- De acordo com a fórmula acima, caso uma(um) aluna(o) seja aprovada(o) após realizar o exame final, sua nota final será $F = 5$ (cinco).
Notas: https://ic.unicamp.br/~mc102/notas
Datas Importantes:
- Calendário da disciplina: consulte as datas das atividades práticas e os tópicos cobertos a cada semana de aula.
- Calendário oficial da DAC: consulte as datas sem atividades didáticas na Unicamp, além de outras datas importantes como o período de alteração e desistência de disciplinas.
Sites Recomendados: Os sites listados abaixo fornecem informações adicionais aos tópicos cobertos nas aulas.
- MC102 - Algoritmos e Programação de Computadores:
- Programação em Python:
- Ambientes de Desenvolvimento Integrado (IDE) para Python:
- Competições de Programação: