1 Tópicos Especiais em Linguagem de Programação III Programação Visual Orientada a Eventos com...

Preview:

Citation preview

1

Tópicos Especiais em Linguagem de Programação III

Programação Visual Orientada a Eventos com aplicações

gráficas e em Inteligência Artificial

Apresentação da Disciplina

2

Ementa

Apresentação da disciplinaHistórico das linguagens de programaçãoProgramação Visual Orientada a EventosVisual Basic – LinguagemPrática com VBC++ BuilderPrática com C++ BuilderDelphi e Object PascalPrática com DelphiBusca, Redes Semânticas

Lógica Fuzzy, Redes Neurais, Agentes

Aplicações gráficas – OpenGL

VBAVBA com Excel

VBA com Word e PowerPoint

Prática em Laboratório

Calendário

Formalização da Ementa

3

Motivação para a Disciplina

Linguagens de Programação são difíceisLinguagens de Programação permanecem pequeno tempo “em moda”O número de Linguagens de Programação existentes é gigantesco e vai continuar a crescerFreqüentemente a carreira nos obriga a parar de programar por algum intervalo de tempo (às vezes para sempre)Parando de programar nossa habilidade de programação encolhe (às vezes desaparece)Existem enormes quantidades de programas disponíveis, porém em diversas Linguagens de Programação e não compatíveis uns com outros

4

Motivação para a Disciplina (cont.)

Profissionais de Ciências Exatas precisam programas computadoresProtótipos são fundamentais

5

Constatação

Diretores, Gerentes, Chefes e Professores tendem a perder a capacidade de programar e tornam-se dependentes de terceiros para se comunicar usando computadores

6

Tipos de programadores

Programadores tradicionais que sabem tudo ou quase tudo de determinada Linguagem de ProgramaçãoProgramadores de microcomputadores que não sabem programar Sistemas mas sabem tudo, ou quase tudo, de uso de aplicativos, instalações, telas, opções, etc.Programadores incompetentesProgramadores que conseguem resolver problemas pessoais e empresariais

7

Tipos de programas

Sistemas com longa vida útil sendo desenvolvidos durante largos períodos de tempo

Sistemas de Tratamento da InformaçãoSistemas de CálculoOutros

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

8

Sistemas de Tratamento da Informação

Geralmente são entendidos por todos, não havendo complexidade na definição do problema ou soluçãoAs dificuldades são:

Captura das especificaçõesInteração com o usuárioGerenciamento da Informação

9

Sistemas de Cálculo

Geralmente não apresentam complexidade na interação com o usuário ou no gerenciamento da informaçãoAs dificuldades são:

Captura das natureza do problema a resolverObtenção do conhecimento técnico para a solução (geralmente englobando conhecimentos matemáticos, físicos, químicos, estatísticos, de cálculo numérico, etc.)Implementação de uma solução a custos computacionais razoáveis

10

Sistemas de apoio à decisão

Sistemas de Apoio à Decisão (“Decision Support Systems – DSS”) são uma classe específica de sistemas de informação computadorizada que apóia atividades de tomada de decisão em negócios e organização. Com eles os tomadores de decisão obtém informação útil dos dados brutos, documentos, conhecimento pessoal e/ou modelos de negócios para identificar e resolver problemas e tomar decisões.

11

Sistemas de apoio à decisão (cont.)

As informações típicas que uma aplicação de apoio à decisão pode obter e apresentar são:Acesso ao patrimônio de informações da organização, incluindo fontes de dados herdadas de antigas aplicações, fontes de dados relacionais, cubos, data warehouses e data marts.Medidas de desempenho (vendas, produção, re-trabalho) entre um período de tempo e o próximo.Projeções de resultados financeiros baseadas em projeções de produção e/ou vendas.Conseqüências de diferentes alternativas de decisão, a partir da experiência em ambientes o contextos tais como o em tela.

12

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 testesComunicação com os usuáriosComunicação com a equipe de desenvolvimento de SistemasComunicação empresarialMostrar desenvoltura, iniciativa e competência

