Você está na página 1de 3

UNIVERSIDADE FEDERAL DE SERGIPE

CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA


DEPARTAMENTO DE COMPUTAÇÃO

PLANO DE ENSINO

DISCIPLINA – PROGRAMAÇÃO IMPERATIVA


Código: COMP0197 N. de Créditos: 06 PEL: 4.00.2
Carga Horária: 90 Período: 2020/1 Turmas: T03

PROFESSOR - Antônio Monteiro Freire


- Mestrado em Engenharia de Sistemas e Computação (COPPE/UFRJ)

1. EMENTA

Noções fundamentais: algoritmos, notação e programas. Identificadores, constantes, variáveis e


atribuição. Tipos primitivos de dados e tipos derivados. Operadores, funções e expressões. Instruções
condicionais, incondicionais e de repetição. Estilo de programação estruturada de programas.
Representação de dados na forma de vetores, matrizes, registros e conjuntos. Procedimentos, funções e
passagem de parâmetros. Ordenação por seleção e método da bolha. Recursividade. Noções de
arquivos em programação. Ponteiros. Uma linguagem imperativa (por exemplo, Pascal ou C).
Algoritmos numéricos e não numéricos para a solução de problemas de baixa complexidade.
Aplicações. Modularização de programas. Padrões de codificação.

2. OBJETIVOS
2.1 Geral
 A disciplina objetiva fornecer ao estudante os conhecimentos de uma linguagem de programação
para especificar e escrever programas de computador.

2.2 Específicos
 Dotar o aluno do conhecimento básicos de uma linguagem de programação de propósitos gerais,
que poderá ser usada como ferramenta de apoio para as demais disciplinas do curso.
 Estudar e aplicar as estruturas básicas que compõem uma linguagem de programação;

3. CONTEÚDO DAS AULAS (Por aula de 2 horas)

01. Introdução. Plano de ensino da disciplina. Estrutura básica de um computador. Armazenamento de


dados. Representação binária. Endereço de memória. (online)
02. Reforço da aula anterior e exercícios.
03. Exercícios de programação.
04. Exercícios de programação.
05. Programa de computador. Comando ou instrução. Linguagens de programação. Compiladores e
Tradutores. Programas e algoritmos. (online)
06. Reforço da aula anterior e exercícios.
07. Exercícios de programação.
08. A Linguagem Python: elementos básicos. Constantes, variáveis e palavras reservadas. (online)
09. Reforço da aula anterior e exercícios.
10. Exercícios de programação.
11. Exercícios de programação.
12. Expressões e operadores .Comandos de E/S. (online)
13. Reforço da aula anterior e exercícios.
14. Explicações sobre o 1. trabalho.
15. Comando condicional If. Estrutura de repetição While. (online)
16. Reforço da aula anterior e exercícios.
17. Exercícios de programação.
18. Exercícios de programação.
19. Estrutura de repetição For. Comandos: break e continue. (online)
20. Reforço da aula anterior e exercícios.
21. Exercícios de programação.
22. Exercícios de programação.
23. Funções predefinidas. Bibliotecas de funções. Funções matemáticas. Conversão de tipos.
Comentários. (online)
24. Reforço da aula anterior e exercícios.
25. Exercícios de programação.
26. Blocos de código (indentação). Tratamento de exceções (try / except). (online)
27. Reforço da aula anterior e exercícios.
28. Explicações sobre o 2. trabalho.
29. Exercícios de programação.
30. Definição de funções, retorno de valores, argumentos e parâmetros. (online)
31. Reforço da aula anterior e exercícios.
32. Exercícios de programação.
33. Recursividade. (online)
34. Reforço da aula anterior e exercícios.
35. Explicações sobre o 3. trabalho.
36. Exercícios de programação.
37. Listas. Tuplas. (online)
38. Reforço da aula anterior e exercícios.
39. Exercícios de programação.
40. Dicionários. (online)
41. Reforço da aula anterior e exercícios.
42. Exercícios de programação.
43. Arquivos em Python. (online)
44. Reforço da aula anterior e exercícios.
45. Exercícios de programação.

Obs.: As aulas dos dias de segunda-feira serão síncronas (onlines).

4. METODOLOGIA

A metodologia a ser utilizada tem por objetivo manter o aluno sempre atento ao desenvolvimento da
disciplina, e para tanto teremos as seguintes atividades:
a) Aulas expositivas remotas online;
b) Exercícios e reforços em aulas assíncronas;
c) Uso de aplicativos nas aulas;
d) Exercícios de programação;
e) Atividades de curta duração para casa;
f) Trabalhos de programação para casa.

Os trabalhos feitos em casa deverão ser individuais, sendo atribuída a nota zero para programas
semelhantes. Os trabalhos não semelhantes, serão corrigidos de acordo com os seguintes critérios:
a) Originalidade c) Generalidade da solução (programa)
b) Eficiência do algoritmo d) Exatidão dos resultados

5. AVALIAÇÃO (tipos e instrumentos)

A avaliação será feita através de atividades ao fim das aulas e de trabalhos para casa. Os trabalhos para
casa objetivam fazer com que o aluno desenvolva seu raciocínio de forma mais ampla combinando
vários temas dados em sala. Os trabalhos serão testados com o uso do computador.

1ª avaliação: atividades: 8 pontos; trabalho nº 1: 2 pontos.

2ª avaliação: atividades: 8 pontos; trabalho nº 2: 2 pontos.

3ª avaliação: atividades: 8 pontos; trabalho nº 3: 2 pontos.

6. BIBLIOGRAFIA

6.1 Básica
• Como pensar como um Cientista da Computação usando Python (traduzido). Allen Downey, Jeffrey
Elkner, and Chris Meyers.

2
• Python para Desenvolvedores. Luiz Eduardo Borges. Rio de Janeiro; 2010; 978-85-909451-1-6.
• Introdução à Programação com Python. Nilo Ney Coutinho, 2˚ edição, 2014, ISBN: 978-85-7522-
408-3.

6.2 Complementar
• Fundamentos da Programação de Computadores. Ana Fernanda Gomes Ascencio / Edilene Aparecida
Veneruchi De Campos. 3˚ edição; 2012, Pearson; ISBN 978-8564574168

7. OBSERVAÇÕES

Critérios de correção dos exercícios para casa:

Os exercícios feitos em casa deverão ser testados no computador, sendo atribuída a nota zero para
programas muito semelhantes. Os exercícios serão corrigidos de acordo com os seguintes critérios:
a) Originalidade
b) Eficiência do algoritmo
c) Generalidade do programa
d) Exatidão dos resultados

Campus, 19 de outubro de 2020.

________________________
Antônio Monteiro Freire
Professor

Você também pode gostar