programação orientada a objetos ii

31
Programação Orientada a Objetos II Definição de Diretrizes para o Semestre

Upload: urian

Post on 23-Feb-2016

45 views

Category:

Documents


1 download

DESCRIPTION

Programação Orientada a Objetos II. Definição de Diretrizes para o Semestre. Objetivo da Aula. “Construir diretrizes para trabalhar o conteúdo de Programação Orientada a Objetos II ao longo do semestre”. Como vamos avaliar se o objetivo foi atingido?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Programação Orientada a Objetos II

Programação Orientada a Objetos II

Definição de Diretrizes para o Semestre

Page 2: Programação Orientada a Objetos II

Objetivo da Aula“Construir diretrizes para trabalhar o conteúdo de

Programação Orientada a Objetos II ao longo do semestre”

Como vamos avaliar se o objetivo foi atingido?

• Participação de TODOS durante o dia;• Quadro com as dificuldades, pontos fortes e visão de

futuro;• Lista de habilidades já desenvolvidas;

Page 3: Programação Orientada a Objetos II

Plano de Trabalho• Qual minha experiência;• Minhas dificuldades, pontos fortes e visões de futuro;Apresentação

• Compreender melhor o perfil de vocês;• Consolidar resultado em um quadro guia para o semestre;Dinâmica: Dificuldades, Pontos

fortes e Visões de Futuro

• Rever alguns conceitos de Programação OO;• Reconhecer o conhecimento atual da turma para preparar as aulas

futuras;

Habilidades e Competências da Turma: Revendo os

Conceitos.

• Visão geral do mercado de TI em Florianópolis;• Salários, opções de trabalho, cursos de graduação.O Mercado de TI em

Florianópolis: Possibilidades.

• Revisão do que foi construído durante a aula;• Próximas aulas;• Feliz páscoa...

Fechamento

Page 4: Programação Orientada a Objetos II

Apresentação – Geral• Kaléu Caminha, 21 anos;• 8ª Fase do curso de Sistemas de Informação

na UFSC;• 4 Anos de experiência com programação;• 1 ano de experiência em iniciação científica;• Experiência com Empresa Júnior, Centro

Acadêmico e Organização de Eventos;• Freelancer, Estagiário, CLT...• Cursos de Desenvolvimento Pessoal pela

UNIPAZ- SUL;

Page 5: Programação Orientada a Objetos II

Apresentação – Competência Técnica

• Foco em Desenvolvimento Web com PHP5 OO, Interfaces Ricas com JavaScript e AJAX, XHTML, CSS;

• Uso de Diversos Frameworks e Construção de framework para interfaces gráficas;

• Java Durante todo o curso de Sistemas de Informação;

Page 6: Programação Orientada a Objetos II

Apresentação – Atividades Atuais

• Professor SENAI Web Design, iniciação profissional e Programação OO;

• Freelancer em Desenvolvimento Web com Elgg, Wordpress e outros;

• TCC: Criação de um ambiente de suporte a Comunidades de Prática;

Page 7: Programação Orientada a Objetos II

Apresentação - Contato

• http://kaleucaminha.com• [email protected]

Page 8: Programação Orientada a Objetos II

Com o que quero trabalhar?

Quanto quero ganhar?

O que gosto de fazer?

O que mais gostei de fazer até agora?

O que acho que faço bem e que gosto de construir?

Com qual matéria mais me identifiquei?

O que não entendo?

Quais as atividades e matérias mais difíceis?

Quais conceitos ainda são confusos?

Dinâmica“O Objetivo dessa dinâmica é construirmos um quadro com as principais dificuldades que vocês tem em programação, seus pontos fortes (o que gostam de fazer) e o que buscamos para

o nosso futuro como profissionais.”

Dificuldades Pontos Fortes Visão de Futuro

Page 9: Programação Orientada a Objetos II

Iniciando...

Criação de Ambientes Sociais para troca de

conhecimento;

Mestrado em Engenharia e Gestão do

Conhecimento;

Trabalhar com Ensino.

Uso de Frameworks, API’s, Design Patterns,

Libs, enfim, tudo que me ajuda a nunca repetir

trabalho;

Desenvolvimento de Interfaces e Design de

Interação;

Qualidade de Código e Código Limpo;

Aplicãções Sociais.

Testes de Software.

Simplicidade;

Algoritmos complexos e matemáticos.

Dificuldades Pontos Fortes Visão de Futuro

Page 10: Programação Orientada a Objetos II

Esqu

ema

da D

inâm

ica Formação de

Pequenos Grupos (4 pessoas)

Cada aluno pode falar por

5 minutos sobre os itens

solicitados

Escolha de Relator para o Grupo e exposição para

toda a turma os itens apresentados.

Criação de Quadro de

Referência com as principais dificuldades,

pontos fortes e Visões de Futuro da

turma

20 min

2 min

30min

Page 11: Programação Orientada a Objetos II

Habilidades e Competências“O Objetivo agora é ter uma visão ampla e clara das

competências técnicas em Programação que vocês já viram.

Para isso utilizaremos uma escala que vai de ‘Nunca ouvimos falar’ até ‘Somos experts’ .

Serão apresentados os temas, algum exemplo e cada aluno será chamado a responder alguma pergunta ou apresentar

algum exemplo.”

Page 12: Programação Orientada a Objetos II

Programação Estruturada

Sequência / Linear

Estruturas de Decisão

Estruturas de Iteração

