Departamento de Ciência da Computação - IME - USP
“Programadores iniciantes tendem a colocar a culpa dos erros no
compilador, na biblioteca, no mau tempo,
Programadores experientes gostariam de ser iniciantes para ter
a quem culpar, além deles mesmos”
The Practice of Programming
Fonte: Brian Wilson Kernighan e Robert C. Pike“Testes mostram a presença de erros,
mas não a ausência.”Fonte: Edsger W. Dijkstra
A metodologia usada em MAC0122 para o desenvolvimento de certas habilidades cognitivas para resolução de problemas computacionais é baseada em tarefas frequentes. Essas tarefas podem ser de natureza prática ou teórica. Com isso pretende-se construir essas habilidades de forma progressiva, contínua. Ao longo do semestre suas habilidades serão avaliadas frequentemente para que possamos prontamente identificar e corrigir eventuais deficiências.
A avaliação de MAC0122 será baseada nas seguintes atividades:
Toda (ou quase toda) semana um exercício individual online ficará disponível na página da disciplina, em geral após a aula de 5a-feira, com entrega até a próxima 2a-feira (antes da aula seguinte). Para fazer esses exercícios, reserve uma hora e lugar para que você possa se dedicar ao exercício sem interrupção. Uma vez começado, ele não pode ser interrompido.
Cada exercício online (ON) deve servir para o
aprofundamento de conceitos vistos, com foco nos tópicos da semana e ou
do laboratório (anterior e/ou futuro).
A nota dos exercícios online (NON) será
a média aritmética dos ON’s.
Algumas reuniões de MAC0122 serão nos laboratórios do Centro de Ensino de Computação (CEC). Cada reunião em laboratório vai girar em torno de uma atividade com o objetivo de treinar certas habilidades.
Para exercitar seu pensamento, gostaríamos que haja muita troca de ideias entre membros dos grupos, tanto intra quanto entre grupos, para que cada pessoa possa refinar e repensar seus conceitos e habilidades sobre o desenvolvimento de programas, avaliação de programas, teste de soluções, busca de soluções alternativas etc.
Por isso as atividades em laboratório (AL) serão
estruturadas em tópicos. Cada tópico será divulgado por um texto e/ou
exercício que deverá ser estudado antes da reunião. Essas leituras e
exercícios, inclusive a avaliação desses exercícios, podem corresponder
a tarefas da atividade, ou seja, a nota de uma atividade AL
corresponde a soma de várias subtarefas que compõem a nota da
AL. O peso de cada subtarefa será definido em cada
AL.
A nota das atividades de laboratório
(NAL) será a média aritmética das AL’s.
Em MAC0122 teremos 4 exercícios-programa individuais.
Cada exercício-programa (EP) abordará tópicos sendo
estudados.
A nota dos EPs (NEP)
será:
NEP = (EP1 + 2*EP2 + 2*EP3 + 3*EP4) / 8 Teremos três provas presenciais e por escrito ao longo do semestre.
A nota de Prova (NPR) será calculada da
seguinte forma:
NPR = max((P1 + P2)/2, (P1 + P3)/2, (P2 + P3)/2)em que P1, P2 e P3 são as
notas de cada prova.
A nota final NF será calculada da
seguinte forma:
se min(NON, NAL, NEP, NPR) ≥ 5, então
NF = 0.15 * NON + 0.25 * NAL + 0.3 * NEP + 0.3 * NPR.senão
NF = min(NEX, NAL, NEP, NPR). Aqueles e aquelas com NF maior ou igual a 5 estarão
aprovados.
Aqueles e aquelas que obtiverem nota final NF maior ou
igual a 3 e menor que 5 terão direito a fazer a recuperação. A nota
final após a recuperação será não superior a 5.
A recuperação consistirá de alguma(s) tarefa(s). Essa(s) tarefa(s)
poderão consistir na feitura de programas ou de uma ou mais prova(s) ou
de ambos. Se Trec é a nota das tarefas de recuperação então
a nota da recuperação NR, será calculada pela regra:
NR = min(5, Trec), A condição para aprovação é NR igual a 5.
Experienced Programmer