We may earn an affiliate commission when you visit our partners.
Course image
Giovanni Reboucas

O nosso curso se propõe a apresentar os conceitos iniciais de programação ao mesmo tempo em que introduz a estrutura e instruções iniciais da linguagem Lua, a primeira linguagem de programação brasileira e uma das mais utilizadas no desenvolvimento de jogos.

Esse curso é para você que:

  • Quer aprender a programar com uma linguagem simples

  • Já sabe programar, mas tem interesse em conhecer a linguagem Lua

  • No futuro gostaria de estudar Desenvolvimento de Jogos

Read more

O nosso curso se propõe a apresentar os conceitos iniciais de programação ao mesmo tempo em que introduz a estrutura e instruções iniciais da linguagem Lua, a primeira linguagem de programação brasileira e uma das mais utilizadas no desenvolvimento de jogos.

Esse curso é para você que:

  • Quer aprender a programar com uma linguagem simples

  • Já sabe programar, mas tem interesse em conhecer a linguagem Lua

  • No futuro gostaria de estudar Desenvolvimento de Jogos

O objetivo deste curso é introduzir os conceitos básicos de programação através da linguagem Lua, permitindo o aprofundamento em programação e na linguagem em si. Para isso, serão apresentados exemplos e aplicações da Linguagem Lua para solução de problemas simples e para familiarização com a linguagem.

Ao final deste curso, você:

  • Terá absorvido os fundamentos teóricos e práticos sobre lógica de programação;

  • Será capaz de criar programas que lidem com tomadas de decisão simples, operações lógicas, operações matemáticas básicas e intermediárias e operações de manipulação simples de textos; e

  • Dominará os conceitos básicos relacionados à linguagem Lua, dando início à sua jornada em Lua.

O curso está organizado em 10 tópicos com vídeoaulas explicativas que são contidas por sí para que você possa aprender no seu ritmo. As aulas abordam desde tópicos mais simples, como a instalação da ferramenta a ser utilizada durante o curso, passando por operações aritméticas, funções, entrada e saída, repetição, e tópicos mais sofisticados como tomadas de decisão e operações com vetores, tabelas, matrizes, módulos e tratamento de erros.

Todas as aulas possuem ao menos um exercício prático, que permite ao aluno exercitar os conceitos.

Enroll now

What's inside

Learning objectives

  • Lógica de programação
  • Linguagem lua
  • Algoritmos, variáveis, tipos e valores
  • Fluxo de controle e condicionais
  • Estruturas de dados: vetores e matrizes
  • Boas práticas e comentários
  • Operadores artiméticos, relacionais e lógicos
  • Estruturas de repetição
  • Strings e manipulação de strings
  • Funções de entrada e saída (i/o) - conversando com o usuário
  • Tabelas e iterators
  • Módulos
  • Erros e tratamento de erros
  • Show more
  • Show less

Syllabus

Instalar e configurar a IDE que será utilizada durante o decorrer do curso.

Uma explicação breve sobre a estrutura do curso e uma apresentação do instrutor

Read more

Um passo-a-passo de como e de onde baixar a IDE que usaremos (ferramenta) e então uma breve explicação de como instalar a mesma

Configurações iniciais da IDE que são imperativas para o funcionamento correto da IDE. O nosso primeiro programa em Lua, o famoso "Hello, World!"

Um passo-a-passo de como mudar o idioma da interface da IDE.

Um passo-a-passo de como mudar o esquema de cores da interface da IDE para um que lhe agrade mais.

Nesta aula vamos falar sobre o que é e a história do Lua, e vamos mostrar locais de referência confiáveis.

Nessa aula iremos falar sobre a premissa básica da programação, o que são algoritmos, como fazer um programa básico, variáveis, tipos e tipagem dinâmica.

Questionário de 5 questões simples de verdadeiro ou falso sobre o embasamento teórico relacionado a Lua, algoritmos, programação, variáveis e tipos

Nessa aula iremos falar sobre variáveis, tipos e valores.

Nesta aula iremos falar sobre boas práticas e convenções de nomenclatura de variáveis e funções, sobre palavras reservadas e o Guia de Estilo de Lua.

Nessa aula iremos falar sobre o que são e como fazer comentários, e iremos falar sobre identação.

Leia o enunciado e tente fazer o exercício. A solução e o ponto de partida se encontram disponíveis abaixo

Nessa aula falaremos sobre tipos e classes de operadores existentes em Lua, e falaremos especificamente sobre operadores aritméticos e operadores de atribuição.

