[23/11/2012] Visando a preparação para o exame, haverá horários especiais de atendimento com o monitor, nos dias 4 e 11 de dezembro de 2012 (terças-feiras), das 18h às 19h, na sala 53, do IC-2. Os interessados neste atendimento especial devem confirmar sua presença com 24h de antecedência, através do email do monitor. Caso o monitor não receba nenhuma confirmação de interesse dentro do prazo estabelecido, o horário de atendimento estará automaticamanete cancelado.
[15/11/2012] Divulgadas as Notas da Terceira Prova. As provas estarão disponíveis para consulta nos horários de atendimento dos dias 22 e 29 de novembro de 2012 (últimos horários de atendimento do semestre).
[25/10/2012] Alunos aprovados em MC302 ou MC322 poderão usar as notas obtidas nestas disciplinas como substitutas da nota de Java (prova + campeonato). Para tanto, os alunos interessados devem assinar o documento autorizando a substituição das notas, que estará disponível no dia 30 de outubro de 2012 (terça-feira), durante a aula (das 21h às 22:30h), junto com a avaliação da disciplina. Alunos que optarem por usar a nota de MC302 ou MC322 como substituta da nota de Java não poderão fazer a terceira prova nem submeter jogadores para o campeonato de Java. Neste caso, a nota do Mega-Campeonato será computada considerando-se apenas as notas dos jogadores de Prolog e Lisp (média geométrica).
[17/10/2012] Disponibilizado o material sobre Orientação a Objetos, no site Ensino Aberto.
[16/10/2012] Divulgadas as Notas da Segunda Prova. As provas estarão disponíveis para consulta nos horários de atendimento dos dias 18 e 25 de outubro de 2012.
[02/10/2012] Lembrete: na próxima terça-feira, dia 09/10/2012, às 19h, serão realizadas as avaliações dos cursos 42 (sala 85 do IC) e 49 (sala M30 da FEM). No mesmo dia, a partir das 21h (sala CB-05), será realizada a segunda prova da disciplina (programação funcional - Lisp).
[28/08/2012] Divulgadas as Notas da Primeira Prova. As provas estarão disponíveis para consulta nos horários de atendimento dos dias 13 e 20 de setembro de 2012.
[16/08/2012] Campeonato de Prolog no ar (submissões liberadas). Se você é aluno da disciplina MC336 (turmas B e #), para submeter jogadores e acompanhar as partidas, vá para Marte. Se você é aluno da disciplina MC346 (turma A), vá para Vênus.
[16/08/2012] Disponibilizado o arquivo com as instruções para a implementação do jogador em prolog (veja o jogador vazio).
Terças-feiras às 21h, na sala CB-05, e quintas-feiras às 19h, na sala CB-04.
Dias, Horários e Local de Atendimento
Professor: Quintas-feiras, das 18:00h às 18:45h, na sala 23, do IC-1.
Não haverá horário de atendimento com o professor nas semanas das provas nem do exame.
Monitor: Terças-feiras, das 18h às 19h, na sala 53, do IC-2.
Nos dias 4 de setembro, 2 de outubro e 13 de novembro de 2012 o horário de atendimento do monitor terá 2h de duração (exclusivo para dúvidas referentes ao campeonato), com início às 17h. Não haverá atendimento no dia 9 outubro de 2012.
Em caso de ausência de alunos, o horário de atendimento, tanto do professor quanto do monitor, se encerrará às 18:30h. Caso deseje usar o horário de atendimento, compareça à sala indicada até às 18:30h.
Contato por Email
Não haverá atendimento de dúvidas por email. Não haverá atendimento via mensagens instantâneas (MSN, Google Talk, Facebook, Twitter, etc).
As dúvidas devem, preferencialmente, ser sanadas em sala de aula ou pessoalmente nos horários de atendimento. Use o email apenas para assuntos excepcionais.
Caso seja necessário enviar algum email com assuntos relativos a esta disciplina, este deve ser enviado simultaneamente ao professor e ao monitor e deve conter no subject/assunto o texto “[MC336/MC346]” seguido do motivo da mensagem. Exemplos:
Còdigo de programas (jogadores) não devem ser enviados por email.
Todas as mensagens de alunos devem ser assinada com nome completo e RA e enviadas através de uma conta de email oficial da Unicamp (IC, FEEC, DAC, etc).
Ementa e Programa
Ementa
Visão comparativa de paradigmas de programação. Programação funcional, lógica e orientada a objetos.
Programa
Programaçãoo Lógica (Prolog): fatos, regras, inferência. Modelo de execução. Listas, operadores e predicados primitivos para números e listas. Cut. Estruturas de controle. Outras linguagens lógicas.
Programação Funcional (Lisp): ênfase em recursão e modularidade; ausência de atribuições, efeitos colaterais em geral e controle de fluxo. Escolha de uma linguagem funcional para ilustrar suas características em relação a tipos, modo de avaliação de expressões e argumentos, operações primitivas, estruturas de dados, funções de funções, entrada e saída de dados.
Programação Orientada a Objetos (Java): abstração de dados, objetos, classes e tipos, herança, hierarquias de generalização/especialização, hierarquias de agregação/decomposição, polimorfismo, classes abstratas, interfaces, pacotes/módulos, tratamento de exceções, metaclasses.
Recomenda-se o estudo do programa da disciplina através do material didático preparado pelo professor Cid Carvalho de Souza especialmente para esta disciplina (slides em formato PDF).
O curso será dividido em três linguages: Prolog (L1), Lisp (L2), e Java (L3).
A avaliação de cada linguagem será constituída de uma prova (P) e de um projeto baseado em campeonato (C).
Ao longo do curso deverão ser implementados jogadores em Prolog, Lisp e Java, que se enfrentarão em campeonatos.
O campeonato oficial de cada linguagem é um período de 10 dias onde serão realizados tantos campeonatos quanto possível (veja datas abaixo). As submissões de jogadores estarão liberadas pelo menos 2 semanas antes do início do campeonato oficial. Cada aluno poderá realizar quantas submissões desejar, antes e até mesmo depois do início do campeonato oficial. Não serão aceitas submissões após o encerramento dos campeonatos oficiais.
Devido a possíveis cortes de energia elétrica no Campus durante os feriados, o campeonato oficial pode ser interrompido por alguns dias, mas tão logo quanto possível, as partidas serão reiniciadas. Não haverá extensão do período do campeonato em caso de interrupção do campeonato. A submissão dos jogadores só pode ser feita através do site do campeonato, então em caso de corte de energia ou de falhas na rede de dados, não será possível submeter jogadores. Não serão aceitos jogadores enviados por email.
A nota do campeonato será dada de acordo com o desempenho dos jogadores em todas as partidas do campeonato oficial, sendo assim, para concorrer a nota máxima, os alunos devem submeter seus jogadores antes do início do campeonato oficial.
Ao final do semestre será disputado um “Mega-Campeonato” com os jogadores implementados nas três linguagens. A nota de cada aluno neste último campeonato será dada pela média geométrica das notas obtidas por cada um dos seus 3 jogadores (em Prolog, Lisp e Java). A nota obtida no “Mega-Campeonato” será utilizada como bônus (B) ao fim do semestre. Não haverá submissões específicas para o “Mega-Campeonato”, ou seja, apenas os jogadores submetidos para os campeonatos de Prolog, Lisp e Java poderão participar deste último campeonato.
A nota final antes do exame (N) será calculada pela média geométrica simples das três linguagens utilizando-se a seguinte fórmula:
N = (L1 x L2 x L3) 1/3
Se 2.5 ≤ N < 5, o aluno terá direito a fazer o exame. O exame será composto de três partes, uma para cada linguagem vista durante o semestre (Prolog, Lisp e Java). Cada parte será composta de duas questões. A nota de cada parte será computada como a média aritmética entre as duas questões. A nota do exame será computada como a média geométrica entre as três partes. Cada aluno poderá optar por não responder as questões de uma ou mais partes e neste caso será usado como nota daquela parte a nota da linguagem obtida no semestre (considerando tanto as provas quanto os campeonatos). Caso um aluno não compareça ao exame, será considerado que ele optou por substituir as notas de todas as partes pelas notas obtidas durante o semestre.
A nota final da disciplina (F) após o exame (E) será calculada pela fórmula:
F = N + B/10, se N ≥ 5
F = min{5, (N + B/10 + E)/2}, se 2.5 ≤ N < 5
F = N, caso contrário
Observações:
Não haverá provas ou projetos substitutivos.
As provas e o exame terão duração de 1:40h e serão realizados sem consulta a qualquer material.
Qualquer tentativa de fraude nas provas ou nos projetos implicará em média do semestre N = 0 (zero) para todos os envolvidos, sem prejuízo de outras sanções.
Não será cobrada presença em sala de aula.
De acordo com a fórmula acima, caso um aluno seja aprovado após realizar o exame, sua nota final será igual a F=5 (cinco).
Todas as turmas (MC336B, MC336# e MC346A) serão avaliadas de forma idêntica, como descrito anteriormente.
As provas e exames serão realizados na sala de aula, no horário normal das aulas.