Arquitetura SAAP: Sistema de Apoio à Aprendizagem de Programação
|
|
- Luísa Ferretti Mascarenhas
- 6 Há anos
- Visualizações:
Transcrição
1 Arquitetura SAAP: Sistema de Apoio à Aprendizagem de Programação Thais Helena Chaves de Castro 1,2, Alberto Nogueira de Castro Júnior 2, Crediné Silva de Menezes 1, Davidson Cury 1 1 Mestrado em Informática Universidade Federal do Espírito Santo (UFES) Av. Fernando Ferrari, s/n CTVII Vitória ES Brazil 2 Departamento de Ciência da Computação Universidade Federal do Amazonas (UA) Av. Rodrigo Otávio Jordão Ramos, Manaus AM - Brazil {thaish,credine,dede}@inf.ufes.br, albertoc@dcc.fua.br Abstract. This work proposes an environment to support programming learning using the multiagent paradigm. The main focus is in the interaction with the students and in the semiautomatic identification of solution patterns, in order to facilitate learning, giving appropriate feedback. Three virtual agents act as assistants in the teaching-learning process constructing student profiles, giving orientation about the submmited solutions and redirecting new solution instances to other participants. Resumo. Este trabalho propõe um ambiente de suporte à aprendizagem de programação utilizando o paradigma multiagente. O enfoque principal é na interação com os estudantes e na identificação semi-automática de grupos ou padrões de soluções, visando facilitar o aprendizado, fornecendo o feedback adequado. Três agentes virtuais atuam como intermediários no processo ensino-aprendizagem de programação, construindo perfis de estudantes, fornecendo orientações acerca das soluções submetidas e direcionando novas instâncias de soluções a outros atores. Palavras-chave. aprendizagem de programação, ambientes de aprendizagem, aprendizagem cooperativa. 1. Introdução Devido a suas particularidades, o aprendizado de programação tem se tornado desafiador em muitos cursos de graduação e muito se tem feito para estimular os estudantes a focalizarem e manterem o interesse. Com esse intuito foram realizadas várias tentativas utilizando diferentes paradigmas e pedagogias, o que tem resultado no desenvolvimento de ferramentas para apoio a diversos tipos de cursos de programação ou de linguagens específicas. A necessidade contínua de estudos para ajudar a determinar métodos efetivos de ensino e aprendizagem em programação tem sido ressaltada por estudos como [McKEOWN e FARRELL 1999], que relata uma queda acentuada no número de profissionais adequadamente qualificados em programação, num panorama sem previsão de mudanças no futuro próximo. Naquele estudo é argumentado que os
2 métodos e recursos educacionais usados hoje nos cursos de introdução à programação freqüentemente desencorajam novos estudantes. Considerando que a aquisição das habilidades necessárias para programação é difícil e demorada, faz-se necessária a participação em experiências não frustrantes com programação para que os estudantes possam desenvolver autoconfiança e construir habilidades. Neste artigo, apresentamos alguns elementos relevantes ao processo ensinoaprendizagem de programação (Seção 2), seguido de um levantamento de algumas ferramentas para apoio a tal processo, apresentando relatos de seus experimentos de utilização (Seção 3). Em seguida, apresentamos o contexto no qual o ambiente aqui proposto está inserido: uma abordagem que utiliza uma linguagem funcional e a resolução de problemas geométricos por estudantes sem nenhuma experiência anterior (Seção 4). Como contribuição para suprir a carência de ferramentas adequadas aos nossos propósitos, sugerimos, na Seção 5, uma arquitetura baseada em agentes para apoiar os estudantes na resolução de problemas de programação, através da interação com agentes reais e virtuais. Espera-se com isso proporcionar ao estudante um feedback adequado e mais rápido. 2. Elementos do Ensino-Aprendizagem de Programação A aprendizagem de conceitos e métodos para a construção de programas de computador não é trivial, pois requer o uso de habilidades de alto nível e boas doses de raciocínio abstrato. Em [DIJKSTRA 1982] é ressaltado que programar, mais que qualquer outra atividade, envolve a habilidade de raciocinar. Mas programar é também uma tarefa de engenharia, uma vez que trata da produção de artefatos que devem satisfazer requisitos de qualidade e serem passíveis de verificação. Falamos então sobre uma atividade desafiadora, que deve ser voltada para o envolvimento do estudante com a solução de problemas [GRUPO GAIA 2001]. Contudo, em [McKEOWN e FARRELL 1999] é ressaltado que nos cursos introdutórios raramente os estudantes aprendem técnicas de solução de problemas. Na maioria desses cursos os estudantes encontram uma dificuldade muito grande em aplicar suas habilidades prévias. Tal dificuldade acaba se constituindo em uma fonte de medo e frustração, o que incentiva a evasão. Dois problemas se destacam. Por um lado, pouca ênfase é dada às habilidades para entender e solucionar problemas nesses cursos. Por outro, o estudante ainda tem de transformar cada solução num conjunto de comandos executável por computador. Essa transformação é possivelmente a principal dificuldade de todo iniciante em programação. Em primeiro lugar, estudantes tendem a pensar na máquina de modo antropomórfico, isto é, dotando-a de qualidades humanas, assumindo que ela poderia entender comandos incompletos ou errôneos. A necessidade de descrever comandos com rigorosa precisão, torna-se assim uma característica muito artificial e até mesmo antipática para o estudante. São comuns também dificuldades encontradas durante a elaboração de um programa, como: quanto ao entendimento do significado de um comando enquanto componente de uma solução; a sintaxe do comando numa certa linguagem de programação; e o resultado da execução daquele comando pela máquina. Além de ter de encontrar comandos para a solução de um problema, o estudante deverá ordená-los
3 corretamente para criar um programa e, finalmente, verificar e ajustar o funcionamento deste. 3. Ferramentas para Apoio a Cursos de Programação As dificuldades encontradas na formação de novos programadores, como as ilustradas na Seção 2, têm motivado um grande esforço de pesquisa na criação de ambientes que auxiliem estudantes iniciantes e intermediários. Muito dessa pesquisa dedica-se ao entendimento de um programa, através de ferramentas que realizam verificação léxica, sintática, semântica, de lógica de programação e pragmática. Como proposto por [DEEK 1999] as metodologias desenvolvidas são incorporadas em ferramentas que se enquadram em uma das quatro categorias: ambientes de programação, como é o caso de Online Judge [KURNIA, LIM e CHEANG 2001]; depuradores; sistemas tutores inteligentes, como é o caso do E-TCL [EL- KHOULY e KOONO 2000]; e ambientes inteligentes de programação, como é o caso do ALPUS [UENO 1996] e do DISCOVER [RAMADHAN e du BOULAY, 1995]. O foco varia de uma ferramenta para outra. No caso do DISCOVER [RAMADHAN e du BOULAY 1995], a ênfase é em estudantes com pouca ou nenhuma experiência em programação. O ambiente possui duas fases: a fase livre, em que o estudante escreve sua solução sem se preocupar muito em acertar; e a fase guiada, em que um tutor mostra os conceitos relacionados a cada comando da linguagem, monitorando a solução e mostrando a resolução de um problema semelhante. Uma outra ferramenta interessante é o E-TCL [EL-KHOULY e KOONO 2000], que apresenta três agentes inteligentes (um para o estudante - PAA-S, outro para o professor - PAA-T e o agente tutor - TA) para monitorar o aprendizado do estudante no esquema de tutoramento. O ambiente se propõe a ensinar qualquer linguagem de programação desde que um especialista (professor) inclua, através de uma interface, os comandos e as explicações referentes à linguagem. Os mesmos conceitos podem ser aproveitados para outras linguagens de programação. O estudante apresenta uma solução sobre a qual é feita uma verificação léxica. Além disso, o PAA-S identificando sua necessidade, disponibiliza o acesso a um quadro com respostas de outros estudantes. O ALPUS [UENO 1996], um módulo do INTELLITUTOR [UENO e NAKAJIMA 1993], é uma ferramenta mais abrangente capaz de estabelecer perfis de conhecimento para cada estudante do sistema e inferir certas habilidades. Aquela ferramenta tem como público alvo estudantes intermediários de graduação em Ciência da Computação. A cada estudante, o ALPUS relaciona um perfil baseado em seu diagrama inicial do problema a ser resolvido e em um dos quatro níveis de conhecimento em que se encontra. Baseado nisso, o ambiente é capaz de inferir algumas intenções do estudante, quando sua resposta diverge muito do modelo do especialista. Numa outra linha de ferramentas, há o Online Judge [KURNIA, LIM e CHEANG 2001]. Neste, há uma lista de problemas propostos para os quais o estudante pode submeter soluções para as quais a correção é verificada através de testes, pontuando as soluções corretas segundo critérios pré-definidos. Um aspecto interessante a destacar é a geração automática de dados para teste, através de scripts em C e Perl. Como descrito em [KURNIA, LIM e CHEANG 2001], uma vantagem do Online Judge
4 em relação às demais ferramentas é que se o estudante escrever uma solução diferente, não prevista anteriormente, ela será considerada da mesma forma que as demais, uma vez que o ambiente não se baseia em uma solução ideal para analisar as respostas, mas simplesmente nas condições de entrada e saída de dados. A dificuldade em qualificar essas ferramentas é devido à falta de relatos de experimentos realizados. Quando há relatos de experimentos, como é o caso do DISCOVER, os dados obtidos não são suficientes para analisar o desempenho por não terem sido conduzidos em uma variedade mais adequada e para um número maior de estudantes. 4. Aprendizagem de Programação Uma Abordagem Funcional Dentre os muitos argumentos enumerados em [GRUPO GAIA 2001] para a utilização da programação funcional num curso de introdução à programação, destacamos: (i) o paradigma funcional é baseado em conhecimento já familiar ao estudante desde o ensino médio (funções e mapeamentos entre domínios); (ii) permite concentrar a atenção na elaboração de soluções e nas descrições formais delas; (iii) o foco da atenção está em o que fazer, ao invés de como fazer ; (iv) por dispensar conhecimento dos detalhes de um computador específico, possibilita um número maior de experimentações e aumento da produtividade. No nosso caso, o público alvo são estudantes iniciantes em programação, cursando o primeiro semestre de cursos de graduação em Computação. Ao se matricularem na primeira disciplina de programação, os estudantes, em sua maioria, nunca tiveram contato com nenhuma linguagem ou sequer com conceitos associados à programação. Como esses estudantes têm um conhecimento prévio em geometria, optamos pela utilização de problemas geométricos desde o início do curso, a fim de facilitar o entendimento do modelo computacional. A linguagem adotada é Haskell [HUDAK, JONES e WADLER 1992], uma linguagem funcional pura e não restrita. Ao direcionarmos nossa classe de problemas ao domínio da geometria, reduzimos os possíveis erros de interpretação dos enunciados. Dessa forma, os erros se concentrarão em usos inadequados do modelo computacional. Isso facilita a associação de um enunciado com as possíveis soluções, corretas e incorretas. Além disso, temos observado que o uso de figuras geométricas apropriadas facilita ao estudante a identificação de abstrações significativas, em virtude de estas serem de natureza visual Exemplo de Exercício Ao longo do curso de programação funcional, disponibilizamos aos estudantes listas de exercícios, com o intuito de mantê-los em contato com os tópicos estudados. Tomemos por exemplo de exercício, com a estratégia de solução correspondente: Como podemos concluir por uma inspeção da Figura 1, não existe uma fórmula pronta para calcular sua área. Precisamos dividi-la em partes para as quais conheçamos uma maneira de calcular a área e que, além disso, conheçamos as dimensões necessárias.
5 a b c e d Figura 1. Um polígono irregular Podemos fazer várias tentativas, como, por exemplo, as ilustradas nas Figuras 2a, 2b e 2c para tentar descrever a área das figuras menores em cada uma delas. Em 2b e 2c, parece que precisaremos subdividir novamente. Em 2b a casinha em verde pode ser transformada em um retângulo e um triângulo. Em 2c é a casinha azul (meio telhado) que pode ser dividida em um retângulo e um triângulo. Figura 2a Figura 2b Figura 2c Figura 2d Vamos partir para a nossa solução a partir da Figura 2c. Podemos dizer que a área total pode ser obtida pela soma das áreas amarela, com área vermelha e mais a área azul. A área azul pode se subdividir em azul-claro e azul-escuro (Figura 2d). A estrutura da solução deste problema obtida pela modularização pode ser representada pelo diagrama da Figura 3. Área total Área amarela Área Área azul Área do retângulo Área do triângulo Área do triângulo Área do retângulo hipotenusa Figura 3. Árvore de Representação do Problema 5. Um Ambiente para Apoio à Aprendizagem de Programação De modo geral, ferramentas como as mostradas na Seção 3 não têm apresentado resultados significativamente relevantes para alunos com pouca ou nenhuma experiência
6 em programação. Parte do problema pode ser devido às dificuldades próprias do paradigma de programação adotado. Com o ambiente aqui apresentado pretende-se suprir as dificuldades encontradas na utilização das ferramentas mencionadas na Seção 3. O ambiente proposto baseia-se na tecnologia de agentes para auxiliar o professor na identificação dos equívocos cometidos pelos estudantes durante a construção de soluções para problemas propostos, contribuindo para a melhoria quantitativa e qualitativa do feedback. Os agentes detectam padrões de erros nas respostas e enfatizam a utilização do mínimo de recursos da linguagem, necessário para se chegar a uma solução correta. Isso é feito de acordo com o conteúdo das bases de conhecimento de padrões de problemas, de erros e de orientações para que o estudante consolide o conhecimento sobre o tópico corrente e esteja preparado para aprender outro. No cenário apresentado na seção anterior, os estudantes recebem uma lista de exercícios em sala de aula, com as devidas explicações. São assim incentivados a ler, refletir e internalizar as questões, elaborando formas para resolução, por programação, dos problemas propostos. Então, como uma próxima etapa, eles podem ir ao laboratório concentrar seus esforços na implementação em uma linguagem funcional. Nessa etapa, o estudante precisa de apoio sistemático para superar suas dificuldades. A arquitetura aqui apresentada se propõe a acompanhar essa etapa, através de agentes virtuais e reais encarregados de prover feedback em forma de orientações referentes às classes de problemas estudados, sendo capazes de identificar os principais erros na resolução desses problemas. Para identificar esses desvios, são fornecidos ao ambiente classes de problemas com seus respectivos esquemas de programa, nos moldes defendidos por Bieliková e Návrat (1998) e Gegg-Harrison (1996) Arquitetura da Proposta A Figura 4 apresenta a arquitetura proposta. O ambiente é formado por três agentes virtuais: (i) Construtor de Perfil, (ii) Assistente de Orientação e (iii) Assistente de Aprendizagem; três agentes reais: (a) Estudante representação de um estudante regularmente matriculado em um curso de Introdução à Programação, (b) Professor representação de um professor de programação, não necessariamente do curso em que o estudante está matriculado, e (c) Colaborador representação de um monitor ou outro estudante que deseje colaborar com a identificação de padrões; e ferramentas e bases de conhecimento para facilitar a troca de informações entre os atores. Ao interagir com o ambiente, o estudante tem seu perfil constantemente atualizado pelo agente (i), é capaz de interagir com o agente (ii), recebendo feedback sobre o estado de seu programa e conta com o agente (iii) para direcionar possíveis erros que ainda não tenham sido identificados para um colaborador do ambiente e armazenar novas classificações de erros para serem armazenados na base de padrões de erros. As ferramentas que compõem o ambiente são independentes e possuem as seguintes funcionalidades: Testador utiliza testes para verificar se uma solução para determinado problema apresenta resultados consistentes com as diversas circunstâncias requeridas. Esses testes são descritos por scripts com conjuntos-padrão de dados de entrada.
7 Autoria de Perfil captura as informações preliminares sobre os estudantes matriculados em um curso, através de interação conduzida pelos próprios estudantes. Autoria de Orientação possui uma linguagem para o professor descrever classes de problemas, relacionando-os a níveis de orientações e de tratamento (feedback), de acordo com os erros mais comuns armazenados na base de padrões de erros, já armazenados previamente pelo ambiente. Essa ferramenta tem o objetivo de fornecer ao Assistente de Orientação o feedback adequado para cada nível de erro. Autoria de Esquema possui uma linguagem para representar esquemas de programa, de forma que o professor possa descrevê-los formalmente e relacioná-los a determinadas classes de problema. Conforme um estudo comparativo que realizamos, existem diversas formas de representar esquemas. A representação que utilizaremos nesta ferramenta será de uma meta programação, em linguagem Haskell. A Figura 4, ainda, mostra a interação nesse ambiente, onde os agentes reais são representados por humanóides e os virtuais por faces com olhos e boca. Ao participar do ambiente, o ESTUDANTE, constrói seu perfil inicial através da ferramenta de Autoria de Perfil. Para cada problema proposto, o estudante utiliza seu editor de programação funcional para criar sua solução e verifica a consistência da mesma através do Testador. Uma vez verificada, envia a solução ao ASSISTENTE DE ORIENTAÇÃO. Esse assistente, baseado no perfil do estudante e na base de padrões de erros envia uma orientação ao ESTUDANTE informando se o programa contém desvios do esquema de programa (erros) existentes na base de padrões de erros. Caso seja identificado um erro, o assistente fornecerá um feedback ao estudante, sugerindo que este último repense a solução, tentando encontrar um outro caminho. Assim que o ASSISTENTE DE ORIENTAÇÃO não detectar mais nenhum erro no programa do estudante, ele o redireciona à ferramenta Testador para que seja verificada a adequabilidade da solução. Se o assistente de orientação testar a solução e a mesma não funcionar como se esperava, redireciona-a para a base de erros não identificados. O ASSISTENTE DE APRENDIZAGEM acessa essa base e envia mensagem a um COLABORADOR do ambiente para que identifique o(s) erro(s) apresentado(s). Nesse ponto, é importante elaborar mais detalhadamente o que consideramos um erro. No contexto deste trabalho, erro é uma inadequação. Por exemplo, se em uma questão da lista de exercícios houver uma descrição de um problema determinando que o mesmo deve ser resolvido sem o uso de uma determinada estrutura, como IF-THEN- ELSE, por exemplo, e o estudante apresentar uma solução que a utilize, seu programa é considerado como contendo uma inadequação, uma vez que não atendeu completamente à especificação, apesar de funcionar corretamente. Para enviar orientações adequadas a cada classe de problema, o ASSISTENTE DE ORIENTAÇÃO conta com uma base de problemas e orientações, alimentada pelo PROFESSOR, através de uma ferramenta de AUTORIA DE ORIENTAÇÃO. Vale ressaltar que os problemas são previamente classificados pelo PROFESSOR e armazenados, juntamente com um esquema de programa para cada classe, na base de problemas e esquemas de programas, sendo, posteriormente, consultado pelo ASSISTENTE DE ORIENTAÇÃO.
8 AUTORIA DE PERFIL perfil padrões de erros Construtor de Perfil erros não identificados solução Estudante orientação Assistente de Orientação Assistente de Aprendizagem solução feedback problemas e orientações AUTORIA DE ORIENTAÇÃO TESTADOR problemas e esquemas de programas AUTORIA DE ESQUEMA Professor Figura 4. Uma Arquitetura de Apoio à Aprendizagem de Programação Colaborador A cada interação com o ASSISTENTE DE ORIENTAÇÃO, o programa (parcial ou final) enviado pelo ESTUDANTE, é capturado pelo CONSTRUTOR DE PERFIL para ser acrescido ao perfil previamente fornecido pelo próprio ESTUDANTE. Desta forma o perfil do ESTUDANTE é sempre modificado, baseando-se em seu estilo de programação, de modo que se possa fornecer um feedback mais preciso, por exemplo, indicando quando o estudante estiver modificando apenas uma variável em seu programa, sem fazer maiores reflexões sobre os resultados disso. 6. Considerações Finais O levantamento das técnicas correntes para desenvolvimento de ferramentas de apoio ao aprendizado de programação fundamentou nossa proposta de uma arquitetura que refletisse as necessidades do nosso público alvo. Com o desenvolvimento dessa arquitetura, pretendemos contribuir para o aprendizado de conceitos básicos de programação, através da identificação e utilização
9 dos padrões de erros cometidos na elaboração de soluções para problemas de programação. Os estudos comparativos das várias formas de representação de esquemas de programa nos levaram a acreditar ser mais adequada a representação de esquemas próximos à linguagem de programação sendo trabalhada [BIELIKOVÁ e NÁVRAT 1997] [GEGG-HARRISSON 1991], em nosso caso, conforme tratado na Seção 5, o Haskell. No momento, estamos iniciando a prototipagem desta arquitetura, com o desenvolvimento da ferramenta Autoria de Esquema, que deverá conter uma linguagem para a descrição de esquemas com uma análise estrutural de sentenças, no estilo da utilizada em [CHAVES e CASTRO Jr. 2000]. Como parte desta investigação, utilizamos respostas às listas de exercícios de programação de várias turmas das disciplinas Programação I para Ciência da Computação e Processamento de Dados I para Engenharia da Computação, de onde foi obtido nosso conjunto inicial de padrões de solução. Novos problemas, junto com seus padrões de resposta, estão sendo propostos e serão utilizados nas próximas turmas de estudantes iniciantes, de modo a verificar o processamento semi-automático. Referências Bieliková, M. e Návrat, P. (1998). Use of Schemata in Lisp Programming: na Evaluation of its Impact on Learning. In: Informatica Journal, Volume 9, Número 1, pp Bieliková, M. e Návrat, P. (1997). A Schema-Based Approach to Teaching Programming in Lisp and Prolog. In: Proceedings of PEG 97 International Conference, pp Chaves, T. e Castro Jr., A. (2000). Elementos de um Ambiente Multiagente com Intermediação para Suporte à Aprendizagem. In: XI Simpósio Brasileiro de Informática na Educação, Maceió. Deek, F. (1999). A Framework for and Automated Problem Solving and Program Development Environment. In: Transactions of the SDPS, Volume 3, Número 3, Setembro. Dijkstra, E. (1982). On the Teaching of Programming, i.e. on the Teaching of Thinking. In: Selected Writings on Computing: A Personal Perspective. Springer- Verlag NY. El-Khouly, M.; Far, B. e Koono, Z. (2000). Expert Tutoring System for Teaching Computer Programming Languages. In: Expert Systems with Applications, Volume 18, pp Gegg-Harrison, T. (1991). Learning Prolog in a Schema-Based Environment. In: Instructional Science, Número 20, pp Grupo Gaia. (2002). Programação para Principiantes: Uma Abordagem Funcional. Fevereiro.
10 Hudak, P.; Jones, S. e Wadler, P. (1992). Report on the Programming Language Haskell A Non-strict, Purely Functional Language. Versão 1.2. ACM SIGPLAN Notices, Volume 27, Número 5. Kurnia, A.; Lim, A. e Cheang, B. (2001). Online Judge. In: Computers & Education, Volume 36, pp Mckeown, J. e Farrell, T. (1999). Why We Need to Develop Succcess in Introductory Programming Courses. In: CCSC Central Plains Conference, Maryville, MO. Ramadhan, H. e du Boulay, B. (1995). Programming Environments for Novices. In: Cognitive Models and Intelligent Environments for Learning Programming. Ueno, H. e Nakajima, A. (1993). INTELLITUTOR: Integrated Intelligent Programming Environment for Novices. In: Applications of Supercomputers in Engineering III. Elsvier Applied Science, pp Ueno, H. (1996). Concepts and Methodologies for Knowledge-Based Program Understander ALPUS. In: Proceedings of PPPIG.
Uma Arquitetura de Tutor Inteligente que Provê Suporte ao Diálogo com o Aluno Iniciante em Linguagem de Programação
Uma Arquitetura de Tutor Inteligente que Provê Suporte ao Diálogo com o Aluno Iniciante em Linguagem de Programação Renato de M. Santos 1, Crediné Silva de Menezes 1, Davidson Cury 1 1 Programa de Pós-Graduação
Leia maisDESCOMPLICANDO A PROGRAMAÇÃO EM LINGUAGEM C. UMA SOLUÇÃO PARA DEPURAÇÃO SIMPLES DE CÓDIGOS. GOMES, M. S. ¹, AMARAL, E. M H. ¹
DESCOMPLICANDO A PROGRAMAÇÃO EM LINGUAGEM C. UMA SOLUÇÃO PARA DEPURAÇÃO SIMPLES DE CÓDIGOS. GOMES, M. S. ¹, AMARAL, E. M H. ¹ ¹ Universidade Federal do Pampa (UNIPAMPA) Bagé RS Brasil RESUMO Este trabalho
Leia maisUma ontologia para modelagem de conteúdo para Ensino a Distância. An ontology for modeling distance learning contents
SEMINÁRIO DE PESQUISA EM ONTOLOGIA NO BRASIL 11 E 12 de Agosto Universidade Federal Fluminense Departamento de Ciência da Informação Niterói Rio de Janeiro Brasil Esta comunicação está sendo submetida
Leia maisLinguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e
Leia maisXadrez, do Real ao Virtual
Xadrez, do Real ao Virtual José Francisco de Magalhães Netto Orivaldo Lira Tavares Crediné Silva de Menezes Porto Alegre, 25 Nov 2005 Roteiro da Apresentação Introdução A Arquitetura O AVAX Conclusões
Leia maisUMA PROPOSTA DE FERRAMENTA PARA SIMPLIFICAR A DEPURAÇÃO DE CÓDIGOS EM C, POR ALUNOS INICIANTES
WAlgProg / 2016 UMA PROPOSTA DE FERRAMENTA PARA SIMPLIFICAR A DEPURAÇÃO DE CÓDIGOS EM C, POR ALUNOS INICIANTES Marina Gomes Érico Amaral Roteiro
Leia maisATIVIDADES PRÁTICAS SUPERVISIONADAS
ATIVIDADES PRÁTICAS SUPERVISIONADAS Tecnologia em Análise e Desenvolvimento de Sistemas 5ª. Série Programação Distribuída A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido
Leia maisParadigmas de Linguagens
Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens
Leia maisSeiji Isotani CURRICULUM VITAE
Seiji Isotani CURRICULUM VITAE São Paulo 2004 1. Dados Pessoais Nome: Seiji Isotani Data e Local de Nascimento: 09/09/1979, Osasco/SP - Brazil Endereço Atual : Osasco, SP Brazil Telefone: (11) 3609-1033
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos
Leia maisUtilizando Programação Funcional em Disciplinas Introdutórias de Computação
Utilizando Programação Funcional em Disciplinas Introdutórias de Computação Thais Helena Chaves de Castro 1,2, Alberto Nogueira de Castro Júnior 2, Crediné Silva de Menezes 1, Maria Cláudia Silva Boeres
Leia maisLOLGICA: UMA PLATAFORMA DE ENSINO VOLTADA PARA LÓGICA E LINGUAGENS DE PROGRAMAÇÃO
LOLGICA: UMA PLATAFORMA DE ENSINO VOLTADA PARA LÓGICA E LINGUAGENS DE PROGRAMAÇÃO Alberto Elias Do Amaral Júnior 1 Leonardo Amorim Sena 2 Luiz Otávio Andrade Soares 3 Willyan Michel Ferreira 4 Eduardo
Leia maisRevisão/Mapeamento Sistemático
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação SSC0572 - Computadores, Sociedade e Ética Profissional Revisão/Mapeamento Sistemático Prof. Dr. José Carlos Maldonado PAE: Pedro
Leia maisLinguagens de Programação
Visão Geral Faculdade de Computação - UFU Agosto - 2009 1 Princípios 2 O que é uma linguagem de programação? Linguagens naturais facilitam a expressão e o intercâmbio de idéias entre as pessoas. Assim
Leia maisA pesquisa no ensino de computação. Práticas de ensino de algoritmos (Hazzan, Cap. 4) Péricles Miranda
A pesquisa no ensino de computação Práticas de ensino de algoritmos (Hazzan, Cap. 4) Péricles Miranda Existe pesquisa na área de ensino? Existe uma variedade de tópicos Conhecimento de novatos Investiga
Leia maisProgramação I Apresentação
Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação
Leia mais132 6 Conclusão 6.1. Contribuições da Tese
132 6 Conclusão Esta tese teve como objetivo principal o estudo da aplicação de transformações para manter a rastreabilidade de um sistema de software. Esta abordagem permite a captura automática das informações
Leia maisDesenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino
Desenvolvimento de Ferramentas no igeom: Utilizando a Geometria Dinâmica no Ensino Presencial e à Distância Seiji Isotani Orientador: Leônidas de Oliveira Brandão Defesa de Mestrado Departamento de Ciência
Leia maisTREINAMENTO PARA COMPETIÇÕES DE PROGRAMAÇÃO: Estudo de caso nas turmas do técnico em informática integrado do Câmpus Muzambinho RESUMO
TREINAMENTO PARA COMPETIÇÕES DE PROGRAMAÇÃO: Estudo de caso nas turmas do técnico em informática integrado do Câmpus Muzambinho Leonardo S. da COSTA 1 ; Tiago G. BOTELHO 2 RESUMO Competições de programação
Leia mais2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.
Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia maisImplementando o Agente de Base de Domínio do Sistema Tutor Inteligente PAT2Math
Programa de Pós-Graduação em Computação Aplicada Implementando o Agente de Base de Domínio do Sistema Tutor Inteligente PAT2Math Bolsistas: Gabriel E. Chites de Mello Geiseane Lacerda Rubi (Ciência da
Leia maisCOMPUTADORES NA EDUCAÇÃO MÉDICA
CI242 - TÓPICOS DE PESQUISA EM INFORMÁTICA CURITIBA, 24 DE ABRIL DE 2017 COMPUTADORES NA EDUCAÇÃO MÉDICA HAYANNA K. F. SANTOS NICOLE C. KERKHOVEN 1 O PAPEL DOS COMPUTADORES NA EDUCAÇÃO MÉDICA OBJETIVOS:
Leia maisPontifícia Universidade Católica de São Paulo Programa de TIDD
Disciplina: 2854 - Sistemas Inteligentes e Ambientes Virtuais Turma A Área de Concentração: Processos Cognitivos e Ambientes Digitais Linha de Pesquisa: Inteligência Coletiva e Ambientes Interativos Professor:
Leia maisUso de Lógica Fuzzy no Auxílio ao Acompanhamento Automático de Alunos utilizando um Ambiente de Aprendizagem
Uso de Lógica Fuzzy no Auxílio ao Acompanhamento Automático de Alunos utilizando um Ambiente de Aprendizagem Práticas de ensino de algoritmos Péricles Miranda Resumo Os professores enfrentam diversos desafios
Leia maisAnálise e projeto de sistemas
Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os
Leia maisIntrodução à Programação
Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.
Leia maisINFORMÁTICA APLICADA AULA 02 ALGORITMOS
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 ALGORITMOS Profª ª Danielle Casillo ALGORITMOS Um algoritmo é uma sequência de instruções
Leia maisAPRENDENDO PROGRAMAÇÃO COM BATALHAS DE ROBÔS. Instituto Federal Catarinense, Blumenau/SC
APRENDENDO PROGRAMAÇÃO COM BATALHAS DE ROBÔS Braga, Paulo André de Melo 1 ; Bueno, Mateus Moraes 2 ; Stumm Júnior, Valdir 1 Instituto Federal Catarinense, Blumenau/SC INTRODUÇÃO Cursos da área de informática,
Leia maisANÁLISE E IMPLANTAÇÃO DE FERRAMENTAS PARA CORREÇÃO AUTOMATIZADA DE ALGORITMOS RESUMO
ANÁLISE E IMPLANTAÇÃO DE FERRAMENTAS PARA CORREÇÃO AUTOMATIZADA DE ALGORITMOS Douglas Castilho 1 ; Alysson Eduardo 2 RESUMO O processo de aprendizagem de linguagens de programação depende, dentre outras
Leia maisProcessos de software
Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de
Leia maisAnálise de Sistemas. Aula 5
Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles
Leia maisUniversidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia de Computação Profa. Claudia Boeres
Universidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia de Computação Profa. Claudia Boeres Considere o esboço do estado do ES e n cidades enumeradas de 1, 2,..., n.
Leia maisIntrodução aos Algoritmos
Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado
Leia maisParadigma Simbólico. Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2)
Paradigma Simbólico Sistemas de Informação UNISUL Aran Bey Tcholakian Morales, Dr. Eng. (Apostila 2) Revisão da aula anterior: definição de IA Podemos associar o termo IA com: Parte da ciência da computação
Leia maisAMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO. Rodrigo Ferreira da Silva
AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO Rodrigo Ferreira da Silva rodrigoferreira2002@hotmail.com Klaus Schlünzen Junior klaus@prudente.unesp.br Universidade Estadual Paulista
Leia mais- Engenharia Reversa - Evolução de Sofware. Desenvolvimento como. Requisitos o que. Sistema porque. Profa. Dra. Sandra Fabbri. operacional.
Unidade V Evolução de Sofware - Engenharia Reversa - Profa. Dra. Sandra Fabbri Fases Genéricas do Ciclo de Vida Engenharia Sistemas Análise Projeto Codificação Manutenção Teste Sistema Requisitos Desenvolvimento
Leia maisUniversidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados
Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído
Leia maisATIVIDADES PRÁTICAS SUPERVISIONADAS
ATIVIDADES PRÁTICAS SUPERVISIONADAS 8ª. Série Computação Gráfica Ciência da Computação A atividade prática supervisionada (ATPS) é um procedimento metodológico de ensino-aprendizagem desenvolvido por meio
Leia maisNota Técnica da Sociedade Brasileira de Computação sobre a BNCC- EF e a BNCC- EM
A Sociedade Brasileira de Computação (SBC) vem a público manifestar sua discordância e suas críticas às versões homologada da Base Nacional Comum Curricular do Ensino Fundamental e entregue ao Conselho
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar
Leia maisAlgoritmos e Programação
Algoritmos e Programação 2 O que é um algoritmo? É um caminho para a solução de um problema. Problema Algoritmo Solução 3 No contexto computacional... É um conjunto finito de regras, bem definidas, para
Leia maisO Ensino de Ciência da Computação. Práticas de ensino de algoritmos (Hazzan, Cap. 3 / EAD Cap. 2) Péricles Miranda
O Ensino de Ciência da Computação Práticas de ensino de algoritmos (Hazzan, Cap. 3 / EAD Cap. 2) Péricles Miranda O Que é Ciência da Computação? Analise os argumentos abaixo: 1. Ciência é a observação,
Leia maisIntrodução aos Algoritmos
Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado
Leia maisProcessos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1
Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando
Leia maisProgramação de Computadores
Programação de Computadores CONSIDERAÇÕES INICIAIS Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Página da Disciplina O material será disponibilizado por meio
Leia maisSistemas Especialistas (SE)
Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Sistemas Especialistas (SE) Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com
Leia maisCapítulo 5 Modelação do Sistema 1
Capítulo 5 Modelação do Sistema Capítulo 5 Modelação do Sistema 1 Assuntos abordados Modelos de contexto Modelos de interação Modelos estruturais Modelos comportamentais Engenharia orientada a modelos
Leia maisPROJETO: CONFERÊNCIA ACADÊMICA. 2. Informações Básicas sobre o Sistema a ser Desenvolvido
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri PROJETO: CONFERÊNCIA
Leia maisWorkshop de Ambientes de apoio à Aprendizagem de Algoritmos e Programação (SBIE 2007) Instituto de Ciências Matemáticas e de Computação ICMC-USP
Camila K. D. Corte, Ana C. Riekstin Marco Aurélio G.Silva Ellen F. Barbosa, José C. Maldonado camila, claudiar, magsilva, francine, jcmaldon@icmc.usp.br Workshop de Ambientes de apoio à Aprendizagem de
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Slides N. 2 E / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO
Leia maisParadigmas de Linguagem de Programação. Aspectos Básicos
Paradigmas de Linguagem de Programação Aspectos Básicos Introdução Nesta segunda etapa de nossos estudos, veremos: aspectos básicos de programa e linguagem de programação; revisão de conceitos de compilador
Leia maisCiclo de vida: fases x atividades
Ciclo de vida Fase de definição Análise e Especificação Estudo de Viabilidade Estimativas Planejamento Fase de desenvolvimento Design Implementação e integração Verificação e Validação Fase de operação
Leia maisIntrodução à Programação Aula 03. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Aula 03 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação Linguagens de Programação A primeira linguagem de programação foi criada por Ada Lovelace. Amiga
Leia maisIntrodução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software
INTRODUÇÃO AO SWEBOK Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Origens do corpo de conhecimentos da Engenharia de Software: Engenharia da Computação Ciência da
Leia maisIntrodução à Programação de Computadores Fabricação Mecânica
Introdução à Programação de Computadores Fabricação Mecânica Edilson Hipolito da Silva edilson.hipolito@ifsc.edu.br - http://www.hipolito.info Aula 06 - Introdução a algoritmos Roteiro Algoritmos Formas
Leia maisUniversidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia Elétrica Profa. Maria Cristina Rangel
Universidade Federal do Espírito Santo - CT - DI Trabalho Computacional - PD II - Engenharia Elétrica Profa. Maria Cristina Rangel Considere o esboço do estado do ES e n = 30 cidades enumeradas de 1, 2,...,
Leia maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia maisDesenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa
Desenvolvimento de uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Danilo Leite Dalmon Orientador: Prof. Dr. Leônidas de O. Brandão Qualificação de Mestrado Instituto de Matemática
Leia maisORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1
ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA - 2008/1 DC 9481 03/10/07 Rev. 00 1. Dados Legais Autorizado pelo Parecer 278 do Conselho
Leia maisInformática Aplicada à Engenharia Florestal INTRODUÇÃO
Informática Aplicada à Engenharia Florestal INTRODUÇÃO Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Vamos aprender a fazer programas! 2/34 Questão Fundamental
Leia maisApresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:
Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas
Leia mais5º Congresso de Pós-Graduação
5º Congresso de Pós-Graduação UMA FERRAMENTA PARA GERAÇÃO AUTOMÁTICA DE DIAGRAMA DE CLASSES A PARTIR DA ESPECIFICAÇÃO DE REQUISITOS EM LINGUAGEM NATURAL Autor(es) Orientador(es) LUIZ EDUARDO GALVÃO MARTINS
Leia maisIntrodução a Computação
Introdução a Computação Lógica de Programação Conceitos Algoritmos Conjunto predeterminado e bem definido de regras e processos destinados a solução de um problema, com um número finito de etapas. 2 1
Leia maisTÍTULO: TRATAMENTO NÃO FARMACOLÓGICO DE IDOSOS PORTADORES DE ALZHEIMER UTILIZANDO A FERRAMENTA EXPERT SINTA - IA
TÍTULO: TRATAMENTO NÃO FARMACOLÓGICO DE IDOSOS PORTADORES DE ALZHEIMER UTILIZANDO A FERRAMENTA EXPERT SINTA - IA CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA SUBÁREA: Computação e Informática
Leia maisUMA PROPOSTA PARA O ESTUDO DOS PRODUTOS NOTÁVEIS NO ENSINO FUNDAMENTAL, 7ª SÉRIE (8º ANO) ASSOCIADOS AOS CÁLCULOS DE ÁREAS DE FIGURAS
UMA PROPOSTA PARA O ESTUDO DOS PRODUTOS NOTÁVEIS NO ENSINO FUNDAMENTAL, 7ª SÉRIE (8º ANO) ASSOCIADOS AOS CÁLCULOS DE ÁREAS DE FIGURAS Elvys Wagner Ferreira da Silva Universidade Estadual do Maranhão elvys.wagner@ibest.com.br
Leia maisMaterial Complementar de INF Engenharia Cognitiva
Material Complementar de INF 1403 2009.1 Engenharia Cognitiva Introdução A Engenharia Cognitiva foi concebida por Donald Norman em 1986 como uma tentativa de aplicar conhecimentos de Ciência Cognitiva,
Leia maisIntrodução à Programação
Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira
Leia maisATIVIDADES PRÁTICAS SUPERVISIONADAS
ATIVIDADES PRÁTICAS SUPERVISIONADAS Serviço Social 4ª Série Fundamentos das Políticas Sociais A atividade prática supervisionada (ATPS) é um procedimento metodológico de ensino-aprendizagem desenvolvido
Leia maisLINGUAGEM E TECNICAS DE PROGRAMAÇÃO
LINGUAGEM E TECNICAS DE PROGRAMAÇÃO Aula 03 Lógica Entrada de dados Lógica Lógica, no seu sentido mais amplo, está presente em todos os passos de nossas vidas, servindo de base para resolução de nossos
Leia maisUma Linha de Produto de Software para Módulos de Aprendizagem Interativa
Uma Linha de Produto de Software para Módulos de Aprendizagem Interativa Danilo Leite Dalmon Orientador: Prof. Dr. Leônidas de O. Brandão Defesa de Mestrado Instituto de Matemática e Estatística - Universidade
Leia maisConteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 09289 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 3. Especificação e Análise de Requisitos
Leia maisProjeto de Interface Homem- Máquina
Projeto de Interface Homem- Máquina PCS 013 Profa. Lúcia V. L. Filgueiras Profa. Selma S. S. Melnikoff Projeto de Interface- Homem- Máquina Em geral, esta atividade é realizada na fase de análise ou de
Leia maisMODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro
MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade
Leia maisPLANEJAMENTO E AUTOMAÇÃO DE SOFTWARE PARA UTILIZAÇÃO NA DISCIPLINA DE CÁLCULO DIFERENCIAL E INTEGRAL
PLANEJAMENTO E AUTOMAÇÃO DE SOFTWARE PARA UTILIZAÇÃO NA DISCIPLINA DE CÁLCULO DIFERENCIAL E INTEGRAL Prof. Dr. José Gabriel Maluf Soler orientador Autarquia Municipal de Ensino de Poços de Caldas Faculdade
Leia maisTipos para uma Linguagem de Transformação
Universidade Federal de Pernambuco Graduação em Ciência da Computação Centro de Informática Proposta de Trabalho de Graduação Tipos para uma Linguagem de Transformação Aluno: Orientador: Alexandra Barreto
Leia maisProf. Esp. Fabiano Taguchi
UML Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com UML COMPETÊNCIA: Conhecer e desenvolver estudos de caso usando modelagem orientada a objeto. HABILIDADE: Conhecer
Leia mais1. INTRODUÇÃO Motivação
1. INTRODUÇÃO Neste capítulo serão apresentados os problemas que motivaram a escolha da pesquisa da tese, os objetivos a serem atingidos durante o seu desenvolvimento, as contribuições relevantes à área
Leia mais2
ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina
Leia maisM Y C H E L L I N E S O U T O H E N R I Q U E P A T R Í C I A C. A. R. T E D E S C O
M Y C H E L L I N E S O U T O H E N R I Q U E P A T R Í C I A C. A. R. T E D E S C O AGENDA Definição do Problema Objetivo Procedimentos Metodológicos Resultados Conclusões e Trabalhos Futuros 2 Definição
Leia maisIntrodução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 04 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL LINGUAGEM IREMOS ESTUDAR? 2 Introdução à Programação Linguagens
Leia maisAlgoritmos e Programação
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA
Leia maisOS HÁBITOS DE USO DAS TDIC POR ESTUDANTES UNIVERSITÁRIOS NO CONTEXTO EDUCACIONAL
OS HÁBITOS DE USO DAS TDIC POR ESTUDANTES UNIVERSITÁRIOS NO CONTEXTO EDUCACIONAL Vivian Timbó Magalhães Martins, Universidade Federal do Ceará (UFC); RESUMO Esse artigo expõe sobre os hábitos de uso das
Leia maisEngenharia de Controle e Automação
ATIVIDADES PRÁTICAS SUPERVISIONADAS 2ª Série Cálculo I Engenharia de Controle e Automação A atividade prática supervisionada (ATPS) é um método de ensinoaprendizagem desenvolvido por meio de um conjunto
Leia maisComo as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade,
1 Introdução Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade, os desafios encontrados durante o desenvolvimento
Leia maisSistemas de Computação e de Informação
Sistemas de Computação e de Informação SLIDE 9 Professor Júlio Cesar da Silva juliocesar@eloquium.com.br site: http://eloquium.com.br/ twitter: @profjuliocsilva Linguagens de Programação Os computadores
Leia maisIdentificando as Expectativas de Alunos de Graduação sobre a Disciplina Introdutória de Engenharia de Software
Identificando as Expectativas de Alunos de Graduação sobre a Disciplina Introdutória de Engenharia de Software Yandson de Jesus Saraiva Costa 1, Jéssica Costa Mendes 1, Geraldo Braz Júnior 1, Luis Jorge
Leia maisAlgoritmos e Programação
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação
Leia maisINFORMÁTICA NA EDUCAÇÃO. A Informática e a Era do Conhecimento INFORMÁTICA NA EDUCAÇÃO
INFORMÁTICA NA EDUCAÇÃO A Informática e a Era do Conhecimento Prof. Gláucya Carreiro Boechat E-mail:glaucyacboechat@yahoo.com.br Disciplina: Informática Aplicada à Educação Segundo MEC: é a integração
Leia mais4 Caso de Uso no Ambiente Oracle
4 Caso de Uso no Ambiente Oracle No capítulo anterior foi definido o processo para definição de uma estratégia de rastreabilidade. Neste capítulo será realizada uma instanciação do processo em um ambiente
Leia maisIntrodução à Computação: Máquinas Multiníveis
Introdução à Computação: Máquinas Multiníveis Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
Leia maisUniversidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação
Universidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação Análise Semântica Disciplina: Compiladores Equipe: Luiz Carlos dos Anjos Filho José Ferreira Júnior Compiladores Um compilador
Leia maisCompiladores. Introdução
Compiladores Introdução Apresentação Turma Noite Continuada I 20/03 Continuada II 22/05 Atividades Regimental 05/06 Total 1 Ponto 1 Ponto 1 Ponto 7 Pontos 10 Pontos Aulas expositivas teórico-práticas Exercícios
Leia maisAgentes Pedagógicos Emocionais em Sistemas Tutores Inteligentes. Patricia A. Jaques (PhD)
Agentes Pedagógicos Emocionais em Sistemas Tutores Inteligentes Patricia A. Jaques (PhD) pjaques@unisinos.br Temas de Pesquisa Inteligência Artificial aplicada à Educação Sistemas Tutores Inteligentes
Leia maisDesign de IHC PoliFacets
1 Design de IHC PoliFacets INF1403 Introdução a IHC Aula 17 Marcelle Mota 13/05/2013 Scalable Game Design (SGD) Originado na Universidade do Colorado Objetivo: Promover a aquisição de raciocínio computacional
Leia maisRequisitos de Software e UML Básico. Janaína Horácio
Requisitos de Software e UML Básico Janaína Horácio janaina@les.inf.puc-rio.br Agenda Requisitos O que é? Objetivos? Atividades?... UML O que é? Modelos... Casos de Uso O que é? Componentes 2 Requisitos
Leia maisUNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO
UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO Sistema de Sumarização Automática de Textos Baseado em Classes de Documentos PROPOSTA DE TRABALHO DE GRADUAÇÃO
Leia maisPerguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software
Engenharia de Software Aula 03 Perguntas da Aula 2 Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 12 Março 2012 Inconsistente: perguntei laranjas, respondeu
Leia maisAula 1.7 Introdução a APOO e UML
APOO Aula 1.7 Introdução a APOO e UML Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Possuir um lápis e uma régua não te tornam um arquiteto 2 Você pode conhecer toda a API Java, C++ ou qualquer LPOO. 3 Mas
Leia mais