Introdução à Ciência da Computação-2 Fabio Nakano – Por favor colocar no assunto: “ICC2 - ” – Bloco A-1, segundo.

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Sílabo: Introdução à Ciência da Computação (SCC0121)
ESTRUTURAS DE DADOS Apresentação.
Engenharia de Software
Análise Orientada a Objetos
Modelagem Orientada a Objetos
UML Diagrama de Classes elementos básicos. Contexto Os diagramas de classes fazem parte do da visão estática da UML. Os elemento desta visão são conceitos.
Algoritmos e Estruturas de Dados I
Introdução ao paradigma de programação: Orientado a Objetos
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
Estruturas de Dados e Complexidade de Algoritmos
Introdução à Programação
Tópico Avançados em Sistemas de Computação (Pesquisa Operacional)
Paradigmas da Programação – Semestre 1 – Aula 5
Programação orientada a objetos com Java
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS!
TÉCNICAS DE PROGRAMAÇÃO II
Copyright Marcos L. Chaim 2005 Princípios de Projeto de Software Orientado a Objetos Segundo Semestre 2005 Marcos L. Chaim ACH Turma 02 EACH – USP.
Princípios de Orientação à Objetos
Introdução à Ciência da Computação-2 Fabio Nakano – Por favor colocar no assunto: ICC2 - – Bloco A-1, segundo andar,
Aula 01 BCC202 - Estrutura de Dados I Túlio Toffolo
Treinamento do Microsoft® Access® 2010
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Introdução à Ciência da Computação-2
Bem vindos as aulas de informática
Algoritmos e Estruturas de Dados Apresentação do Curso Setembro/2005.
Desempenho Escolar: Causas... Consequências... Possíveis Soluções...
Professor: Márcio Amador
Programação Orientada à Objetos
PROGRAMAÇÃO ORIENTADA A OBJETO - JAVA
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 5 Eduardo Silvestri
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
SISTEMAS DISTRIBUIDOS Aula 4
Programação Orientada à Objetos
Desenvolvimento de simulações para o ensino de Física através do software Easy Java Simulation – Ciências naturais - Física Gabriel Siqueira Sombrio –
Ferramentas para Orientação a Objetos
METODOLOGIA, MÉTODOS E FERRAMENTAS
Campus de Caraguatatuba Aula 1: Orientações Gerais
Integração de Ferramentas CASE
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
PLANO DE ENSINO Desenvolvimento de Sistemas
Introdução a Orientação a Objetos
Introdução à modelagem orientada a objetos
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
INE5408 Estruturas de Dados Apresentação e Programa da Disciplina.
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS Semana /08/2012 Professor Leomir J. Borba-
Organização Normas e Qualidade
20/04/2017 Orientação a Objetos 1 1.
Projeto de Banco de Dados
Módulo II Capítulo 1: Orientação a Objetos
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
PADROES DE PROJETO PROF. OSIEL MARLON. PADRÕES DE PROJETO INTRODUÇÃO Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria.
Análise e Projeto de Sistemas Análise e Projeto de Sistemas Aula 2 Professor: Italo Rodrigues Castro.
Implementação Orientada a Objetos – Aula 01 Introdução à Orientação a Objetos Prof. Danielle Martin Universidade de Mogi das Cruzes
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
Características Cor Combustível Num_Portas Potencia Comportamentos Acelerar Feiar Acender farol Dar seta Buzinar Características Cor Combustível Num_Portas.
Professora: Kelly de Paula Cunha
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Programação PHP Gustavo Eduardo Terra.
Estrutura de Dados Prof. André Cypriano M. Costa
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Análise Orientada a Objetos Por Patrícia Braga Centro Universitário Jorge Amado.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Introdução à Ciência da Computação-2 Fabio Nakano – Por favor colocar no assunto: “ICC2 - ” – Bloco A-1, segundo andar, sala 77. USEM COM SABEDORIA!!!

O profissional de SI da EACH Ser capaz de entender os processos dentro da empresa em que se inserir Ser capaz de aplicar seus conhecimentos para a melhoria desses processos Resolver problemas!!! Saber programar é essencial, e tem mais!!!

