Executando verificação de segurança...
19

Pitch: AuroraLogo, uma linguagem de programação didática.

Olá! Sou novo aqui no TabNews. Meu nome é David Buzatto e sou professor atualmente lotado no câmpus São João da Boa Vista do Instituto Federal de Educação, Ciência e Tecnologia de São Paulo. Há alguns meses desenvolvi uma linguagem de programação de cunho didático e estou postando esse novo conteúdo para que a conheçam.

Segue abaixo a apresentação da mesma, os links para download e para um tutorial que gravei no meu canal do YouTube, onde eu também documentei quase todo o processo de desenvolvimento.

Dentro do próprio ambiente há uma série de exemplos para que o pontapé inicial possa ser dado por quem já conhece algo sobre programação.

Críticas e sugestões são super bem-vindas!


A linguagem de programação AuroraLogo é desenvolvida e mantida pelo Prof. Dr. David Buzatto do Instituto Federal de Educação, Ciência e Tecnologia de São Paulo.
O objetivo a mesma é ser usada como uma linguagem de programação didática no apoio ao ensino de programação de computadores, permitindo que os alunos usem construções próximas à linguagem natural para fornecer comandos à uma tartaruga.
Essa linguagem tem como fonte de inspiração a linguagem Logo e foi nomeada assim em homenagem à Aurora Buzatto, filha do autor da linguagem, pois a motivação inicial foi o desenvolvimento de um ambiente de programação para ensinar a Aurora a programar futuramente.

Página do projeto: https://github.com/davidbuzatto/AuroraLogo

Tutorial de apresentação: https://www.youtube.com/watch?v=_72eHn1f3og

Canal no YouTube: https://www.youtube.com/channel/UCtuPFOgX47mBfNoG4gXgjfA

Carregando publicação patrocinada...
2
1
2
2
2
2
1
2
1
2

Parabéns e sucesso na implementação para aprendizado.

Considero a linguagem uma ótima opção para o aprendizado (cumprindo o propósito do Seymour ao criá-la no MIT). O feedback visual e o tom de brincadeira estando no controle de uma tartaruga é muito legal.

Minha área não é educação mas não consigo ver muito sentido nas traduções dos comandos das linguagens (seja AuroraLogo, Portugol, etc.). Um manual traduzido dizendo que forward n move a tartaruga n passos para frente, right 90 gira a tartaruga no sentido horário 90º e assim vai, seria o suficiente para alguém que sabe ler. Já aproveita e tem um primeiro contato com inglês (mais tarde será necessário). Finalmente, se procurar algo sobre Logo na internet (utdallas), terá que fazer a conversão e pode não gostar de saber que tinha que escrever girar em 90 graus . e na original poderia ser apenas right 90 ou rt 90.

1

Oi Guaracy, bom dia. Sim, é baseada no trabalho do Papert, mas não é para ser igual. Eu sou professor há quase 20 anos e tentei endereçar os problemas que enfrento, ainda mais, a linguagem é para crianças que estão sendo alfabetizadas e tem o objetivo de se aproximar o máximo possível da nossa linguagem natural. Claro que as instruções poderiam ser resumidas, poderiam ser em inglês que é uma lingua mais enxuta que o português e o padrão da indústria e da ciência como um todo, poderia mapear exatamente as instruções da linguagem Logo, mas, de novo, o propósito é ensinar lógica para uma criança e não ser uma cópia da Logo. Se fosse para ser cópia eu nem faria :D

A linguagem suporta a criação de funções, arrays, arrays associativos, recursividade para, dependendo do caso, apresentar de forma mais lúdica a jovens, mas em um curso de graduação, mesmo num técnico, a linguagem de programação "real" tem que ser o objeto principal do estudo.

Abraço!

2

Caraca, que grande história dessa linguagem e que legal ver uma linguagem de programação feito por brasileiro e sendo reconhecida em uma plataforma com um potencial grande de atingir um grande futuro público!

1
2

Iniciativa muito boa - com toda certeza reduz e muito a barreira para quem está começando do absoluto zero. E no contexto infantil, ajuda demais!
Parabéns!

Uma coisa que fiquei curioso foi a respeito do desenvolvimento do compilador/interpretador da linguagem - seria muito massa um vídeo apresentando o código e as decisões que foram tomadas no desenvolvimento.
Vi que interpretador é em Java - muito bom!

1

Oi Júlio, boa tarde.

Eu ministro uma disciplina de construção de compiladores e é uma das minhas áreas favoritas na Ciência da Computação. A linguagem AuroraLogo é interpretada. O parser (analisador sintático) foi escrito usando ANTLR e a gramática pode ser vista aqui: https://github.com/davidbuzatto/AuroraLogo/blob/main/gramatica/AuroraLogo.g4

Inclusive, a gramática é algo que eu preciso reescrever para as futuras versões, pois está complicada em demasia, poderia ser mais enxuta. O processo de execução das instruções e construções da linguagem é feito durante o percurso da árvore de análise sintática gerada pelo parser. Eu uso o padrão Visitor, mas pode-se implementar usando Observer. A cada nó visitado, há um método de alguma classe que resolve o que determinada instrução em AuroraLogo deve executar. Seria nesses passos que eu geraria outra linguagem caso fosse um compilador. A implementação dos visitors está aqui https://github.com/davidbuzatto/AuroraLogo/tree/main/src/br/com/davidbuzatto/auroralogo/parser/impl/visitors

Na disciplina que ministro a gente implementa um compilador de fato, que gera linguagem assembly para uma máquina virtual baseada em pilha. Aí forneço o montador que vai transformar o assembly nos opcodes da VM.

1

Isso é muito massa!
Gostaria (e ficaria muito feliz) de ver esses conteúdos por aqui no tab-news!
Compiladores foi uma disciplina que gostei muito - inclusive irei fazer uma reciclagem de estudos.
Vi que em seu canal tem umas aulas lá!

Um grande abraço, professor.


Meu site: www.juliomiguel.me

1

Tem as aulas dos anos da pandemia. Estão bem cansativas, foram feitas pra quebrar galho. Presencial é melhor kkk. Vou ver se animo pra escrever uns artigos aqui pro TabNews. Abraço!

2

Que massa essa linguagem, eu vi um pouco a documentação dela e é bem intuitiva! 😍

Uma observação que eu tenho pra fazer é que as imagens da segunda página da documentação estão quebradas (ainda não cheguei a ver páginas mais a frente).

E outra é que eu alterei o título da publicação para adicionar a tag Pitch:, que é uma tag que deve ser usada quando você fizer a apresentação de um projeto que você esteja diretamente envolvido.

Ainda não tenho filhos ou sobrinhos hahah, mas tenho alguns primos pequenos e espero usar essa linguagem para ensinar o básico de lógica de programação a eles. 🤝

1

Oi Gabriel, boa tarde. Sobre à tag, obrigado!

A documentação eu não consegui terminar. Meu semestre foi bem corrido e agora estou com disciplinas novas para ministrar ano que vem, então o foco está em preparar material. Assim que eu tiver um tempo eu vou terminar a documentação com as funcionalidades básicas. Os exemplos dentro do ambiente já são um ponta-pé inicial caso queira testar.

Obrigado!

2

Muito bacana, e parabéns por focar em ensinar sua filha a programar desde cedo! Espero que ela tenha um futuro brilhante nessa área!

1