Nessa aula falaremos sobre outra classe de operadores, os operadores relacionais e falaremos sobre a precedência de operadores.

Leia o enunciado e tente fazer o exercício. A solução se encontra disponível abaixo

Nessa aula falaremos sobre a última classe de operadores, os operadores lógicos e como podemos usa-los no que chamamos de Estruturas Condicionais.

Nessa aula falaremos sobre o que é e como podemos usar as estruturas de repetição para diminuir a quantidade de código repetido e facilitar o nosso trabalho.

O que são, como usar, como definir e para que servem o que chamamos de Funções

Nessa aula falaremos sobre strings e funções do módulo String cujo intuito é manipular strings

Nessa aula falaremos sobre funções de entrada e saída, que visam receber e fornecer informação ao usuário.

Nessa aula falaremos sobre arrays unidimensionais, também conhecidos como vetores. Falaremos o que são, para que servem, como criar um vetor e como acessar e editar os elementos do mesmo

Nessa aula falaremos sobre arrays bidimensionais, também conhecidos como matrizes. Falaremos o que são, para que servem, como criar uma matriz e como acessar e editar os elementos do mesmo

Nessa aula falaremos sobre tabelas, as maneiras como podemos indexá-las, como podemos adicionar, remover e acessar os valores e falar sobre construtores.

Nessa aula falaremos sobre iterators, uma ferramente utilizada para poder caminhar sobre tabelas de uma maneira rápida e intuitiva.

Nessa aula falaremos sobre o que são módulos, para que servem, como carregar, utilizar e desenvolver seu próprio módulo

Nessa aula falaremos sobre tipos de erros, execuçao protegida, como sinalizar erros, como tratar erros e funções xpcall e pcall

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Introduces fundamental programming concepts using Lua, which is known for its simplicity and use in game development, making it ideal for beginners
Covers a wide range of topics, from basic syntax and data structures to more advanced concepts like error handling and modules, providing a solid foundation
Includes practical exercises in each lesson, allowing learners to immediately apply what they've learned and reinforce their understanding of Lua
Explores data structures like vectors and matrices, which are essential for game development and other applications requiring data organization
Teaches good programming practices and commenting, which are essential for writing maintainable and understandable code, especially in collaborative projects
Focuses on Lua, a Brazilian programming language widely used in game development, offering a unique perspective and potentially opening doors to specific industry opportunities

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Introdução aos fundamentos de programação e lua

Segundo os alunos (inferido do conteúdo do curso), este curso fornece uma sólida introdução aos fundamentos de programação e à linguagem Lua. É ideal para iniciantes completos e para quem deseja uma base para desenvolvimento de jogos. Os conceitos básicos como variáveis, controle de fluxo e funções são apresentados de forma clara. O curso também aborda funcionalidades específicas do Lua, como tabelas e módulos. As aulas incluem exercícios práticos que ajudam a fixar o aprendizado. Para quem já tem experiência em programação, algumas partes podem ser muito introdutórias. No geral, é um bom ponto de partida para explorar a linguagem Lua.
Ponto de partida para game dev.
"Escolhi este curso porque quero desenvolver jogos, e ele parece dar a base necessária em Lua."
"Me deu a confiança para começar a explorar motores de jogos que usam a linguagem."
Cobrindo tabelas e módulos.
"A explicação sobre tabelas em Lua foi bem feita e importante para mim."
"Entender como criar e usar módulos foi um ponto alto do curso."
"O curso abordou bem as peculiaridades da linguagem Lua."
Ajuda a aplicar o conhecimento.
"Os exercícios depois de cada aula são essenciais para realmente absorver o conteúdo."
"Gostei que pude colocar a mão na massa imediatamente."
"Os desafios eram adequados para reforçar o que foi ensinado nos vídeos."
Introdução clara para iniciantes.
"A forma como os conceitos básicos de programação foram explicados facilitou muito meu aprendizado inicial."
"Consegui entender bem o que são variáveis, como usar 'if' e 'for' mesmo sem experiência."
"Uma boa base teórica e prática para quem nunca programou."
Pode ser lento para alguns.
"Como eu já tinha alguma base, as primeiras aulas foram muito, muito básicas para mim."
"Não é ideal se você já sabe programar e só quer aprender Lua rapidamente."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introdução à Programação Utilizando LUA with these activities:
Revisar Lógica de Programação
Refresque seus conhecimentos sobre lógica de programação para melhor compreender os conceitos iniciais da linguagem Lua.
Show steps
  • Releia seus materiais de estudo anteriores sobre lógica de programação.
  • Resolva exercícios básicos de lógica para relembrar os fundamentos.
  • Revise os conceitos de algoritmos, variáveis e estruturas de dados.
