39
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

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

Embed Size (px)

Citation preview

Page 1: 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

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

Page 2: 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

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

Page 3: 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

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

Page 4: 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

4

Motivação para a Disciplina (cont.)

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

Page 5: 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

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

Page 6: 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

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

Page 7: 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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

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.

Page 11: 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

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.

Page 12: 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

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

Page 13: 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

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

Page 14: 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

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

Page 15: 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

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

Page 16: 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

16

Desenvolvimento de Sistemas de Apoio à Decisão

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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”

Page 20: 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

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

Page 21: 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

21

O que não será estudado

A linguagem Object PascalA linguagem C++

Page 22: 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

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

Page 23: 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

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.

Page 24: 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

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)

Page 25: 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

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

Page 26: 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

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.

Page 27: 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

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

Page 28: 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

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.

Page 29: 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

29

Sugestão de macros a apresentar

Page 30: 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

30

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

Page 31: 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

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

Page 32: 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

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.

Page 33: 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

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.

Page 34: 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

34

Calendário

Page 35: 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

35

Calendário (cont.)

Page 36: 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

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

Page 37: 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

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.

Page 38: 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

38

Formalização da Ementa (cont.)

Page 39: 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

39