A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


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

1

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

3 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!!!

4 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?

5 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?

6 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!!!

7 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.

8 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

9 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

10 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

11 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!

12 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?

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

14 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

15 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.

16 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

17 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.

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

19 Mãos à obra! Abstração

20 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.

21 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.

22 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

23 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;

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

25 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.

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

27 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.

28 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

29 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

30 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.

31 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.

32 Fim da aula 1


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

Apresentações semelhantes


Anúncios Google