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 CB06
Teórica (turmas KLMN) Sexta 14h–16h CB05
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

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
28/02/2018 Introdução e Plano de Desenvolvimento Aula01, O primeiro computador
02/03/2018 Estrutura de um programa, Variáveis, Objetos e Atribuição Aula02, IPython Notebook
05/03/2018 Python e a Ferramenta de Submissão e Testes Automáticos SuSy Lab00
07/03/2018 Escrita, Leitura, Expressões Aritméticas, Conversão de Tipos Aula03, IPython Notebook
09/03/2018 Expressões Relacionais, Lógicas e Comandos Condicionais Aula04
12/03/2018 Minissomadora Lab01
14/03/2018 Comandos Condicionais: elif Aula05
16/03/2018 Comandos Repetitivos: while e for, break e continue Aula06, IPython Notebook
19/03/2018 Minicalculadora Lab02
21/03/2018 Comandos Repetitivos: Exercícios Aula07, IPython Notebook
23/03/2018 Comandos Repetitivos: Variável Indicadora, Variável Contadora Aula08, IPython Notebook
26/03/2018 Classificador de Triângulos Lab03
28/03/2018 Comandos Repetitivos: Laços Encaixados Aula09
02/04/2018 Formas Geométricas Simples Lab04
04/04/2018 Listas Aula10, IPython Notebook
06/04/2018 Strings Aula11, IPython Notebook
09/04/2018 Corrida de Lesmas Lab05
11/04/2018 Strings & Listas: Exercícios Aula12
13/04/2018 Revisão para Prova 1: Exercícios Aula13
18/04/2018 Revisão para Prova 1: Exercícios Aula14
20/04/2018 Prova 1
23/04/2018 Detetives e Assassinos Lab06
25/04/2018 Tuplas e Dicionários Aula15
02/05/2018 Introdução a Funções Aula16, IPython Notebook
04/05/2018 Funções Aula17, Bugs incríveis
07/05/2018 Critérios para Aprovação em MC102 Lab07
09/05/2018 Correção da Prova 1 Aula18
11/05/2018 Matrizes e Vetores Multidimensionais Aula19, IPython Notebook
14/05/2018 Caça Palavras Lab08
16/05/2018 Expressões Regulares (Celso Brennand) Aula20
18/05/2018 Algoritmos de Ordenação Aula21, IPython Notebook
21/05/2018 Jogo da Vida Lab09
23/05/2018 Busca Sequencial e Binária Aula22, Labs 06 & 07
06/06/2018 Arquivos Textos Aula23, Exemplos
08/06/2018 Arquivos Binários, Funções Recursivas Aula24-1, Aula24-2, Exemplos
11/06/2018 Algoritmos de Ordenação Lab10
13/06/2018 Algoritmos de Ordenação: Quick Sort & Merge Sort Aula25, IPython Notebook
15/06/2018 Revisão para a Prova 2 Aula26
20/06/2018 Prova 2
22/06/2018 Correção da Prova 2 Aula27

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). 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). Os monitores da disciplina são:

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.

Resultado Final: Seja $M_{Elem}$ a média ponderada dos elementos da avaliação seguindo a fórmula:

$$M_{Elem} = (0.6*M_P) + (0.3*M_L) + (0.1*M_{AC})$$

e $M = min(M_{Elem}, M_P, M_L)$ a média sem exame. A média final F e a situação da(o) aluna(o) serão definidas de acordo com as regras abaixo.

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