Computação II (DCC - UFRJ)
Curso de Computação II do Departamento de Ciência da Computação - UFRJ
- Professor: Danilo Carvalho (danilosc .at. dcc.ufrj.br )
- Local: Google Meet, Google Classroom.
- Horário: 2ª e 4ª-feira de 15h - 16h, 6ª-feira de 15h - 17h (“laboratório”).
-
Início: 24 de agosto de 2020.
-
Avaliação:
A avaliação do curso é feita através de listas de exercícios e um projeto final de disciplina.
As listas de exercícios consistem de problemas de programação que devem ser resolvidos e entregues em um certo tempo, e de um questionário discursivo à respeito das soluções elaboradas, que deve ser respondido e entregue juntamente com as soluções dos problemas. As listas serão passadas em princípio nas aulas de “laboratório” de número par (2ª, 4ª, …).
O projeto final consiste em um problema mais elaborado, a ser resolvido em grupos, e um questionário sobre as soluções elaboradas, a ser respondido individualmente. O tema do projeto será apresentado à turma no último laboratório regular, sendo o tempo restante do curso parcialmente dedicado ao desenvolvimento do projeto.
As notas são:
- L[1-4]: Notas das listas de exercícios. Serão 4 listas.
- Q[1-4]: Notas dos questionários das respectivas listas.
- PFS: Nota do projeto final (grupo).
- PFQ: Nota do questionário do projeto final (individual).
O cálculo das notas é feito da seguinte maneira:
\[NotaLista[i] = min(L[i] * \frac{Q[i]}{7}, 10.0)\]
\[TotalListas = \frac{\sum_{i=1}^4{NotaLista[i]}}{4}\]
\[NotaProjeto = min(PFS * \frac{PFQ}{7}, 10.0)\]
\[NotaFinal = 0.4 * TotalListas + 0.6 * NotaProjeto\]
Se \(NotaFinal >= 5.0\), o aluno estará aprovado com NotaFinal.
Se \(NotaFinal < 5.0\), o aluno estará reprovado.
- Material de apoio
- Bibliografia:
Objetivo:
- Habilitar o aluno à aplicação de conceitos de Programação Orientada a Objetos, para produção de código compreensível e escalável.
- Capacitar o aluno ao desenvolvimento de programas usando a linguagem Java, usando das boas práticas apropriadas à linguagem.
- Estimular a competência na leitura da documentação da linguagem, bem como a criação da documentação própria para os programas.
Ementa:
1ª aula
- Introdução ao curso.
- Apresentação à linguagem Java. [audioslides] (Apostila: 2.1 - 2.9)
2ª aula
- Estrutura básica da linguagem. [audioslides] (Apostila: 2.10 - 2.17)
- Observações sobre a sintaxe, boas práticas. [audioslides] (Apostila: 3.1 - 3.14)
- Pacotes. [audioslides] (Apostila: 7.1 - 7.6)
3ª aula [1º laboratório]
- Pacotes. [audioslides] (Apostila: 7.1 - 7.6)
- E/S básica no terminal e uso da classe System. [audioslides]
- Erros de compilação e execução; Exceções. [audioslides] (Apostila: 12.1 - 12.3)
4ª aula
- Erros de compilação e execução; Exceções (cont.). [audioslides] (Apostila: 12.1 - 12.3)
- Introdução ao Javadoc. [resumo] (Apostila: 8.3 - 8.4)
- Introdução ao Git / GitHub. [audioslides]
5ª aula
- Conceitos de Programação Orientada a Objeto: (Apostila: 4.1 - 4.14)
6ª aula [2º laboratório]
7ª aula
- Encapsulamento:
- Visibilidade: public, private. [audioslides] (Apostila: 5.1)
8ª aula [3º laboratório]
- Uso de condicionais vs tratamento de exceções.
- Uso da IDE Eclipse. (Apostila: capítulo 6)
- Exercício de uso do Git.
9ª aula
- Encapsulamento:
- Getters e setters; Validação de parâmetros e triggers. [audioslides] (Apostila: 5.2 - 5.5)
- Métodos e atributos de classe (static). [audioslides] (Apostila: 5.6 - 5.7)
10ª aula
11ª aula [4º laboratório]
12ª aula
13ª aula
14ª aula [5º laboratório]
15ª aula
16ª aula
17ª aula [6º laboratório]
18ª aula
19ª aula
20ª aula [7º laboratório]
21ª aula
22ª aula [8º laboratório]
23ª aula
24ª aula
25ª aula [9º laboratório]
26ª aula
27ª aula
28ª aula [10º laboratório]
29ª aula
30ª aula
31ª aula
- Revisão de conteúdos e dúvidas.