Apostila de algoritmos e estrutura da informação
Abstração procedural: técnicas de modularização, funções, passagem de parâmetros por valor e referência. Ponteiros: definições, uso com vetores, matrizes e registros. Recursividade e iteratividade, ordem de crescimento e barreiras de abstração. Abstração de dados: listas, árvores binárias, filas, tabelas. Algoritmos de ordenação: BubleSort, InsertSort e QuickSort.
Apresentar as principais estruturas de dados e os principais algoritmos utilizados no desenvolvimento modular de programas de computador permitindo assim aos alunos desenvolver suas próprias aplicações na área de controle e automação.
As aulas serão conduzidas de maneira expositivo-dialogadas, com exercícios práticos e atividades individuais e em grupo, O principal foco do desenvolvimento do conhecimento será através da resolução de exercícios para cada assunto estudado, colaboração coletiva e no final, análise e discussão dos resultados. O professor irá atuar como intermediário para que o aluno no final da disciplina consiga resolver ativamente problemas do mundo real com o uso dos assuntos abordados. O material didático será disponibilizado de forma a guiar o desenvolvimento das aulas, com complementação através de livros e pesquisas na internet, além da utilização de conteúdos multimídia como sites, blogs e vídeos. As aulas serão realizadas em sala de aula, onde serão abordadas as atividades que envolvem raciocínio lógico e, quando necessário, no laboratório de informática para o desenvolvimento das atividades práticas.
A nota final será composta de 3 avaliações, no formato de provas e 3 listas de exercícios. A primeira prova e a primeira lista de exercícios englobam os assuntos relacionados com a programação em C e a abstração procedural. A segunda prova e a segunda lista de exercícios englobam os assuntos relacionados com ponteiros, recursividade e iteratividade. A terceira prova e a terceira lista de exercícios englobam os assuntos relacionados com abstração de dados e algoritmos de ordenação.
A média final (Mf) será composta da seguinte forma:
Ml = (L1 + L2 + L3) / 3
Mf = (A1 + A2 + A3 + Ml) / 4
Onde:
A1, A2 e A3 são as notas das avaliações (Provas)
L1, L2 e L3 são as notas das listas de exercícios
Ml é a média das listas de exercícios
Mf é a média final
Exame Final – Art. 61 §1º. da resolução Consuper 057/2012 e PPC do Curso Considerar-se-á aprovado em um componente curricular o estudante que tiver frequência igual ou superior a 75% (setenta e cinco por cento) do número de aulas estabelecidas no semestre e alcançar Média Final igual ou superior a 7,0 (sete vírgula zero). Para o aluno aprovado sem exame, será atribuído à Nota Final do componente curricular, o valor da média final do mesmo. O aluno em exame será aprovado no componente curricular, quando a Nota Final for igual ou superior a 5,0 (cinco vírgula zero), calculada da seguinte forma: NF = NE x 0,5 + MS x 0,5, sendo NF = NOTA FINAL, NE = NOTA EXAME, MF = MÉDIA FINAL. As recuperações de notas (Exames Finais), arquivadas na Coordenação de Registros Acadêmicos, só podem ser revisadas através de solicitação do estudante, em formulário próprio.
SCHILDT, Herbert. C completo e total. 3. ed. rev. e atual. São Paulo: Pearson, 1997.
MANZANO, José Augusto N. G. Estudo dirigido de linguagem C. 17. ed. rev. e atual. São Paulo: Érica, 2013.
FEOFILOFF, Paulo. Algoritmos em linguagem C. São Paulo: Campus, 2008.
MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: Lógica para desenvolvimento de programação de computadores. 27. ed. rev. São Paulo: Érica, 2014.
MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Estudo dirigido de algoritmos. 15. ed. rev. São Paulo: Érica, 2012.
MARÇULA, Marcelo; BENINI FILHO, Pio Armando. Informática: conceitos e aplicações. 3. ed. rev. São Paulo: Érica, 2008.
VELLOSO, Fernando de Castro. Informática: conceitos básicos. 8. ed. Rio de Janeiro: Elsevier, 2011.
PEREIRA, Silvio do Lago. Algoritmos e lógica de programação em C: uma abordagem didática. São Paulo: Érica, 2010.