Ler 'Lua Quick Start Guide'
Obtenha uma visão geral da linguagem Lua com este guia rápido para iniciantes.
Show steps
  • Adquira o livro 'Lua Quick Start Guide' de Ricardo Nabinger Sanchez.
  • Leia os capítulos sobre os fundamentos da linguagem Lua.
  • Experimente os exemplos de código do livro.
Ler 'Programação em Lua'
Aprofunde seus conhecimentos sobre a linguagem Lua com este livro abrangente.
Show steps
  • Adquira o livro 'Programação em Lua' de Roberto Ierusalimschy.
  • Leia os capítulos iniciais sobre a sintaxe e os tipos de dados da linguagem.
  • Experimente os exemplos de código do livro no seu ambiente Lua.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Praticar exercícios de manipulação de strings em Lua
Reforce suas habilidades de manipulação de strings, um tópico essencial em programação.
Show steps
  • Encontre exercícios online sobre manipulação de strings em Lua.
  • Resolva os exercícios, focando em funções como `string.sub`, `string.find` e `string.gsub`.
  • Teste suas soluções com diferentes entradas para garantir a correção.
Ajudar outros alunos no fórum do curso
Reforce seu aprendizado ajudando outros alunos com suas dúvidas e problemas.
Show steps
  • Acompanhe o fórum do curso regularmente.
  • Responda às perguntas dos outros alunos, compartilhando seu conhecimento.
  • Explique os conceitos de forma clara e concisa.
Criar um guia de referência rápida para funções Lua
Consolide seu conhecimento criando um guia de referência para as funções Lua mais importantes.
Show steps
  • Selecione as funções Lua mais relevantes para o curso.
  • Escreva uma breve descrição de cada função, incluindo exemplos de uso.
  • Organize o guia de forma clara e concisa para facilitar a consulta.
  • Compartilhe seu guia com outros alunos para obter feedback.
Desenvolver um jogo simples em Lua
Aplique seus conhecimentos em um projeto prático, desenvolvendo um jogo simples para consolidar o aprendizado.
Show steps
  • Escolha um jogo simples, como um jogo da velha ou um jogo de adivinhação.
  • Planeje a estrutura do jogo, definindo as funções e variáveis necessárias.
  • Implemente o jogo em Lua, testando cada funcionalidade individualmente.
  • Adicione comentários ao código para facilitar a compreensão.

Career center

