Minicurso de Java Moderno


 Informações gerais:

 

Tutor João Paulo TIZ
Próxima edição Início em Março/2018.1
Última edição 2017.2
Carga horária por aula 2h
Nº de aulas 11
Público alvo Ciência da Computação;
Sistemas de Informação;
Demais alunos interessados (foco nos dois cursos acima).
Inscrições Em breve (~2 semanas).

 


Objetivo

Auxiliar na aprendizagem das disciplinas de Programação Orientada a Objetos 1 e 2, produzindo um projeto em console Java, seguido de sua adaptação para interface gráfica, e mostrar normas e passos para um código bem feito e reutilizável.

Conteúdo

  • Características principais da linguagem;
  • Bytecode e Processo de compilação;
  • Introdução ao paradigma imperativo;
  • Tipos primitivos;
  • Inferência de tipo;
  • Estruturas condicionais: if;
  • Laço de repetição for;
  • Raw-Arrays;
  • Tempo de vida de variáveis: Escopo;
  • For-each;
  • Introdução a funções e procedimentos;
  • Busca linear;
  • Complexidade de Algoritmos;
  • Notação assintótica;
  • Bubble-Sort;
  • Classe, Objeto e Atributo;
  • Alocação de memória na JVM;
  • Garbage-Collection;
  • Tempo de vida de objetos;
  • Método Construtor;
  • Cópia e Referência;
  • Boas práticas: API;
  • Documentação de código;
  • Processamento de texto;
  • Laço de repetição: while;
  • Introdução a segurança;
  • Formato JSON;
  • Operações em arquivos;
  • Interfaces;
  • Métodos default;
  • Classes abstratas;
  • Herança e problema do diamante;
  • Generics;
  • Callback;
  • Tipos de dados para funções;
  • Funções lambda;
  • Versionamento Git;
  • Sistema de pacotes Java;
  • Classpath;
  • Geração de arquivo JAR;
  • Geração de arquivo JAR executável;
  • Lista com vetor;
  • Lista encadeada;
  • Complexidade amortizada;
  • Pilha;
  • Padrão de projeto: Composição;
  • Passos de otimização;
  • Tail-call recursion;
  • JIT Compilation;
  • Otimizações da JVM.

 

Plano de Ensino

Link (pdf): Link direto

Material do Minicurso

Slides Link para o material


 

Comentários adicionais

O minicurso, até o semestre 2016.2, era separado em dois módulos: “Java I”, para iniciantes (POOI), e “Java II”, com foco em reforçar o conteúdo de POOII. Atualmente o minicurso “Java II” foi anexado ao primeiro, e elementos modernos da linguagem Java (Java 10, mais especificamente) foram reforçados, e portanto o nome foi alterado para “Minicurso de Java Moderno”.