SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA

Bibliographic Details
Main Author: Santos, Guilherme Souza
Publication Date: 2019
Format: Bachelor thesis
Language: por
Source: Repositório Institucional da UNIPAMPA
Download full: https://dspace.unipampa.edu.br/jspui/handle/riu/4839
Summary: O que conhecemos hoje por Teoria da Computação começou a ser formulado a partir do ano de 1900. Neste ano, uma lista de problemas matemáticos foi apresentada por Hilbert e um deles, conhecido como Entscheidungsproblem, motivou diversos estudos que contribuíram significativamente para a construção do conceito de computação moderna. Os trabalhos desenvolvidos nos anos seguintes, apresentaram propostas de vários modelos de máquinas de computar, a saber: Máquinas de Turing, Máquinas de Post, Máquinas de Registradores, -Cálculo e Autômatos com Pilhas. Tendo como base o conceito de máquinas de registradores, em particular, a máquina NORMA, este trabalho visa desenvolver um simulador para essa estrutura que possa ser utilizado como ferramenta didática em componentes curriculares de computabilidade ou teoria da computação. Pesquisando em literatura apropriada encontramos alguns simuladores de máquina NORMA dos quais comentamos um pouco na seção 2.4. Entre eles, o que mais se destaca é o simulador desenvolvido pelo Prof. Rodrigo Machado (UFRGS). O diferencial da nossa proposta é justamente tentar facilitar o máximo possível a sintaxe das estruturas a serem programadas no simulador a fim de tornar mais simples a experiência do usuário. A fim de alcançar esse objetivo, utilizamos procedimentos da Engenharia de Software, começando pela definição do modelo de desenvolvimento de software a ser utilizado, tendo sido selecionado o processo Cascata. Esta escolha justifica-se pois este modelo sugere uma abordagem sequencial e sistemática e, além disso, os requisitos são bem definidos e estáveis. Com isso, iniciamos pelo levantamento de requisitos e em seguida realizamos a fase de planejamento, na qual definimos o cronograma e verificações de status de desenvolvimento. Na etapa de modelagem fizemos a análise e o projeto, seguindo para codificação e por último, foram realizados testes de código e com usuários onde obtivemos alguns feedbacks com relação ao software e suas funcionalidades, concluindo assim o processo. Além disso, foram utilizadas técnicas de qualidades para garantir que o simulador desenvolvido tivesse a qualidade e usabilidade adequadas. O simulador foi desenvolvido na linguagem Python e também foi desenvolvida uma interface para interação do usuário, contendo as funcionalidades presentes no software. Destacamos que a ferramenta oferece suporte para programar por meio de estruturação iterativa, sendo assim, a maioria das estruturas internas são testes condicionais e laços de repetição, visando facilitar a forma de programar, bem como otimizar o tempo gasto para isso.
id UNIP_bb596ec4b20cf25eb6be01a9f9fa6253
oai_identifier_str oai:repositorio.unipampa.edu.br:riu/4839
network_acronym_str UNIP
network_name_str Repositório Institucional da UNIPAMPA
repository_id_str
spelling Gindri, LetíciaCoelho, Rafael SantosSantos, Guilherme Souza2020-02-27T12:59:45Z2020-02-27T12:59:45Z2019-11-28SANTOS, Guilherme Souza. SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA. Orientador: Letícia Gindri. 2019. 77 p. Trabalho de Conclusão de Curso (Bacharel em Engenharia de Software) - Universidade Federal do Pampa, Curso de Engenharia de Software, Alegrete, 2019.https://dspace.unipampa.edu.br/jspui/handle/riu/4839O que conhecemos hoje por Teoria da Computação começou a ser formulado a partir do ano de 1900. Neste ano, uma lista de problemas matemáticos foi apresentada por Hilbert e um deles, conhecido como Entscheidungsproblem, motivou diversos estudos que contribuíram significativamente para a construção do conceito de computação moderna. Os trabalhos desenvolvidos nos anos seguintes, apresentaram propostas de vários modelos de máquinas de computar, a saber: Máquinas de Turing, Máquinas de Post, Máquinas de Registradores, -Cálculo e Autômatos com Pilhas. Tendo como base o conceito de máquinas de registradores, em particular, a máquina NORMA, este trabalho visa desenvolver um simulador para essa estrutura que possa ser utilizado como ferramenta didática em componentes curriculares de computabilidade ou teoria da computação. Pesquisando em literatura apropriada encontramos alguns simuladores de máquina NORMA dos quais comentamos um pouco na seção 2.4. Entre eles, o que mais se destaca é o simulador desenvolvido pelo Prof. Rodrigo Machado (UFRGS). O diferencial da nossa proposta é justamente tentar facilitar o máximo possível a sintaxe das estruturas a serem programadas no simulador a fim de tornar mais simples a experiência do usuário. A fim de alcançar esse objetivo, utilizamos procedimentos da Engenharia de Software, começando pela definição do modelo de desenvolvimento de software a ser utilizado, tendo sido selecionado o processo Cascata. Esta escolha justifica-se pois este modelo sugere uma abordagem sequencial e sistemática e, além disso, os requisitos são bem definidos e estáveis. Com isso, iniciamos pelo levantamento de requisitos e em seguida realizamos a fase de planejamento, na qual definimos o cronograma e verificações de status de desenvolvimento. Na etapa de modelagem fizemos a análise e o projeto, seguindo para codificação e por último, foram realizados testes de código e com usuários onde obtivemos alguns feedbacks com relação ao software e suas funcionalidades, concluindo assim o processo. Além disso, foram utilizadas técnicas de qualidades para garantir que o simulador desenvolvido tivesse a qualidade e usabilidade adequadas. O simulador foi desenvolvido na linguagem Python e também foi desenvolvida uma interface para interação do usuário, contendo as funcionalidades presentes no software. Destacamos que a ferramenta oferece suporte para programar por meio de estruturação iterativa, sendo assim, a maioria das estruturas internas são testes condicionais e laços de repetição, visando facilitar a forma de programar, bem como otimizar o tempo gasto para isso.The theory of computation, as we know it today, began to flourish as an independent research field in the early 1900s. One of its main enablers was David Hilbert’s famous Entscheidungsproblem, a mathematical problem in logic that can be phrased as the following question: is there an effective method that can determine, in a finite amount of steps, the validity of a given formula expressed in the language of first-order arithmetic? In an effort to solve Hilbert’s Entscheidungsproblem, a group of mathematicians and logicians (most notably Alonzo Church, Alan Turing, Kurt Goedel, Emil Post and Stephen Kleene), throughout the 1920s and 1930s, set out to find a precise, rigorous definition of the intuitive notion of "effective method". As a result of their work, different (but equivalent) formal models of computation were proposed, such as Turing machines, the untyped -Calculus and the general recursive functions. Later on, in the 1960s and 1970s, another strand of models of computation was introduced in the literature, namely the unlimited register machines. The NORMA machine (Number-theORetic Register MAchine), a very minimalistic kind of unlimited register machine, was invented by Richard Bird in 1976. In this work, we present SiNo, a user-friendly simulator for the NORMA machine. We hope that this simulator can be used as a didactic tool to help teachers communicate, in a clearer and more straightforward manner, abstract concepts within the scope of the theory of computation. There are some other NORMA machine simulators available on the Internet. However, what distinguises ours from those is that our simulator has a more flexible syntax, which makes the learning experience less tedious. We have built SiNo using the Python programming language and following the well-known waterfall model of software engineering. During the development of our work, we had the opportunity to employ SiNo in classroom activities and to get positive feedback from students.porUniversidade Federal do PampaUNIPAMPABrasilCampus AlegreteCNPQ::CIENCIAS EXATAS E DA TERRAEngenharia de softwareDesenvolvimento de softwareTeoria da computaçãoSimuladoresSoftware engineeringSoftware developmentComputation theorySimulatorsSiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMAinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNIPAMPAinstname:Universidade Federal do Pampa (UNIPAMPA)instacron:UNIPAMPATEXTGuilherme Souza Santos - 2019.pdf.txtGuilherme Souza Santos - 2019.pdf.txtExtracted texttext/plain95701https://repositorio.unipampa.edu.br/bitstreams/3421b30a-12f8-45ce-8e5b-54bbd54320bf/download232681860c33fd4f69bc63a150905f1bMD53falseAnonymousREADORIGINALGuilherme Souza Santos - 2019.pdfGuilherme Souza Santos - 2019.pdfapplication/pdf1703640https://repositorio.unipampa.edu.br/bitstreams/94f4efff-4052-4a3b-a10f-c6bb705e6071/downloadb82c9fe33f9670a2e22fba05e842a4e6MD51trueAnonymousREADLICENSElicense.txtlicense.txttext/plain; charset=utf-81866https://repositorio.unipampa.edu.br/bitstreams/164eb672-fbf8-4939-b729-350da6cdead9/download43cd690d6a359e86c1fe3d5b7cba0c9bMD52falseAnonymousREADriu/48392020-02-28 06:01:24.35open.accessoai:repositorio.unipampa.edu.br:riu/4839https://repositorio.unipampa.edu.brRepositório InstitucionalPUBhttp://dspace.unipampa.edu.br:8080/oai/requestsisbi@unipampa.edu.bropendoar:2020-02-28T06:01:24Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)falseTElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCAgdHJhZHV6aXIgKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIApzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIApmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIG8gRGVwb3NpdGEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byAKcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIERlcG9zaXRhIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIAplIHByZXNlcnZhw6fDo28uCgpWb2PDqiBkZWNsYXJhIHF1ZSBhIHN1YSBwdWJsaWNhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgdm9jw6ogdGVtIG8gcG9kZXIgZGUgY29uY2VkZXIgb3MgZGlyZWl0b3MgY29udGlkb3MgbmVzdGEgbGljZW7Dp2EuIApWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRhIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBEZXBvc2l0YSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyAKT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgCkVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpPIERlcG9zaXRhIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUgKHMpIG91IG8ocykgbm9tZShzKSBkbyhzKSBkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIAphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4K
dc.title.pt_BR.fl_str_mv SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA
title SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA
spellingShingle SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA
Santos, Guilherme Souza
CNPQ::CIENCIAS EXATAS E DA TERRA
Engenharia de software
Desenvolvimento de software
Teoria da computação
Simuladores
Software engineering
Software development
Computation theory
Simulators
title_short SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA
title_full SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA
title_fullStr SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA
title_full_unstemmed SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA
title_sort SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA
author Santos, Guilherme Souza
author_facet Santos, Guilherme Souza
author_role author
dc.contributor.advisor1.fl_str_mv Gindri, Letícia
dc.contributor.advisor-co1.fl_str_mv Coelho, Rafael Santos
dc.contributor.author.fl_str_mv Santos, Guilherme Souza
contributor_str_mv Gindri, Letícia
Coelho, Rafael Santos
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA
topic CNPQ::CIENCIAS EXATAS E DA TERRA
Engenharia de software
Desenvolvimento de software
Teoria da computação
Simuladores
Software engineering
Software development
Computation theory
Simulators
dc.subject.por.fl_str_mv Engenharia de software
Desenvolvimento de software
Teoria da computação
Simuladores
Software engineering
Software development
Computation theory
Simulators
description O que conhecemos hoje por Teoria da Computação começou a ser formulado a partir do ano de 1900. Neste ano, uma lista de problemas matemáticos foi apresentada por Hilbert e um deles, conhecido como Entscheidungsproblem, motivou diversos estudos que contribuíram significativamente para a construção do conceito de computação moderna. Os trabalhos desenvolvidos nos anos seguintes, apresentaram propostas de vários modelos de máquinas de computar, a saber: Máquinas de Turing, Máquinas de Post, Máquinas de Registradores, -Cálculo e Autômatos com Pilhas. Tendo como base o conceito de máquinas de registradores, em particular, a máquina NORMA, este trabalho visa desenvolver um simulador para essa estrutura que possa ser utilizado como ferramenta didática em componentes curriculares de computabilidade ou teoria da computação. Pesquisando em literatura apropriada encontramos alguns simuladores de máquina NORMA dos quais comentamos um pouco na seção 2.4. Entre eles, o que mais se destaca é o simulador desenvolvido pelo Prof. Rodrigo Machado (UFRGS). O diferencial da nossa proposta é justamente tentar facilitar o máximo possível a sintaxe das estruturas a serem programadas no simulador a fim de tornar mais simples a experiência do usuário. A fim de alcançar esse objetivo, utilizamos procedimentos da Engenharia de Software, começando pela definição do modelo de desenvolvimento de software a ser utilizado, tendo sido selecionado o processo Cascata. Esta escolha justifica-se pois este modelo sugere uma abordagem sequencial e sistemática e, além disso, os requisitos são bem definidos e estáveis. Com isso, iniciamos pelo levantamento de requisitos e em seguida realizamos a fase de planejamento, na qual definimos o cronograma e verificações de status de desenvolvimento. Na etapa de modelagem fizemos a análise e o projeto, seguindo para codificação e por último, foram realizados testes de código e com usuários onde obtivemos alguns feedbacks com relação ao software e suas funcionalidades, concluindo assim o processo. Além disso, foram utilizadas técnicas de qualidades para garantir que o simulador desenvolvido tivesse a qualidade e usabilidade adequadas. O simulador foi desenvolvido na linguagem Python e também foi desenvolvida uma interface para interação do usuário, contendo as funcionalidades presentes no software. Destacamos que a ferramenta oferece suporte para programar por meio de estruturação iterativa, sendo assim, a maioria das estruturas internas são testes condicionais e laços de repetição, visando facilitar a forma de programar, bem como otimizar o tempo gasto para isso.
publishDate 2019
dc.date.issued.fl_str_mv 2019-11-28
dc.date.accessioned.fl_str_mv 2020-02-27T12:59:45Z
dc.date.available.fl_str_mv 2020-02-27T12:59:45Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv SANTOS, Guilherme Souza. SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA. Orientador: Letícia Gindri. 2019. 77 p. Trabalho de Conclusão de Curso (Bacharel em Engenharia de Software) - Universidade Federal do Pampa, Curso de Engenharia de Software, Alegrete, 2019.
dc.identifier.uri.fl_str_mv https://dspace.unipampa.edu.br/jspui/handle/riu/4839
identifier_str_mv SANTOS, Guilherme Souza. SiNo: Uma ferramenta didática de apoio para o ensino de máquina NORMA. Orientador: Letícia Gindri. 2019. 77 p. Trabalho de Conclusão de Curso (Bacharel em Engenharia de Software) - Universidade Federal do Pampa, Curso de Engenharia de Software, Alegrete, 2019.
url https://dspace.unipampa.edu.br/jspui/handle/riu/4839
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Pampa
dc.publisher.initials.fl_str_mv UNIPAMPA
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Campus Alegrete
publisher.none.fl_str_mv Universidade Federal do Pampa
dc.source.none.fl_str_mv reponame:Repositório Institucional da UNIPAMPA
instname:Universidade Federal do Pampa (UNIPAMPA)
instacron:UNIPAMPA
instname_str Universidade Federal do Pampa (UNIPAMPA)
instacron_str UNIPAMPA
institution UNIPAMPA
reponame_str Repositório Institucional da UNIPAMPA
collection Repositório Institucional da UNIPAMPA
bitstream.url.fl_str_mv https://repositorio.unipampa.edu.br/bitstreams/3421b30a-12f8-45ce-8e5b-54bbd54320bf/download
https://repositorio.unipampa.edu.br/bitstreams/94f4efff-4052-4a3b-a10f-c6bb705e6071/download
https://repositorio.unipampa.edu.br/bitstreams/164eb672-fbf8-4939-b729-350da6cdead9/download
bitstream.checksum.fl_str_mv 232681860c33fd4f69bc63a150905f1b
b82c9fe33f9670a2e22fba05e842a4e6
43cd690d6a359e86c1fe3d5b7cba0c9b
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)
repository.mail.fl_str_mv sisbi@unipampa.edu.br
_version_ 1848608554473226240