Title: T
1Tó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
2Ementa
- Apresentação da disciplina
- Histórico das linguagens de programação
- Programação Visual Orientada a Eventos
- Visual Basic Linguagem
- Prática com VB
- C Builder
- Prática com C Builder
- Delphi e Object Pascal
- Prática com Delphi
- Busca, Redes Semânticas
- Lógica Fuzzy, Redes Neurais, Agentes
- Aplicações gráficas OpenGL
- VBA
- VBA com Excel
- VBA com Word e PowerPoint
- Prática em Laboratório
- Calendário
- Formalização da Ementa
3Motivação para a Disciplina
- Linguagens de Programação são difíceis
- Linguagens de Programação permanecem pequeno
tempo em moda - O número de Linguagens de Programação existentes
é gigantesco e vai continuar a crescer - Freqü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
4Motivação para a Disciplina (cont.)
- Profissionais de Ciências Exatas precisam
programas computadores - Protótipos são fundamentais
5Constatação
- Diretores, Gerentes, Chefes e Professores tendem
a perder a capacidade de programar e tornam-se
dependentes de terceiros para se comunicar usando
computadores
6Tipos de programadores
- Programadores tradicionais que sabem tudo ou
quase tudo de determinada Linguagem de
Programação - Programadores 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 incompetentes
- Programadores que conseguem resolver problemas
pessoais e empresariais
7Tipos 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
8Sistemas de Tratamento da Informação
- Geralmente são entendidos por todos, não havendo
complexidade na definição do problema ou solução - As dificuldades são
- Captura das especificações
- Interação com o usuário
- Gerenciamento da Informação
9Sistemas de Cálculo
- Geralmente não apresentam complexidade na
interação com o usuário ou no gerenciamento da
informação - As dificuldades são
- Captura das natureza do problema a resolver
- Obtençã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
10Sistemas 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.
11Sistemas 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.
12Protó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
13Necessidade 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
14Desenvolvimento 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ário - Especialistas projetam
- Arquitetura do Sistema
- Modelagem
- Bancos de Dados
- Comunicação de Dados
- Interface
- O Sistema segue o ciclo de vida normal
15Desenvolvimento de Sistemas de Cálculo
- Especialistas fornecem um algoritmo para a
solução do problema - Os protótipos servem para verificar a
possibilidade de se conseguir chegar a um
resultado desejado - Especialistas projetam
- Arquitetura do Sistema
- Modelagem
- Bancos de Dados
- Comunicação de Dados
- Interface
- O Sistema segue o ciclo de vida normal
16Desenvolvimento de Sistemas de Apoio à Decisão
- Os protótipos já são o resultado desejado
17Proposta do Curso
- Você pode não perder a capacidade de programar
- Você pode programar bem sem ser um exímio
programador - Conseguindo programar protótipos e utilizar
linguagens de scripting sua carreira pode ter
um diferencial de qualidade
18Como fazer
- Linguagens Visuais ampliam extraordinariamente o
poder de comunicação dos protótipos - Linguagens Orientadas a Eventos simplificam
tremendamente a programação de protótipos - Linguagens Visuais Orientadas a Eventos serão a
nossa ferramenta predileta
19Pontos importantes
- O mais importante é o seu conhecimento básico de
computadores, Sistemas e algoritmos - A linguagem de programação é bem menos importante
- Você pode enfrentar qualquer linguagem de
programação porque - Existe um grande número de exemplos de código
disponíveis na Internet - A Programação Orientada a Eventos dispõe de
- Completamento de código
- Ajuda on-line
- Depurador on-line
20O que será estudado
- Revisão das Linguagens de Programação como um
todo - A 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
difundida - O uso dos produtos VB, Delphi e C Builder
21O que não será estudado
- A linguagem Object Pascal
- A linguagem C
22Garantia 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
Artificial - Computação Gráfica Gerativa
23Em resumo
- A programação de Sistemas é tarefa complexa e
nada muda daquilo que tem sido ensinado no Curso
de Ciência da Computação - Ocorre que, mesmo em software houses, a maior
parte do tempo se está programando protótipos e
isto é que se pretende estudar neste Curso.
24Como será o desenvolvimento do Curso
- Serão apresentados ambientes de programação
- Será apresentado um enorme número de exemplos de
aplicações funcionando em todas as Linguagens e
ambientes de Programação - Serão cobrados seis exemplos de pequeno grau de
complexidade - Serão cobrados dois exemplos de moderado grau de
complexidade - Não haverá provas (apenas VS para reprovar os que
não fizerem os trabalhos)
25Trabalhos
- Os trabalhos serão individuais
- Se algum grupo de alunos desejar se unir para
enfrentar um trabalho de elevado grau de
complexidade pode-se estudar esta opção
26Duas 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.
27Trabalhos da via normal
28Escolha 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.
29Sugestão de macros a apresentar
30Sugestão de aplicações de Inteligência Artificial
a apresentar
31Trabalhos 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
32Pacote 1 da via rápida
- Teste 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.
33Pacote 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.
34Calendário
35Calendário (cont.)
36Conclusão
- Pretende-se que esta disciplina seja uma diversão
criativa para quem gosta de programar
computadores - Bem-vindos ao Curso
- Grato pela confiança
37Formalização da Ementa
38Formalização da Ementa (cont.)
39(No Transcript)