MC102 — Algoritmos e Programação de Computadores

Instituto de Computação (IC/Unicamp)
Profa. Sandra Avila (sandra@ic.unicamp.br)

 

Avisos Importantes:

Dias, Horários e Salas:

Tipo de Aula Dia da Semana Horário Sala
Teórica (turmas KLMN) Quarta 14h–16h CB04
Teórica (turmas KLMN) Sexta 14h–16h CB04
Laboratório (turma K) Segunda 14h–16h SI03
Laboratório (turma L) Segunda 14h–16h SI05
Laboratório (turma M) Segunda 16h–18h SI03
Laboratório (turma N) Segunda 16h–18h SI08

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). Além do atendimento durante as aulas de laboratório, haverá plantões de dúvidas presenciais e aulas extras de revisão em horários e salas que serão divulgados na página web geral da disciplina (https://ic.unicamp.br/~mc102/atendimento.html). As(Os) monitoras(es) da disciplina são:

Programa 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.

Data Assunto Material da Aula
27/02/2019 Introdução e Plano de Desenvolvimento Aula, O que é um algoritmo?, O primeiro computador
01/03/2019 Estrutura de um programa, Variáveis, Objetos e Atribuição Aula, IPython Notebook
07/03/2019 Python e a Ferramenta de Submissão e Testes Automáticos SuSy Lab00
08/03/2019 Estrutura de um programa, Variáveis, Objetos e Atribuição Aula, IPython Notebook
13/03/2019 Expressões Relacionais, Lógicas e Comandos Condicionais Aula
15/03/2019 Comandos Condicionais: elif Aula
15/03/2019 Aritmética com Inteiros Lab01
20/03/2019 Estruturas Repetitivas: while e for Aula, IPython Notebook
22/03/2019 Estruturas Repetitivas: Variável Indicadora e Contadora Aula, IPython Notebook
24/03/2019 Pagamento com Atraso Lab02
27/03/2019 Exercícios & Laços Encaixados Aula
29/03/2019 Exercícios & Laços Encaixados Aula, IPython Notebook
29/03/2019 Intercâmbio? Lab03
01/04/2019 Classificador de Triângulos Lab04
03/04/2019 Listas Aula, IPython Notebook
04/04/2019 Vagas ENEM-Unicamp Lab05
05/04/2019 Strings Aula
10/04/2019 Dou-lhe uma, dou-lhe duas… Lab06
10/04/2019 Strings: Exercícios & Exemplos Aula, IPython Notebook
12/04/2019 Exercícios Aula
17/04/2019 Desenhando com números Lab07
17/04/2019 Revisão 1: Prova 1 Aula
24/04/2019 Revisão 2: Prova 1 Aula
26/04/2019 Prova 1 Boa Prova!
29/04/2019 Critérios para Aprovação em MC102 Lab08
03/05/2019 Tuplas e Dicionários Aula
06/05/2019 Medidor de Força de Senhas Lab09
08/05/2019 Funções Aula, IPython Notebook
10/05/2019 Funções Aula
13/05/2019 Regiões Binárias Lab10
17/05/2019 Matrizes Aula, IPython Notebook
20/05/2019 Meu time pode ser campeão!!! Lab11
24/05/2019 Expressões Regulares Aula
29/05/2019 Ordenação Aula
31/05/2019 Busca Sequencial e Binária Aula
03/06/2019 Verificador de erros para Sudoku Lab12
05/06/2019 Arquivos Aula
07/06/2019 Arquivos Binários Aula
12/06/2019 Recursão & QuickSort Aula, Aula
17/06/2019 MergeSort Aula
19/06/2019 Revisão: Prova 2 Aula
26/06/2019 Prova 2
28/06/2019 Correção da Prova 2 Aula

Linguagem de Programação: Python, versão 3.

Critério de Avaliação: Serão levados em consideração os seguintes elementos: Atividades Conceituais, Tarefas de Laboratório e Provas Teóricas, sendo:

Frequência Mínima: De acordo com o Regimento Geral de Graduação as(os) alunas(os) devem ter sua presença às aulas controlada e a frequência Freq deve ser maior ou igual a 75% para aprovação.

Critérios de Avaliação: A média final $M_{Final}$ e a situação da(o) aluna(o) serão definidas de acordo com as regras a seguir.

Informações Adicionais:

Referências: Existem muitos textos sobre programação em Python. Neste semestre utilizaremos como referência principal o livro “How to Think Like a Computer Scientist: Interactive Edition” de Brad Miller e David Ranum, disponível em inglês e português, conforme descrito a seguir:

Caso tenha interesse por outro texto, verifique se a versão utilizada de Python é a 3. Se não for, fique atenta(o) aos detalhes que variam de uma versão para outra.

Adicionalmente, recomendamos o material disponível nas páginas oficiais da linguagem Python: www.python.org ou www.python.org.br (em português).