13

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 profissionalA necessidade programação quase sempre recai na necessidade de geração de protótiposEm 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

14

Desenvolvimento de Sistemas de Informações

Os protótipos servem para validar a captura das especificações de requisitos e a interação com o usuárioEspecialistas projetam:

Arquitetura do SistemaModelagemBancos de DadosComunicação de DadosInterface

O Sistema segue o ciclo de vida normal

15

Desenvolvimento de Sistemas de Cálculo

Especialistas fornecem um algoritmo para a solução do problemaOs protótipos servem para verificar a possibilidade de se conseguir chegar a um resultado desejadoEspecialistas projetam:

Arquitetura do SistemaModelagemBancos de DadosComunicação de DadosInterface

O Sistema segue o ciclo de vida normal

16

Desenvolvimento de Sistemas de Apoio à Decisão

Os protótipos já são o resultado desejado

17

Proposta do Curso

Você pode não perder a capacidade de programarVocê pode programar bem sem ser um exímio programadorConseguindo programar protótipos e utilizar linguagens de “scripting” sua carreira pode ter um diferencial de qualidade

18

Como fazer

Linguagens Visuais ampliam extraordinariamente o poder de comunicação dos protótiposLinguagens Orientadas a Eventos simplificam tremendamente a programação de protótiposLinguagens Visuais Orientadas a Eventos serão a nossa ferramenta predileta

19

Pontos importantes

O mais importante é o seu conhecimento básico de computadores, Sistemas e algoritmosA linguagem de programação é bem menos importanteVocê pode enfrentar qualquer linguagem de programação porque

Existe um grande número de exemplos de código disponíveis na InternetA Programação Orientada a Eventos dispõe de

Completamento de códigoAjuda “on-line” Depurador “on-line”

20

O que será estudado

Revisão das Linguagens de Programação como um todoA Linguagem Visual Basic por ser estranha aos Cursos acadêmicos, além de ser a Linguagem de automação da Microsoft e, como tal, ser muito difundidaO uso dos produtos VB, Delphi e C++ Builder

21

O que não será estudado

A linguagem Object PascalA linguagem C++

22

Garantia de sucesso

Para comprovar a validade da proposta do Curso serão desenvolvidas aplicações consideradas extremamente difíceis:

Redes Neurais e outras aplicações de Inteligência ArtificialComputação Gráfica Gerativa

23

Em resumo

A programação de Sistemas é tarefa complexa e nada muda daquilo que tem sido ensinado no Curso de Ciência da ComputaçãoOcorre que, mesmo em “software houses”, a maior parte do tempo se está programando protótipos e isto é que se pretende estudar neste Curso.

24

Como será o desenvolvimento do Curso

Serão apresentados ambientes de programaçãoSerá apresentado um enorme número de exemplos de aplicações funcionando em todas as Linguagens e ambientes de ProgramaçãoSerão cobrados seis exemplos de pequeno grau de complexidadeSerão cobrados dois exemplos de moderado grau de complexidadeNão haverá provas (apenas VS para reprovar os que não fizerem os trabalhos)

25

Trabalhos

Os trabalhos serão individuaisSe algum grupo de alunos desejar se unir para enfrentar um trabalho de elevado grau de complexidade pode-se estudar esta opção

26

Duas vias

O Curso deve preparar alunos para trabalhar com Programação Visual e geração de protótipos e terão seu desenvolvimento aqui descrito, pela chamada via normal.Alunos que já dominarem as linguagens e ambientes que serão ministradas poderão ser aprovados por via rápida. Isto significa que poderão entregas trabalhos especiais a qualquer tempo. Após a entrega dos trabalhos estarão aprovados e dispensados de presença.

27

Trabalhos da via normal

Linguagem Descrição Valor Datas de apresentação

VB Uma aplicação qualquer 1,0

Delphi A mesma aplicação de VB 1,0

BCB A mesma aplicação de VB 1,0