Dá para resolver tudo com programas? Conseguimos descrever qualquer processo usando uma linguagem como as de programação? Dado que retorna uma solução, o tempo gasto é aceitável? Dado que conseguimos descrever o processo como um programa, esse programa retorna uma solução?

ICC, AED Conseguimos descrever qualquer processo usando uma linguagem como as de programação? Dado que retorna uma solução, o tempo gasto é aceitável? Dado que conseguimos descrever o processo como um programa, esse programa retorna uma solução?

Fiquei P....!!! Fui ajudar a minha mulher a pegar as compras na AVON. Como eu queria ter uma lista ordenada por nome do produto!! Lição: Saber Computação/Algoritmos não serve só para usar computadores, serve para poupar trabalho e paciência!!!

Entender/criar um programa é como entender/criar um processo dentro da empresa! Saber Programar é essencial Um programa é um conjunto de rotinas. Um processo dentro da empresa é um conjunto de rotinas.

Um bom programa é... Correto, Claro (organizado, limpo,...), Amigável para o usuário Amigável para os colegas que têm que lê-lo – Estruturado, – Comentado, – Documentado. Reutilizável

O que você já sabe? Programação básica em JAVA – Chamadas de função, – Passagem por referência e por parâmetro Estratégia de solução de problemas – Recursão Estruturas básicas – vetores – Matrizes Tipos Abstratos de Dados

O que vc vai aprender neste curso Programação JAVA – Abstração, Objeto, – Herança – Polimorfismo – Sobrecarga de operadores Algoritmos – Busca – Ordenação Noções de análise de algoritmos Estruturas de dados – Hashing

O primeiro ponto serve para facilitar as tarefas do ciclo de vida do software: Análise do problema Projeto do software Implementação do software Teste do software Manutenção do software A DOCUMENTAÇÃO É FEITA EM TODAS AS ETAPAS!

Os outros pontos têm a ver com Conseguimos descrever qualquer processo usando uma linguagem como as de programação? Dado que retorna uma solução, o tempo gasto é aceitável? Dado que conseguimos descrever o processo como um programa, esse programa retorna uma solução?

As próximas matérias Matemática Discreta Teoria da Computação Algoritmos e Estruturas

Protocolo São 4 professores dando a matéria em turmas diferentes. Vamos coordenar tópicos e EP’s. Teremos listas de exercícios. Frequência mínima: 70%. Avaliação: – Duas provas (P1 e P2) – Três trabalhos (T1, T2 e T3): exercícios-programas (EPs) Prova substitutiva: – somente para quem perdeu uma das provas (FECHADA) – substitui a que você perdeu – envolve todo o conteúdo ministrado na disciplina. – DIFÍCIL: USEM SÓ EM CASO DE EMERGÊNCIA! Qualquer tentativa de fraude implicará em zero na atividade. Número de aulas: 31

Critérios para aprovação Média de Provas (MP): MP = (2*P1 + 3*P2) / 5 Média de Trabalhos (MT): MT = (T1 + T2 + T3) / 3 Média Final (MF) : se MP >= 5,0 e MT >= 5,0 então MF = (7*MP + 3*MT) / 10 senão MF = mínimo(MP, MT)‏ Se MF >= 5,0 → aluno aprovado Se 3,0 <= MF < 5,0 → recuperação Se MF < 3,0 → aluno reprovado.

Recuperação MFR (Média Final após recuperação): Se REC >= 5 MFR = máximo(5, (MF + REC)/2) senão MFR = (MF + REC)/2 REC : envolve todo o conteúdo ministrado na disciplina. É obrigatória (não fez → REC = 0) Se MFR >= 5,0 → aluno aprovado Se MFR < 5,0 → aluno reprovado

Avisos A programação é preliminar e pode estar sujeita a mudanças. – A disciplina tem 6 créditos, sendo 4 teóricos e 2 de trabalho: – Por isso: Trabalhos (EPs são obrigatórios!!!) Sistema CoL: – responsabilidade é do aluno! – única responsabilidade do professor: incluir as turmas e os alunos! (ops! ) Horário de atendimento: quintas, combinar horário.

