BCM0505-15 -- Processamento da Informação


Atualizado em 14/07

Aulas Teóricas: Turmas NA{1,2,3} e NB{4,5,6} — Notas em 14/07

Laboratórios: Turmas NA1 e NB{4,5} — Notas em 14/07

Critérios

Avaliação Peso Filtragem Detalhes
Listas de exercícios ($L$)      20% (10% cada)      [ duas melhores dentre três ]      $L = \max\{L_1+L_2,L_1+L_3,L_2+L_3\}/2$
Provas ($P$)      40%      [ melhor dentre duas ]      $P = \max\{P_1,P_S\}$
Laboratório ($E$)      40% total      [ de acordo com seu professor ]      $E = \mathit{como~definido~para~a~sua~turma}$
Nota nominal ($N$)                 $N = 0.2 * L + 0.4 * P + 0.4 * E$

Para NA1, NB4 e NB5 foram escolhidas as avaliações $E_3$ e $E_4$, ambas pré-ECE, e $E_5,E_6,E_8$ e $E_9$ para compor $E$: $$E = \frac{1}{3}F + \frac{2}{3}G = \frac{1}{3}\cdot\frac{1}{2}(E_3+E_4) + \frac{2}{3}\cdot\frac{1}{4}(E_5+E_6+E_8+E_9) = \frac{1}{6}(E_3+E_4+E_5+E_6+E_8+E_9).$$

Conceito nominal ($C_N$): reflete o seu desempenho frente ao material apresentado e às avaliações realizadas; obtido pelo encaixe de $N$ em um dos intervalos: $$-\infty < \mathbf{F} < 5.0 \leq \mathbf{D} \leq 6.0 < \mathbf{C} \leq 7.0 < \mathbf{B} \leq 8.5 < \mathbf{A} < \infty.$$

Normalização

Sejam $\mu$ e $\sigma$ a média e o desvio padrão das notas $N$ atribuídas a todos os alunos. Cada aluno obterá uma nota normalizada: $$M = (N-\mu)/\sigma.$$

Conceito normalizado ($C_M$): reflete o seu desempenho perante os seus colegas; obtido pelo encaixe de $M$ em um dos intervalos: $$-\infty < \mathbf{F} < -\frac{1}{4}\sigma \leq \mathbf{D} < 0 \leq \mathbf{C} < \frac{1}{4}\sigma \leq \mathbf{B} < \frac{1}{2}\sigma \leq \mathbf{A} < \infty.$$

Considerando-se a ordenação $\mathbf{A} > \mathbf{B} > \mathbf{C} > \mathbf{D} > \mathbf{F}$, seu conceito efetivo (final / pré-recuperação) será maior ou igual ao seu conceito nominal: $$C_F = \max\{C_N,C_M\}.$$

Recuperação

Caso seu conceito $C_F$ seja $\mathbf{D}$ ou $\mathbf{F}$, você tem direito a uma prova de recuperação $P_R$. Esta será única e contemplará toda a matéria do quadrimestre. Uma nova nota nominal $\overline{N}=(N+P_R)/2$ será utilizada para gerar um novo conceito (nominal) final pós-recuperação $\overline{C}_N$. Não haverá normalização na recuperação. Seu conceito final pós-recuperação pode ser menor que o pré-recuperação: uma vez feita, a recuperação é parte integrante da sua avaliação.


Descrição e objetivos

Introdução ao Pensamento Computacional e à arte de resolver Problemas Algorítmicos em dispositivos clássicos via programação em Python. Ênfase na obtenção de soluções construtivas para problemas elementares de natureza discreta ou contínua.

O curso é essencialmente auto-contido, mas é recomendado que as disciplinas Bases Matemáticas e Natureza da Informação tenham sido cursadas à priori. Ao final, a/o estudante aprovada/o deve ser capaz de desenvolver soluções algorítmicas simples, baseando-se nos rudimentos de análise e programação apresentados.

Alguns dos tópicos contemplados: variáveis, constantes e palavras reservadas; sintaxe e semântica; tipos de dados fundamentais e operadores; estruturas condicionais simples e compostas; funções e módulos; estruturas de repetição (iteração e recursão); listas, filas e pilhas; algoritmos elementares de busca, separação e ordenação; cálculo de estatísticas simples; vetores, matrizes e tensores; computação numérica para zeros de polinômios, interpolação, regressão, integração e sistemas lineares; aplicações em clustering, neural networks, page ranking e caminhos mínimos.

Bibliografia

A referência básica é Sedgewick-Wayne-Dondero [A]. Cormen [B] e Dasgupta-Papadimitriou-Vazirani [C] são boas complementações.

  • [A] R. Sedgewick, K. Wayne e R. Dondero, Introduction to Programming in Python: An Interdisciplinary Approach, Pearson/Addison-Wesley Professional (2015)
  • [B] T. Cormen, Algorithms Unlocked, MIT Press (2013)
    Versão em Português: Desmistificando Algoritmos: Teoria e Prática, GEN LTC (2013)
  • [C] S. Dasgupta, C. Papadimitriou e U. Vazirani, Algorithms , McGraw-Hill (2006)
    Versão em Português: Algoritmos, AMGH (2009)

Estudando para esta disciplina

Este curso tem nível introdutório e contém uma coleção de problemas elementares e fundamentais. Apesar disso, é normal fazer confusões e sentir-se perdido no início. O motivo é, em geral, a falta de familiaridade com o raciocínio algorítmico – e algo que este curso pretende reverter.

  • Refaça os exemplos fornecidos em sala de aula e no laboratório.
  • Preste atenção ao processo de solução e não foque somente no resultado final.
  • Assista às aulas (faça perguntas), resolva as listas de exercícios e os problemas de laboratório.
  • Estude a bibliografia indicada (monte grupos de estudo) e faça um bom uso dos horários de atendimento dos professores.
  • Tenha sempre em mente que aprendizado é uma tarefa ativa; não fique somente assistindo.
  • Programe, programe, programe. Quanto mais programação você fizer, melhor ficará.
  • Se ainda estiver se sentindo perdido, repita os passos acima. Mais cedo ou mais tarde, eles convergirão à compreensão.

Integridade acadêmica e transgressões

O Artigo 25 do Código de Ética da UFABC estabelece, à página 23: “Quanto aos trabalhos acadêmicos, é eticamente inaceitável que os discentes:

  • I - fraudem avaliações;
  • II - fabriquem ou falsifiquem dados;
  • III - plageiem ou não creditem devidamente autoria;
  • IV - aceitem autoria de material acadêmico sem participação na produção;
  • V - vendam ou cedam autoria de material acadêmico próprio a pessoas que não participaram da produção.”

Trabalhos (listas, provas, programas) suspeitos de cópia ou de outra representação fraudulenta acarretarão aos envolvidos conceitos $\mathbf{F}$ (falha) no curso. A atividade será reportada à Comissão Disciplinar Discente da universidade para que sejam tomadas todas as providências disciplinares cabíveis.

Avatar
Aritanan Gruber
Assistant Professor

“See, if y’all haven’t the same feeling for this, I really don’t give a damn. If you ain’t feeling it, then dammit this ain’t for you!“
(desconheço a autoria; agradeço a indicação)