15/06/04, 17/06/04 e 22/06/04

VBA Macro Excel 0,4

VBA Macro Word 0,3

VBA Macro PowerPoint 0,3

01/07/04

Qualquer Aplicação em OpenGL com uso de animação, textura e tutorial passo a passo

3,0 06/07/04, 08/07/04 e 13/07/04

Qualquer Uma aplicação em Inteligência Artificial (preferencialmente com Redes Neurais)

3,0 29/07/04, 03/08/04 e 05/08/04

28

Escolha de trabalhos

Os trabalhos deverão ser escolhidos com o Professor para evitar superposição. Cópia de trabalhos é permitido mas todos copiarem o mesmo trabalho não o é.A sugestão de macros está exibida a seguir. Cada sugestão de Word pode ser aceita até por três alunos. Cada sugestão PowerPoint pode ser aceita até por cinco alunos.

29

Sugestão de macros a apresentar

30

Sugestão de aplicações de Inteligência Artificial a apresentar

31

Trabalhos da via rápida

Alunos que já dominarem as linguagens que serão ministradas poderão ser aprovados por via rápida. Isto significa que poderão entregas trabalhos especiais a qualquer tempo. Após a entrega dos trabalhos estarão aprovados e dispensados de presença. Os trabalhos de via rápida serão agrupados em dois pacotes. Pacote 1 Pacote 2

32

Pacote 1 da via rápidaTeste e descrição do conteúdo de todos os trabalhos apresentados pelos alunos do período passado. Execução de todos os programas e preenchimento do Banco de Dados de programas executados. O resultado do trabalho será apresentado em um programa, escrito em qualquer linguagem, permitindo a recuperação de informações por linguagem, aluno, período e tipo de aplicação. São previstas as seguintes entidades e atributos:

Programa com Linguagem, título, tipo, descrição, recursos usados, como usar, comentários do professor e grau;Aluno com nome, período e grau.

O atributo tipo pode assumir os valores VB, BCB, Delphi, Macro Excel, Macro Word, Macro PowerPoint, Agentes, Redes Neurais, Fuzzy, Busca, OpenGL, Outros.O valor do trabalho, como um todo, é 10,0 não se aceitando parte do trabalho. Este pacote poderá ser escolhido, no máximo, por três alunos sendo que cada qual deverá apresentar um trabalho independente (e distinto) dos demais.

33

Pacote 2 da via rápida

Uma mesma aplicação em OpenGL com uso de animação, textura e tutorial passo a passo feito diversas linguagens (VB, Visual C++, Delphi, C++ Builder) mais três Macros (uma em Excel, uma em Word, uma em PowerPoint). O valor do trabalho, como um todo, é 10,0 não se aceitando parte do trabalho. Este pacote poderá ser escolhido, no máximo, por cinco alunos sendo que cada qual deverá apresentar um trabalho independente (e distinto) dos demais.

34

Calendário

35

Calendário (cont.)

36

Conclusão

Pretende-se que esta disciplina seja uma diversão criativa para quem gosta de programar computadoresBem-vindos ao CursoGrato pela confiança

37

Formalização da Ementa

TCC04143 - Tópicos Especiais em Linguagens de Programação III Período 2003.2 - 3as. e 5as. feiras - das 07 às 09 horas Optativa: Programação Visual Orientada a Eventos com aplicações gráficas e em Inteligência Artificial (4 créditos) Professor: Inhaúma Neves Ferraz Objetivo: Dar uma visão geral sobre a Programação Visual Orientada a Eventos e explorar a geração de protótipos. Descrição: Apresentar um panorama das Linguagens de Programação. Apresentar a linguagem Basic e sua variantes. Caracterizar a Programação Visual Orientada a Eventos. Gerar protótipos com Programação Visual com pouco conhecimento da Linguagem de Tratamento de Eventos. Desenvolver aplicações de inteligência artificial e aplicações gráficas em diferentes linguagens de programação.

38

Formalização da Ementa (cont.)

39

Recommended