Learners who complete Introdução à Programação Utilizando LUA will develop knowledge and skills that may be useful to these careers:
Desenvolvedor de Jogos
Um Desenvolvedor de Jogos cria e programa elementos interativos de um jogo. Este curso ajuda a construir uma base sólida em lógica de programação, essencial para o desenvolvimento de jogos. O curso em LUA, uma linguagem amplamente utilizada no desenvolvimento de jogos, o torna particularmente relevante. O conhecimento de estruturas de dados como vetores e matrizes ensinadas no curso é fundamental para o desenvolvimento de jogos. Além disso, o tratamento de erros e a modularização, também abordados, são aspectos cruciais no desenvolvimento de jogos eficazes e robustos. O curso oferece uma oportunidade de aprender os conceitos básicos de programação através da linguagem Lua, permitindo o aprofundamento em programação e na linguagem em si.
Programador de Software
Um Programador de Software escreve, testa e mantém código de software. Este curso pode ser útil para um aspirante a Programador de Software, pois fornece uma introdução prática aos conceitos de programação. O domínio dos fundamentos teóricos e práticos sobre lógica de programação, fluxos de controle, estruturas de dados e operadores lógicos são habilidades valiosas para qualquer programador. O curso oferece uma visão geral da linguagem Lua, que pode ser útil para programadores que trabalham em ambientes onde Lua é utilizada. Além disso, o curso aborda tópicos como tratamento de erros e modularização, que são importantes para o desenvolvimento de software de alta qualidade. Dominar os conceitos básicos relacionados à linguagem Lua pode dar início à sua jornada em programação de software.
Testador de Software
Um Testador de Software planeja, cria e executa testes de software. Este curso pode ser útil para um Testador de Software, pois fornece uma compreensão dos conceitos de programação e lógica. Conhecer os fundamentos da lógica de programação e as estruturas de dados ajuda a criar casos de teste eficazes. O curso aborda tópicos como tomadas de decisão, operações lógicas e tratamento de erros, que são importantes para entender o comportamento do software. A capacidade de criar programas que lidem com tomadas de decisão simples, operações lógicas, operações matemáticas básicas e intermediárias e operações de manipulação simples de textos pode melhorar a capacidade de testar o software de forma eficaz. O curso pode ajudar os Testadores de Software a entender melhor o código e a identificar possíveis problemas.
Designer de Games
Um Designer de Games é responsável por conceituar e projetar os elementos de um jogo. Este curso pode ser útil para um Designer de Games, pois fornece uma compreensão básica da lógica de programação e das estruturas de dados. O conhecimento de como os jogos são programados pode ajudar os designers a criar projetos mais realistas e viáveis. Dominar os fundamentos teóricos e práticos sobre lógica de programação pode aprimorar a capacidade de criar experiências de jogo envolventes. O curso oferece uma introdução à linguagem Lua, que é amplamente utilizada no desenvolvimento de jogos, o que pode ser útil para designers que desejam entender melhor o processo de desenvolvimento. Saber sobre vetores e tabelas pode melhorar a capacidade de criar sistemas de jogos eficazes e intuitivos.
Analista de Sistemas
Um Analista de Sistemas analisa os sistemas de informação de uma organização e propõe soluções para melhorar a eficiência. Este curso pode ser útil para um Analista de Sistemas, pois fornece uma compreensão dos conceitos de programação e das estruturas de dados. A capacidade de entender como os sistemas são desenvolvidos e como os dados são armazenados e processados pode ajudar os analistas a identificar problemas e propor soluções eficazes. O curso aborda tópicos como lógica de programação, estruturas de dados e tratamento de erros, que são importantes para o desenvolvimento de sistemas de alta qualidade. Ter absorvido os fundamentos teóricos e práticos sobre lógica de programação, fluxo de controle e condicionais pode fortalecer a capacidade de analisar sistemas complexos.
Administrador de Banco de Dados
Um Administrador de Banco de Dados é responsável por gerenciar e manter os bancos de dados de uma organização. Este curso pode ser útil para um Administrador de Banco de Dados, pois fornece uma compreensão básica da lógica de programação e das estruturas de dados. A capacidade de entender como os dados são armazenados e processados pode ajudar os administradores a otimizar o desempenho do banco de dados e a garantir a integridade dos dados. O curso aborda tópicos como estruturas de dados, manipulação de strings e tratamento de erros, que são importantes para o gerenciamento de bancos de dados eficaz. Ser capaz de criar programas que lidem com operações de manipulação simples de textos e operações matemáticas básicas e intermediárias pode melhorar a capacidade de gerenciar dados de forma eficaz.
Engenheiro de Automação
Um Engenheiro de Automação projeta e implementa sistemas automatizados para melhorar a eficiência e a produtividade. Este curso pode ser útil para um Engenheiro de Automação, pois fornece uma compreensão dos conceitos de programação e da lógica. A capacidade de programar sistemas automatizados pode ajudar os engenheiros a criar soluções mais eficazes e personalizadas. O curso aborda tópicos como fluxo de controle, estruturas de dados e tratamento de erros, que são importantes para o desenvolvimento de sistemas automatizados confiáveis. Dominar os conceitos básicos relacionados à linguagem Lua pode ajudar a desenvolver sistemas automatizados mais eficientes.
Analista de Dados
Um Analista de Dados coleta, processa e analisa dados para identificar tendências e insights. Este curso pode ser útil para um Analista de Dados, pois fornece uma compreensão básica da lógica de programação e das estruturas de dados. A capacidade de programar scripts para processar e analisar dados é uma habilidade valiosa para qualquer analista de dados. O curso aborda tópicos como estruturas de dados, manipulação de strings e funções de entrada e saída, que são importantes para o processamento de dados eficaz. Ter absorvido os fundamentos teóricos e práticos sobre lógica de programação pode fortalecer a capacidade de analisar dados de forma eficaz.
Consultor de Inovação
Um consultor de inovação auxilia empresas ou negócios na implementação de soluções inovadoras. As vídeoaulas explicativas contidas neste curso podem ser úteis a um consultor de inovação na medida em que ele pode aprender tópicos básicos, como instalar e configurar a IDE que será utilizada durante o decorrer do curso, a historia da linguagem Lua, tipos, tipagem dinâmica e coletor de lixo. O domínio dos conteúdos deste curso pode aprimorar a capacidade de Consultores de Inovação de analisar sistemas complexos e criar programas que lidem com tomadas de decisão simples, operações lógicas e operações de manipulação simples de textos.
Robotics Engineer
Robotics Engineers design, construct, and program robots and automated systems. This course may be useful for a Robotics Engineer, as it provides a practical introduction to programming concepts and the Lua language, which can be used for robot control and automation tasks. The knowledge of data structures like vectors and matrices taught in the course is fundamental for robot control systems. The course's coverage of error handling and modularization equips engineers with essential skills for developing reliable robotic systems. This course, with its focus on Lua, can give you a head start in robotics.
Cientista de Dados
Um Cientista de Dados utiliza técnicas de programação e estatística para analisar grandes conjuntos de dados e extrair informações valiosas. Normalmente, essa função exige um mestrado ou doutorado. Este curso pode ser útil para um Cientista de Dados, pois fornece uma base em programação, essencial para trabalhar com dados. A capacidade de programar algoritmos para análise de dados é fundamental para essa função. O curso aborda lógica de programação, estruturas de dados (como vetores e matrizes) e tratamento de erros, habilidades aplicáveis na ciência de dados. A familiaridade com a linguagem Lua, embora não seja a principal linguagem na ciência de dados, pode ser um diferencial em certos projetos. Ser capaz de criar programas que lidem com tomadas de decisão simples, operações lógicas, operações matemáticas básicas e intermediárias e operações de manipulação simples de textos pode melhorar a capacidade de processamento de dados.
Consultor de Tecnología
Um Consultor de Tecnologia auxilia empresas na implementação de soluções tecnológicas para melhorar seus negócios. Este curso pode ser útil para um Consultor de Tecnologia, pois fornece uma compreensão básica da lógica de programação e das estruturas de dados. A capacidade de entender como os sistemas são desenvolvidos e como os dados são armazenados e processados pode ajudar os consultores a identificar problemas e propor soluções eficazes. O curso aborda tópicos como lógica de programação, estruturas de dados e tratamento de erros, que são importantes para o desenvolvimento de sistemas de alta qualidade. Ter absorvido os fundamentos teóricos e práticos sobre lógica de programação, fluxo de controle e condicionais pode fortalecer a capacidade de Consultores de Tecnologia de analisar sistemas complexos.
Técnico em Informática
Técnicos em Informática fornecem suporte técnico, instalam software e hardware e resolvem problemas de informática. Este curso pode ser útil para um Técnico em Informática, pois fornece uma compreensão básica da lógica de programação e da solução de problemas. Mesmo que a programação não seja a principal função de um técnico, entender a lógica por trás dos softwares pode ajudar na resolução de problemas e na configuração de sistemas. O curso aborda a lógica de programação, estruturas de dados e tratamento de erros, habilidades úteis para diagnosticar e solucionar problemas de informática. Dominar os conceitos básicos relacionados à linguagem Lua pode reforçar o raciocínio lógico e a capacidade de resolver problemas. Ao final deste curso, será capaz de criar programas que lidem com tomadas de decisão simples, operações lógicas, operações matemáticas básicas e intermediárias e operações de manipulação simples de textos.
Software Architect
A person in the Software Architect role designs the high-level structure of software systems, making key decisions about technology and design patterns. Typically, Software Architects hold advanced degrees. The course may be useful for a Software Architect, as it provides a foundational understanding of programming logic, control flow, data structures, and modularity. This knowledge aids in making informed decisions about system design and architecture. The course's instruction on error handling, in particular are crucial for desiging reliable systems. Gaining a grasp of the fundamentals of programming enhances your capacity as an architect to design a software system structure.
Web Designer
Um Web Designer cria o layout visual de websites, focando na estética e na experiência do usuário. Dominar os fundamentos teóricos e práticos sobre lógica de programação pode aprimorar a capacidade de criar designs interativos e intuitivos. Este curso pode ser útil, pois uma compreensão básica da lógica de programação pode ajudar um web designer a entender como os elementos visuais interagem com o código. O curso aborda lógica de programação, manipulação de strings e funções de entrada e saída, habilidades úteis para criar websites dinâmicos e responsivos. O conhecimento da linguagem Lua pode ser útil para criar animações e interações na web. Ser capaz de criar programas que lidem com tomadas de decisão simples e operações de manipulação simples de textos pode melhorar a capacidade de criar websites dinâmicos e responsivos.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introdução à Programação Utilizando LUA.
Este livro é a referência definitiva para a linguagem Lua, escrito por um dos seus criadores. Ele cobre todos os aspectos da linguagem, desde os fundamentos até tópicos avançados. É útil para entender a fundo a linguagem e suas nuances. Este livro é altamente recomendado para quem deseja se aprofundar em Lua.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser