Você está na página 1de 5

Universidade Federal do Rio de Janeiro (UFRJ)

Departamento de Engenharia Eletrônica

Planejamento da Disciplina
Dados de Identificação
Professores: Fernanda D. V. R. Oliveira e Gustavo M. S. Nunes
Disciplina: Computação I
Turma: EL1: 10158 e EL2: 10159
Data: 09/11/2021
Duração da aula: 4 horas teóricas e 2 horas práticas por semana

1 Descrição
Planejamento da disciplina de Computação I para as aulas remotas emergenciais devido à
pandemia do Covid-19.
Duração: 15 semanas úteis + 2 semanas de recesso.
Início: 16/11/2021
Fim: 12/03/2021
Recesso de Natal: 24/12/2021 a 02/01/2022
Recesso de Carnaval: 26/02/2022 a 06/03/2022

2 Ementa
1. Solução de problemas utilizando computadores.
2. Algoritmos: linguagens para especificar algoritmos, estruturas de dados e controle, modu-
larização, refinamento etapa por etapa. Algoritmos para a solução de problemas numéricos
e não numéricos.
3. Python: arquivos, alocação dinâmica de memória e orientação a objetos.
4. Introdução à Informática: o hardware e o software de computadores, a apresentação de
informações, as linguagens de programação, o tele-processamento e as redes locais. Os
impactos da computação.

3 Objetivos
Desenvolver a habilidade de criar algoritmos através da lógica de programação. Ao final do
curso, o aluno deve ser capaz de solucionar problemas utilizando a linguagem de programação
Python e o paradigma de programação estruturada.

4 Procedimentos metodológicos
Apresentação expositiva e encontros síncronos para dúvidas.
Disponibilização de vídeos com o conteúdo teórico e de uma lista de exercícios toda terça-
feira de manhã.
As aulas práticas serão síncronas (presença não-obrigatória) e ministradas toda terça-feira
de tarde (15h-17h), para ambas as turmas (EL1 e EL2). Com isso, não haverá atividade pro-
gramada para o horário de quinta-feira de manhã (8h-12h). As aulas de laboratório consistirão
na resolução de exemplos em conjunto com os alunos que estiverem presentes, e/ou em tirada
de dúvidas.

5 Recursos didáticos
• Computador, vídeo-aulas assíncronas, mesa digitalizadora, disponibilidade para dúvidas
nos horários das aulas práticas.

6 Plano Semanal da Disciplina

Conteúdo por semana:

• Semana 1:

1. Apresentação pessoal e da disciplina.


2. Motivação, história da computação, definição de computador, programa, algoritmo,
linguagem de programação, compilador e interpretador, sintaxe e semântica, para-
digma de programação.
3. (Opcional) Linux, definição de sistema operacional, software livre e aberto.
4. Python - história, instalação do Python 3 e interfaces. Python Online. Python no
celular: PyDroid ou QPython (no iphone?). Shell × Editor de texto.
5. Exemplos com o Turtle.
6. Vi ou Vim
7. Definindo funções no Python.
8. Variáveis: definição, utilização e escopo.
9. Instruções para a entrega da lista de exercícios e a importância de seguir a padroni-
zação pedida.
10. Enunciado da lista 1

• Semana 2:

1. Função: múltiplas entradas e múltiplas saídas.


2. Estrutura condicional
3. O Tipo e as Expressões Booleanas
4. Exemplos com condicional e booleano
5. Condicionais aninhadas
6. Enunciado da lista 2

• Semana 3:

1. O laço de repetição while


2. Exemplos com while
3. Chamada de função dentro de outra função
4. Utilização de um Debugger
5. Enunciado da lista 3, parte 1

• Semana 4:

1. Lista
2. Exemplos com lista
3. Break e Continue
4. Mais detalhes sobre listas
5. Enunciado da lista 3, parte 2

• Semana 5:

1. O laço de repetição for


2. A função Range
3. Exemplos com for e range
4. Lista de listas - matriz
5. Enunciado da lista 4

• Semana 6:

1. O tipo tupla
2. O tipo string
3. Interação com o Usuário
4. Enunciado da lista 5, parte 1

• Semana 7: Recesso de Natal - do dia 24/12/2021 ao dia 02/01/2022

• Semana 8:

1. Exemplo de um programa mais completo: gerenciamento de mesas de um restaurante


2. Revisão
3. Utilização do Github
4. Enunciado do trabalho
5. Enunciado da lista 5, parte 2

• Semana 9:

1. O tipo Dicionário
2. O tipo Set
3. Chamando os módulos random, Copy, OS, urllib; e criando um módulo
4. Exemplo: jogo de forca
5. Enunciado da lista 6

• Semana 10:

1. Manipulação de arquivos
2. Exemplo com arquivos
3. O módulo NumPy
4. Definição do tema do trabalho de cada aluno (os alunos devem entrar em contato
com a professora).
5. Enunciado da lista 7

• Semana 11:

1. Argumentos com valores padrão em funções


2. Tratamento de Exceção
3. Exemplos com tratamento de exceção
4. Enunciado da lista 8

• Semana 12:

1. Recursão
2. Exemplos com recursão
3. Algoritmos de Ordenação
4. Enunciado da lista 9

• Semana 13:

1. Introdução à programação orientada a objetos


2. Exemplos com orientação a objetos
3. O módulo Tkinter
4. Enunciado da lista 10

• Semana 14:

1. Exemplo com o Tkinter - usando o canvas


2. NumPy, SciPy, MatplotLib - Processamento de Imagens
3. NumPy, SciPy, MatplotLib - Estatística
4. Enunciado de exercícios valendo alguns décimos extra

• Semana 15:

1. Função zip, expressão lambda, expressão condicional ternária e compreensão de lista


2. Enunciado de exercícios valendo alguns décimos extra

• Semana 16: Recesso de Carnaval - do dia 26/02/2022 ao dia 06/03/2022

• Semana 17:

1. Conclusão e apresentação do trabalho


7 Avaliação
Dez listas de exercícios, da semana 1 à semana 13, onde as listas 3 e 5 são divididas em
parte 1 e parte 2. A nota máxima de cada lista é 10 (no caso das listas 3 e 5: nota da parte 1
+ nota da parte 2 ≤ 10).
Trabalho: desenvolvimento de um programa com interação com o usuário; apresentação de
15 minutos falando sobre a lógica de programação. A nota máxima do trabalho é 10.
Cálculo da média:
n1 + n2 + n3 + n4 + n5 + n6 + n7 + n8 + n9 + n10
media_listas = , (1)
10
Onde n1 é a nota da primeira lista, n2 é a nota da segunda lista, n3 é a nota da terceira
lista (parte 1 + parte 2), n4 é a nota da quarta e assim por diante.

media_f inal = 0.6 · media_listas + 0.4 · nota_trabalho (2)


Se media_f inal ≥ 5.0, o aluno está aprovado.

Você também pode gostar