UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA
DEPARTAMENTO DE CIÊNCIAS EXATAS
PROFESSOR(A): ROBERTO ALMEIDA BITTENCOURT
PERÍODO LETIVO: 2017.1
PROGRAMA DA DISCIPLINA
CARGA HORÁRIA/CREDITAÇÃO
60 horas / (T:30; P:30; E:00)
Não há.
EMENTA
Noções de arquitetura e organização de computadores, sistemas operacionais, redes de computadores e banco de dados. Paradigmas de linguagens de programação. Compiladores e interpretadores. Noções de algoritmo, dado, variável, instrução e programa. Tipos e estruturas elementares de dados. Instruções condicionais, incondicionais e de repetição. Tipos definidos pelo usuário. Estruturas compostas de dados: vetores, matrizes e registros. Subprogramas: funções, procedimentos e recursividade. Noções de arquivos em programação. Aplicações com linguagens de programação.
OBJETIVOS
Geral:
· Ser capaz de resolver problemas algorítmicos através da construção de pequenos programas, utilizando uma linguagem de programação atual.
Específicos:
· Aplicar conceitos de algoritmos para projetar a solução de pequenos problemas de informação;
· Compreender, de maneira introdutória, o funcionamento dos computadores digitais;
· Ser capaz de se expressar, em nível básico, em uma linguagem de programação atual (Python), através de estruturas de controle, processamento e entrada e saída;
· Compreender estruturas de dados básicas homogêneas e heterogêneas em memória e usá-las para armazenar dados em memória;
· Aplicar os conceitos de arquivos para armazenamento e recuperação de informação.
CONTEÚDO PROGRAMÁTICO
UNIDADE I
1. Algoritmos e o ambiente Scratch.
1.1. Ambiente Scratch: visão geral.
1.2. Comandos de aparência, movimento, caneta, sensores, controle, variáveis e expressões.
1.3. Entrada de dados através de mouse e teclado.
1.4. Saída de dados na tela.
1.5. Variáveis e expressões aritméticas.
1.6. Estruturas de seleção e expressões lógicas.
1.7. Estruturas de repetição.
1.8. Comunicação entre objetos.
2. Linguagem Python com Turtle.
2.1. Expressões aritméticas.
2.2. Expressões lógicas e estruturas de seleção if.
2.3. Estruturas de repetição for.
2.4. Funções e módulos em Python.
2.5. Passagem de parâmetros em funções.
UNIDADE II
3. Linguagem Python no contexto de mídias.
3.1. Noções básicas sobre codificação de imagens.
3.2. Estrutura de repetição: loops simples e aninhados.
3.3. Entrada e saída.
3.4. Funções e módulos.
3.5. Passagem de parâmetros em funções.
3.6. Estrutura de dados básicas (vetores e matrizes).
3.7. Reuso de código.
UNIDADE III
4. Linguagem Python no contexto de jogos textuais.
4.1. Entrada e saída via console.
4.2. Constantes, variáveis e atribuição.
4.3. Estruturas de seleção if.
4.4. Estrutura de repetição for e while.
4.5. Expressões aritméticas.
4.6. Recursão.
4.7. Funções e módulos.
4.8. Passagem de parâmetros em funções.
4.9. Estrutura de dados básicas (listas, dicionários).
4.10. Noções de leitura e escrita em arquivos sequenciais.
METODOLOGIA
A metodologia será um híbrido de aulas expositivas dialogadas e tutoriais de técnicas e ferramentas, além de atividades práticas de laboratório para a construção de programas.
MATERIAL UTILIZADO
Quadro branco, pincel, apagador, computador e projetor multimídia.
AVALIAÇÃO
A disciplina será dividida em três unidades, para que o estudante possa refletir sobre sua situação em diferentes momentos do curso e, caso necessário, realizar correções de rumo no processo de aprendizagem.
Medidas da Unidade:
A medida de cada uma das três unidades será extraída de uma combinação desafios de dificuldade incremental propostos ao longo da unidade e de uma atividade avaliativa prática (prova ou projeto) realizada no final da unidade.
Média Parcial:
A média parcial será a média aritmética das medidas de cada unidade. Obtendo média igual ou superior a 7,0 (sete), o estudante pode ser aprovado, caso cumpra os requisitos de frequência.
Prova Final:
· Não obtendo média parcial suficiente na avaliação do módulo, o estudante poderá fazer prova final, e a média final será calculada de acordo com o sistema de avaliação vigente na UEFS.
Aprovação na disciplina:
Para ser aprovado na disciplina, o estudante precisa cumprir os seguintes requisitos:
· Ter frequência igual ou superior a 75% da carga horária efetiva ministrada na disciplina, caso contrário haverá reprovação por frequência;
· Ser aprovado na avaliação da disciplina, caso contrário haverá reprovação por nota.
REFERÊNCIAS
LIVROS-TEXTO
MANZANO, J. A. N. G., OLIVEIRA, J. F. Algoritmos : Lógica para Desenvolvimento de Programação. São Paulo: Érica, 1996.
FORBELLONE, A. V. L., EBERSPACHER, H. F. Lógica de Programação : A Construção de Algoritmos e Estrutura de Dados. 2. ed. São Paulo: Makron Books, 2000.
FARRER, H., et al. Algoritmos Estruturados. 3. ed. Rio de Janeiro: LTC, 1999.
MENEZES, N. N. C. Introdução à Programação com Python. 2. ed. Novatec, 2014.
ALVES, F. J. Introdução à Linguagem de Programação Python. Ciência Moderna, 2013.
GUZDIAL, M. Introduction to media computation: A multimedia cookbook in Python. Pearson/Custom Pub., 2004.
Diversas apostilas e web sites.
LEITURA COMPLEMENTAR
BEAZLEY, D., JONES, B. K. Python Cookbook. Novatec, 2013.
Diversas apostilas e web sites.