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

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

1 Apresentação da Disciplina Estruturas de Dados I.

Apresentações semelhantes


Apresentação em tema: "1 Apresentação da Disciplina Estruturas de Dados I."— Transcrição da apresentação:

1 1 Apresentação da Disciplina Estruturas de Dados I

2 22 Sumário Conceito de Estruturas de Dados Tipo de programas Protótipos Necessidade de programação e prototipação Constatação Convocação Linguagens de Programação Linguagens de scripting atuais Linguagens de programação atuais O que se espera que os alunos de graduação saibam Tipos de aulas Critérios de avaliação

3 33 Conceito de Estruturas de Dados Em Ciência da Computação uma estrutura de dados é uma maneira de armazenar dados em computadores de forma a usá-los de maneira eficiente. Uma estrutura de dados bem escolhida pode permitir o emprego de um algoritmo mais eficiente. A escolha de uma estrutura de dados começa com a escolha de uma estrutura de dados abstrata. Uma estrutura de dados bem projetada permite a execução de uma variedade de operações críticas usando tão poucos recursos (tempo de execução e espaço de memória) quanto possível

4 44 Tipos de programas Sistemas com longa vida útil sendo desenvolvidos durante largos períodos de tempo Sistemas de Tratamento da Informação Sistemas de Cálculo Outros Sistemas de apoio à decisão com pequena vida útil, sendo úteis para um momento específico e, portanto, tendo de ser desenvolvidos em curtíssimo período de tempo

5 55 Protótipos Protótipos são ferramentas para a criação ou simulação de programas. Estas ferramentas freqüentemente permitem a colagem de programas existentes, mesmo que em diversas linguagens de programação. Protótipos de programas são necessários para: Verificar a viabilidade de uma proposta ou de um Sistema pois conhecimentos recentemente adquiridos são de difícil validação sem testes Comunicação com os usuários Comunicação com a equipe de desenvolvimento de Sistemas Comunicação empresarial Mostrar desenvoltura, iniciativa e competência

6 66 Necessidade Programação e Prototipação O desenvolvimento de Sistemas, para a maioria dos profissionais é atividade para curto prazo em sua vida profissional (5 a 15 anos) A necessidade de programação é atividade para toda a vida profissional A necessidade programação quase sempre recai na necessidade de geração de protótipos Em geral profissionais constroem de 3 a 20 Sistemas em sua vida profissional mas tem de fazer (ou mandar fazer) um protótipo a cada 20 dias, ou seja, a cada ano da vida profissional se faz (ou se deveria fazer) mais protótipos do que os Sistemas feitos em toda a vida profissional

7 77 Constatação O desenvolvimento de Sistemas tem se tornado cada vez mais complexo Os aplicativos são abundantes, flexíveis e poderosos Os profissionais programam cada vez menos tornado-se pilotos de aplicativos Quem conseguir enfrentar as feras, dominando o desenvolvimento de Sistemas, torna-se um profissional de destaque A maioria dos profissionais procura soluções fáceis

8 88 Convocação Evitem as soluções de baixo nível Enfrentem as feras Sejam melhores do que a concorrência Destaquem-se da multidão: sejam especiais O esforço é grande mas de curta duração O resultado é para toda a vida

9 99 Linguagens de Programação Linguagens de Programação são difíceis Não existem mais Linguagens de Programação fáceis desde o advento de Orientação a Objeto, Programação Por Eventos, Linguagens Visuais Linguagens de Programação permanecem pequeno tempo em moda O número de Linguagens de Programação existentes é gigantesco e vai continuar a crescer Linguagens de scripting são simples e fáceis mas não servem para Sistemas

10 10 Linguagens de scripting atuais JCL Rexx WFL "Shells" Unix (sh, csh, ksh,...) Prolog Perl Tcl Python

11 11 Linguagens de programação atuais Para grandes Sistemas Java C++ Para pequenos Sistemas e prototipação VB (Basic) Delphi (Object Pascal) LISP

12 12 O que se espera que os alunos de graduação saibam Necessidades Uma Linguagem de Programação Orientada a Objeto Uma Linguagem Visual Orientada a Eventos Disponibilidade atual Pascal Problemas Não há escala para Sistemas desenvolvidos em Pascal Em qual Disciplina (ou disciplinas) serão ensinadas as linguagens necessárias? Será obrigação dos alunos aprender por conta própria?

13 13 Linguagens de Programação do Curso de Estruturas de Dados Os alunos terão a liberdade de escrever os programas exigidos pelo Curso em qualquer linguagem de programação Todavia a facilidade de montagem dos fontes fornecidos por Bruno Preiss tornará evidente a facilidade e o potencial do reuso de código propiciado pelo paradigma de programação orientado a Objeto. Para facilitar a aprendizagem serão mostrados os trechos de código que terão de ser incorporados ao programa para obter a funcionalidade desejada, tanto em Java quanto em C++ Para os resistentes à Orientação a Objeto serão fornecidos códigos em Programação Estruturada C usados em 1995

14 14 Tipos de aulas Aulas expositivas como default Laboratório quando necessário Os alunos deverão acompanhar a exposição com o material disponível na página do professor Os alunos poderão escolher a linguagem a estudar nas Notas de Aula (Java ou C++) A parte de código deverá ser estudada em sala com o acompanhamento pelo professor cuja tarefa principal será tirar dúvidas

15 15 Aprovação por via normal Provas (peso 2) Primeira e segunda prova alternativas Terceira prova obrigatória Trabalhos de programação (peso 1) Pilhas e filas Aplicações de pilhas e recursividade Listas e árvores binárias Classificação

16 16 Aprovação pela via de pesquisa Pesquisa de frameworks em outras linguagens Delphi VB Implementação dos frameworks em outras linguagens Avaliação Apresentações semanais fora do horário de aula cujo resultado é eliminatório da via de pesquisa (peso 6) Resultado obtido (peso 3) Apresentação para a turma (peso 1)

17 17 Programação para o Segundo Período de 2007

18 18 Material de apoio para as aulas

19 19 Influência do Tamanho do Empregador

20 20 Code Project newsletter (13/08/2007) 20 Este sítio é de programação pesada. O pessoal que o freqüenta está mais para o desenvolvedor independente do que para o desenvolvedor de grandes Sistemas em equipe. GNU, GPL, IBM e Sun dão apoio substancial à linguagem Java.

21 21 Dados da Consultoria TIOBE

22 22 Dados da Consultoria TIOBE


Carregar ppt "1 Apresentação da Disciplina Estruturas de Dados I."

Apresentações semelhantes


Anúncios Google