Bibliografia KON, F.; GOLDMAN, A.; SILVA, P.J.S. “Introdução à Ciência de Computação com Java e Orientado a Objetos”, IME - USP, Disponível em: GOODRICH, M.; TAMASSIA, R. Estruturas de Dados e Algoritmos em Java. Ed. Bookman, 2a. Ed CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos - Trad. 2.º Ed. Americana. Ed. Campus, ZIVIANI, N. – Projeto de Algoritmos, 2ª Ed., Editora Thomson, TENEMBAUM, A.M., et all. Data Structures Using C, Prentice-Hall, WIRTH,N. Algorithms + Data Structures = Programs, Prentice-Hall, 1986

Mãos à obra! Abstração

Abstrato adj. Que designa uma qualidade, ação, ou estado, considerados em si mesmos, independentemente dos seres com que se relacionam: bondade, polidez, adoração, vingança, morte, sonho. / Que opera unicamente com noções: ciências abstratas, número abstrato. / Abstraído, distraído. // Arte abstrata, arte que não se prende à representação da realidade tangível.

Abstração s.f. Operação do espírito, que isola de uma noção um elemento, negligenciando os outros. / Resultado desta operação: a brancura considerada em geral, sem ser aplicada a um objeto, é uma abstração. // Fazer abstração de uma coisa, não levá-la em consideração. S.f.pl. Idéias quiméricas, desvinculadas da realidade: perder-se em abstrações.

Em computação, abstração é: Mecanismo utilizado na análise de um domínio O indivíduo observa a realidade e dela abstrai: – entidades – ações – comportamentos – relacionamentos São considerados somente os elementos essenciais para uma aplicação Todos os aspectos julgados irrelevantes são excluídos

Utilidade de abstrair Abstrair elementos irrelevantes; Abstrair detalhes de como se faz (adiando o detalhamento que será necessário, mas que no momento não queremos nos preocupar com isso), focando em o que é e o que faz;

O que é relevante depende do objetivo e do ponto de vista

Apresentando o paradigma de Orientação a Objetos Objeto: abstração de uma entidade real, cujas características e comportamento são conhecidos – se apresenta a outras entidades por meio de uma interface bem definida – Visão Interna: define a estrutura e o comportamento do objeto, ou seja, define dados e métodos (e suas implementações) – Visão Externa: interface que define como o objeto é visto por outros objetos – Mensagem: comunicação entre objetos Paradigma=s.m. Modelo, padrão, norma; exemplo.

Objeto, características, comportamento, interface, visão interna, visão externa, mensagem

Objetos e Tipos Abstratos de Dados Tipo Abstrato de Dados - TAD Def.: é uma coleção bem definida de dados a serem armazenados, e um grupo de operadores que podem ser aplicados para manipulação desses dados. Características Fundamentais: > Os operadores do TAD implementam regras bem definidas para manipulação dos valores armazenados; > Os valores armazenados devem ser manipulados EXCLUSIVAMENTE pelos operadores do TAD.

Consequencias das características Ocultamento da informação e implementação – implementação do tipo pode ser alterada(contanto que mantenha as mesmas operações) sem afetar as unidades de programa que fazem uso dele – Aumenta a confiabilidade, pois nenhuma outra unidade de programa pode mudar, acidentalmente ou intencionalmente, as representações do tipo, aumentando a integridade de tais objetos

Objetos Extensão do conceito de TAD Classe: definição do Tipo Abstrato de Dados – Atributos – Métodos Objeto: cada instância derivada da classe Representa em software entidades que encontramos no mundo real

OOP e TAD Em uma linguagem funcional fica a cargo do programador respeitar as características do modelo TAD. Em uma linguagem orientada a objetos, a linguagem é construída de forma a ajudar o programador a respeitar as características do modelo.

Exercícios Modelar um objeto em termos de atributos e métodos. Tarefinha: no caminho para casa, ou no caminho para cá, escolher um objeto e modelá-lo em termos de atributos e métodos.

Fim da aula 1