Exemplo de outra estrutura de decisão além do IF...Exemplo de outra estrutura de iteração além do FOR...

Page 13: Programação Orientada a Objetos II

Programação Orientada a ObjetosAbstração

Se esta classe pessoa fosse utilizada para registrar informações de alunos no sistema do SENAI. Quais atributos e métodos seriam relevantes?

E se utilizássemos a abstração Pessoa para um jogo como “the Sims”, quais métodos e atributos ela poderia ter?

Page 14: Programação Orientada a Objetos II

Classes e Objetosclass Aluno

protected String matricula;protected String nome;protected Curso curso;...

public String getNome();public void setNome(String nome);public boolean estaMatriculado();...

Outro exemplo de classe do mundo real...

Aluno kaleu = new Aluno(“Kaléu Caminha”);

Aluno pedro = new Aluno(“Pedro Antônio”);

Aluno joana = new Aluno(“Joana Rebello”);

cursoInformatica.addAluno(kaleu);cursoInformatica.addAluno(pedro);cursoInformatica.addAluno(joana);

E alguns exemplos de objetos...

Page 15: Programação Orientada a Objetos II

Variáveis e Tipos...String nome = “Kaléu Caminha”;Aluno kaleu = new Aluno(nome);Aluno pedro = new Aluno(“Pedro Antônio”);Aluno joana = new Aluno(“Joana Rebello”);

Curso cursoInformatica = new Curso(“Técnico em Informática”);cursoInformatica.addAluno(kaleu);cursoInformatica.addAluno(pedro);cursoInformatica.addAluno(joana);...

Tipos Primitivos

Tipos Compostos

Exemplos de tipos primitivos além de int...

Page 16: Programação Orientada a Objetos II

Atributos e Encapsulamentopublic protected private

class JogoTabuleiro {

public Tipo qualquerAtributo; //não deve ser utilizado em nenhuma hipótese... protected Jogador jogador1;

protected Jogador jogador2;

private int controleJogadorDaVez;

}

Exemplos...

Page 17: Programação Orientada a Objetos II

Métodos...public boolean realizaLogin(String login, String senha){

...return true; // Se login e senha existem.

}

public void enviaEmail(String destinatario, String mensagem, String assunto){

...}...

Tipo do valor de retorno Parâmetros

O que significa o “void mesmo?”

Page 18: Programação Orientada a Objetos II

Associação, Composição e Agregação

Qual a diferença entre Associação e Composição?

Exemplos...

Page 19: Programação Orientada a Objetos II

Herança

Outro Exemplo...

Page 20: Programação Orientada a Objetos II

Polimorfismo...public int quadrado(int x){

return x * x;}

public float quadrado(float x){return x * x;

}...

class Moto extends Veiculo {...

public int getNumRodas(){return 2;

}...}

class Carro extends Veiculo {...

public int getNumRodas(){return 4;

}...}

...public int soma(int x, int y){

return x + y;}

public int soma(int x, int y, int z){

return x + y + z;}...

Page 21: Programação Orientada a Objetos II

Classes Interface

Quem Realiza O que?

Onde mais podemos utilizar Interfaces?

Page 22: Programação Orientada a Objetos II

Classes Abstratas

O que uma classe abstrata tem que uma interface não tem?

Como saber se devo utilizar uma ou outra?

Page 23: Programação Orientada a Objetos II

Classes e Métodos estáticospublic class Calculo {

public static int soma(int x, int y){

return x+y;}public int multiplicacao(int

x, int y){return x*y;

}

}

...int valor1 = 10;int valor2 = 15;Int result = Calculo.soma(valor1, valor2);...

Qual a diferença entre métodos estáticos e não-estáticos?

Page 24: Programação Orientada a Objetos II

IDE’s

Alguma outra?

Quais recursos você utiliza? Geração de código?

Page 25: Programação Orientada a Objetos II

Interfaces Gráficas

Page 26: Programação Orientada a Objetos II

Frameworks e Design Patterns

O que é um Framework? Tem um exemplo?

O que é um Design Pattern? Um exemplo?

Page 27: Programação Orientada a Objetos II

E além...

O que mais foi visto em aula?

E fora do curso, viram algo diferente?

Page 28: Programação Orientada a Objetos II

O Mercado de TI - PossibilidadesGames

DesktopCriação de

Sites e PortaisSofwtare Desktop

Banco de Dados

Games Celular

Aplicativos para redes sociais

Sistemas de Informações Educacionais

Engenharia e Gestão do

Conhecimento

Games Web / Flash

Sistemas Baseados em

Web

Qualidade de Software

Gestão de TI

Designer 3D

Engenharia de Software Hardware Ensino

Page 29: Programação Orientada a Objetos II

O Mercado de TI - SaláriosCargo Valor MédioEstagiário PHP ~600,00Programador PHP/Javascript Júnior 1.300Programador PHP/Javascript Intermediário 1.700 / 2.000Programador PHP/Javascript Pleno 2.500 / 3.000Estagiário Java ~600.00Programador Java Júnior 1.600Programador Java Intermediário 2.000 / 2.400Programador Java Pleno 3.000 / 3.500Desenvolvedor Interfaces Médio 1.500 / 2.000

Page 30: Programação Orientada a Objetos II

O Mercado de TI – Algumas Empresas de Floripa

Page 31: Programação Orientada a Objetos II

Fechamento

• Obrigado e Feliz Páscoa.!!!!