Departamento de Ciência da Computação - IME - USP

MAC0122 Princípios de Desenvolvimento de Algoritmos

Bem-vindos

Avaliação

“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:

Exercícios individuais online

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.

Atividades em laboratório

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.

Exercícios-programa

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 

Provas

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.

Nota final

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.

Recuperação

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

Experienced Programmer

Fonte: https://br.pinterest.com/pin/486599934709469290/