We may earn an affiliate commission when you visit our partners.
Course image
Guilherme Baptista

Você encontrou o curso de Lua.

Aqui você vai poder aprender a programar do zero com uma linguagem que é extremamente simples e também uma das mais utilizadas no desenvolvimento de jogos.

Eu trabalho com programação há mais de uma década, passei por várias grandes empresas de tecnologia no Brasil e sou apaixonado por linguagens de programação.

Este curso foi criado para ir direto ao ponto e te dar o conhecimento que você precisa para sair programando em Lua.

Read more

Você encontrou o curso de Lua.

Aqui você vai poder aprender a programar do zero com uma linguagem que é extremamente simples e também uma das mais utilizadas no desenvolvimento de jogos.

Eu trabalho com programação há mais de uma década, passei por várias grandes empresas de tecnologia no Brasil e sou apaixonado por linguagens de programação.

Este curso foi criado para ir direto ao ponto e te dar o conhecimento que você precisa para sair programando em Lua.

Ao final do curso você será capaz de resolver problemas com a linguagem, trabalhar com listas, tables, textos, criar o seu próprio programa e ser capaz de ir evoluindo o seu código de maneira organizada.

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 curso foi dividido para mostrar na prática como resolver problemas com os principais tipos de dados. Você vai aprender:

  • Linguagem Lua

  • Lógica de Programação

  • Fluxo de Controle e Condicionais

  • Manipulação de Textos

  • Estruturas de Dados

  • Laços e Iterações

  • Algoritmos Essenciais: Map, Reduce e Filter

  • Tables, Arrays e Dicionários

  • Criação de Funções

  • Organização em Pacotes

  • Interface de Linha de Comando (CLI)

Confira as aulas de demonstração para saber o que esperar do curso e confira também a grade que mostra em detalhes o que será estudado.

Espero que você goste do conteúdo, te espero lá.

Enroll now

What's inside

Syllabus

Preparar o seu ambiente de desenvolvimento e alinhar expectativas sobre o que esperar do curso.
O que esperar deste curso?
Instalando Lua no Linux
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a foundation in Lua, a scripting language commonly used in game development, making it a practical starting point for aspiring game developers
Offers a quick ramp-up for programmers familiar with other languages who want to learn Lua, focusing on practical application and problem-solving
Covers fundamental programming concepts like data structures, control flow, and algorithms, which are essential for students studying computer science
Explores essential algorithms such as map, reduce, and filter, which are foundational concepts in functional programming and data processing
Teaches how to organize code into packages, which is a crucial skill for maintaining large projects and collaborating with other developers
Includes coverage of command-line interface (CLI) development, which is a valuable skill for automating tasks and building developer tools

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 prática à programação em lua

De acordo com os alunos, este curso é uma ótima introdução à linguagem Lua, especialmente para quem está começando a programar do zero. A abordagem é direta ao ponto, cobrindo os fundamentos essenciais como sintaxe, tipos de dados, controle de fluxo e, notavelmente, a manipulação de tables. Muitos apreciaram o foco na prática e a inclusão de exemplos e um pequeno projeto final (CLI). É considerado ideal para iniciantes ou para quem busca uma base rápida em Lua, talvez com interesse futuro em desenvolvimento de jogos. Embora cubra bem o básico, alguns sentiram que poderia se aprofundar mais em tópicos avançados.
Muitos exemplos e exercícios aplicados.
"Os exemplos apresentados são práticos e ajudam muito a entender como aplicar os conceitos."
"A parte de resolução de problemas e a criação da pequena CLI no final solidificam o aprendizado."
"Gostei que cada tópico vinha acompanhado de demonstrações em código."
Abordagem objetiva e sem enrolação.
"Gostei muito que o curso vai direto ao que interessa, sem perder tempo com teorias complexas."
"Ensina o essencial de Lua de maneira rápida e eficiente para começar a praticar."
"A didática é ótima, focada em mostrar como fazer as coisas na prática."
Base sólida nos principais conceitos de Lua.
"O curso abrange bem a sintaxe básica, tipos de dados, estruturas de controle e, o mais importante em Lua, as tables."
"Saio com uma boa compreensão dos pilares da linguagem, como functions e manipulação de strings."
"Aprendi a usar laços (for, while) e condicionais (if/else) de forma eficaz."
Curso muito acessível para quem nunca programou.
"Para quem está dando os primeiros passos na programação, este curso é perfeito e fácil de acompanhar."
"Nunca programei antes, mas o instrutor explica de forma clara e didática para iniciantes."
"Senti que o curso foi feito pensando em quem realmente parte do zero, abordando tudo de forma simples."
Alguns tópicos poderiam ser mais detalhados.
"Para quem já tem alguma experiência, o curso pode parecer básico demais em certas partes."
"Senti que alguns temas poderiam ter um pouco mais de profundidade ou exemplos mais complexos."
"Gostaria de ver módulos sobre tópicos mais avançados da linguagem ou bibliotecas comuns."

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 Aprenda a programar em Lua do zero with these activities:
Revisar Lógica de Programação
Refresque seus conhecimentos em lógica de programação para entender melhor os conceitos e a sintaxe da linguagem Lua.
Show steps
  • Revisar os conceitos básicos de algoritmos e estruturas de dados.
  • Resolver exercícios simples de lógica de programação.
  • Revisar os conceitos de variáveis, tipos de dados e operadores.
Ler 'Lua Quick Start Guide'
Obtenha uma introdução rápida e prática à linguagem Lua com este guia.
Show steps
  • Ler os capítulos introdutórios sobre a linguagem Lua.
  • Executar os exemplos de código e experimentar com a linguagem.
  • Utilizar o guia como referência rápida para os principais conceitos.
Ler 'Programação em Lua'
Aprofunde seus conhecimentos sobre a linguagem Lua com este livro abrangente.
Show steps
  • Ler os capítulos introdutórios sobre a linguagem Lua.
  • Estudar os exemplos de código e praticar a implementação.
  • Consultar o livro para esclarecer dúvidas e aprofundar o conhecimento.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Praticar exercícios de manipulação de strings
Reforce suas habilidades de manipulação de strings em Lua através de exercícios práticos.
Show steps
  • Resolver exercícios de concatenação, substituição e busca de strings.
  • Implementar funções para formatar e validar strings.
  • Utilizar as funções da biblioteca string para resolver problemas.
Escrever um tutorial sobre Tables em Lua
Compartilhe seu conhecimento sobre Tables em Lua criando um tutorial detalhado.
Show steps
  • Revisar os conceitos de Tables em Lua.
  • Escrever um tutorial explicando como criar, manipular e utilizar Tables.
  • Incluir exemplos de código para ilustrar os conceitos.
  • Publicar o tutorial em um blog ou fórum.
Criar um jogo simples em Lua
Aplique seus conhecimentos de Lua no desenvolvimento de um jogo simples para consolidar o aprendizado.
Show steps
  • Escolher um jogo simples para implementar, como um jogo da forca ou um jogo de adivinhação.
  • Implementar a lógica do jogo utilizando as estruturas de dados e os conceitos aprendidos no curso.
  • Adicionar interface de usuário para tornar o jogo interativo.
  • Testar o jogo e corrigir erros.
Contribuir para um projeto open source em Lua
Aprimore suas habilidades em Lua contribuindo para um projeto open source.
Show steps
  • Encontrar um projeto open source em Lua que te interesse.
  • Analisar o código do projeto e identificar áreas para contribuir.
  • Implementar novas funcionalidades ou corrigir bugs.
  • Submeter suas contribuições para o projeto.

Career center

Learners who complete Aprenda a programar em Lua do zero will develop knowledge and skills that may be useful to these careers:
Desenvolvedor de Jogos
Um Desenvolvedor de Jogos cria jogos para diversas plataformas, desde consoles até dispositivos móveis. Este curso fornece a base essencial em Lua, uma linguagem amplamente utilizada no desenvolvimento de jogos, especialmente com engines como Corona SDK e Defold. Conhecer lógica de programação, manipulação de dados e criação de funções, habilidades ensinadas neste curso, ajuda a criar mecânicas de jogo, implementar inteligência artificial básica e gerenciar a interação do usuário. As aulas sobre estruturas de dados e organização em pacotes também auxiliam na organização e eficiência do código, essenciais para projetos de jogos complexos. Se você deseja entrar no mundo do desenvolvimento de jogos, este curso pode ser seu ponto de partida.
Automatizador de Processos
Um Automatizador de Processos cria scripts e programas para automatizar tarefas repetitivas. Este curso se encaixa bem, uma vez que Lua é uma linguagem de script leve e versátil, ideal para automação. O curso ensina a manipular dados, criar funções e trabalhar com estruturas de dados, habilidades que podem ser usadas para criar scripts que automatizam tarefas em sistemas operacionais e aplicações. O conhecimento de laços e condicionais também é útil para criar scripts que reagem a diferentes situações. Para quem deseja automatizar processos, este curso é um excelente ponto de partida.
Desenvolvedor de Software
Um Desenvolvedor de Software escreve e testa código para aplicações diversas. Este curso fornece uma introdução prática à programação com Lua, uma linguagem conhecida por sua simplicidade e flexibilidade. Dominar os conceitos ensinados no curso, como variáveis, tipos de dados, estruturas de controle e manipulação de textos, ajuda a construir programas funcionais e eficientes. O conhecimento de listas, tabelas e algoritmos como Map, Reduce e Filter permite aos desenvolvedores de software resolver problemas complexos de forma organizada. As habilidades de criação de funções e organização em pacotes também auxiliam no desenvolvimento de código modular e reutilizável. Se você está interessado em se tornar um desenvolvedor de software, este curso pode te ajudar a dar os primeiros passos.
Engenheiro de Software
Um Engenheiro de Software projeta, desenvolve e mantém sistemas de software. Este curso ajuda a construir uma base sólida em lógica de programação e resolução de problemas, essenciais para qualquer engenheiro de software. O aprendizado de estruturas de dados, algoritmos e organização em pacotes, como ensinado no curso, também pode ser útil ao projetar sistemas complexos e escaláveis. A habilidade de criar funções e manipular dados permite aos engenheiros de software desenvolver código modular e eficiente. As operações com laços, concatenação e algoritmos como Map, Reduce e Filter ajudam a resolver problemas de forma mais eficaz. Se você almeja se tornar um engenheiro de software, este curso pode te ajudar a desenvolver habilidades de programação e lógica.
Desenvolvedor Back-End
Um Desenvolvedor Back End constrói a lógica e a infraestrutura por trás de um website ou aplicação. Este curso em Lua pode ser muito útil, já que Lua pode ser usada em algumas aplicações back end, especialmente em sistemas embarcados ou jogos. O curso ajuda a construir uma base sólida em lógica de programação, manipulação de dados e criação de APIs. Aprender sobre estruturas de dados, algoritmos e organização em pacotes ajuda a projetar sistemas escaláveis e eficientes. Se você quer ser um desenvolvedor back end, este curso pode te dar um conhecimento essencial de programação.
Programador de Sistemas Embarcados
Um Programador de Sistemas Embarcados desenvolve software para dispositivos como microcontroladores, eletrodomésticos e sistemas automotivos. Embora Lua não seja a linguagem mais comum nesse campo, sua leveza e capacidade de ser incorporada em outras aplicações a tornam útil em certos contextos. Este curso pode auxiliar no aprendizado de lógica de programação, manipulação de dados e criação de algoritmos, que são habilidades transferíveis para outras linguagens e plataformas usadas em sistemas embarcados. Conhecer estruturas de dados e fluxo de controle também pode ser útil ao otimizar o desempenho do software em dispositivos com recursos limitados. Para quem deseja trabalhar com sistemas embarcados, este curso pode ser um bom começo para dominar os fundamentos da programação.
Testador de Software
Um Testador de Software garante a qualidade e a confiabilidade do software, encontrando e reportando erros. Este curso pode te ajudar a entender como o software é desenvolvido e como ele pode ser testado de forma eficaz. Aprender sobre lógica de programação, estruturas de dados e algoritmos permite que um testador de software crie casos de teste mais abrangentes e identifique possíveis problemas. O conhecimento de funções, laços e manipulação de dados também pode ser utilizado para automatizar testes e criar scripts de teste personalizados. Para quem deseja seguir a carreira de testador de software, este curso pode ser um bom começo para dominar os fundamentos da programação e do teste de software.
Arquiteto de Software
Um Arquiteto de Software projeta a estrutura e o design de sistemas de software complexos. Embora o foco principal seja a arquitetura e o design de sistemas, entender os princípios de programação é fundamental. Este curso, ao ensinar lógica de programação, estruturas de dados e organização em pacotes, ajuda a desenvolver uma compreensão profunda de como o software funciona e como ele pode ser estruturado de forma eficiente. Aprender sobre funções, laços e algoritmos também auxilia na avaliação de diferentes soluções de design e na otimização do desempenho do sistema. Se você sonha em ser um arquiteto de software, este curso pode contribuir para o desenvolvimento de uma base sólida em programação e design de software.
Analista de Dados
Um Analista de Dados extrai insights valiosos de conjuntos de dados para auxiliar na tomada de decisões. Embora Lua não seja tão comum na análise de dados quanto Python ou R, os princípios de programação aprendidos neste curso podem ser aplicados a outras linguagens. Aprender a manipular dados, criar algoritmos e trabalhar com estruturas de dados como listas e tabelas pode ajudar a preparar e analisar dados de forma eficiente. O conhecimento de funções e laços também pode ser utilizado para automatizar tarefas repetitivas e criar scripts de análise personalizados. Para quem deseja seguir a carreira de analista de dados, este curso pode ajudar a desenvolver habilidades de programação e lógica que são transferíveis para outras ferramentas e linguagens.
Instrutor de Programação
Um Instrutor de Programação ensina outras pessoas a programar. Este curso, por focar em ensinar Lua do zero, pode te ajudar a entender os desafios que os iniciantes enfrentam ao aprender a programar. Dominar os conceitos ensinados no curso, como variáveis, tipos de dados, estruturas de controle e manipulação de textos, permite que um instrutor de programação explique os conceitos de forma clara e concisa. O conhecimento de algoritmos também é útil para ensinar aos alunos como resolver problemas de forma eficiente. Se você quer ser um instrutor de programação, este curso pode te ajudar a se preparar para ensinar outras pessoas a programar em Lua.
Cientista de Dados
Um Cientista de Dados utiliza métodos estatísticos e computacionais para analisar grandes volumes de dados e extrair conhecimento. Similar ao Analista de Dados, o Cientista de Dados se beneficia dos fundamentos de programação. A habilidade em manipular dados, criar funções e compreender algoritmos são valiosas. Este curso pode ser um degrau para aprender conceitos de programação que podem ser aplicados a ferramentas mais comuns no campo, como Python. O conhecimento de estruturas de dados proporciona uma base para trabalhar com grandes conjuntos de dados. Para quem visa ser Cientista de Dados, este curso pode ser uma introdução aos fundamentos da programação.
Analista de Segurança da Informação
Um Analista de Segurança da Informação protege sistemas e dados contra ameaças cibernéticas. Embora Lua não seja diretamente usada em segurança, conhecer programação é crucial para entender como os sistemas funcionam e como podem ser explorados. Este curso pode ajudar a aprender lógica de programação, manipulação de dados e criação de algoritmos, que são habilidades úteis para analisar vulnerabilidades e desenvolver ferramentas de segurança. O conhecimento de estruturas de dados e fluxo de controle também é importante para entender como os ataques funcionam e como podem ser prevenidos. Se você quer ser um analista de segurança, este curso pode ser um ótimo ponto de partida.
Administrador de Banco de Dados
Um Administrador de Banco de Dados (DBA) é responsável pela manutenção, segurança e desempenho de bancos de dados. Embora Lua não seja diretamente usada para administrar bancos de dados, conhecer lógica de programação e manipulação de dados ajuda a entender como os dados são armazenados e acessados. Este curso auxilia no aprendizado de estruturas de dados, algoritmos e fluxo de controle, que são conceitos úteis para otimizar consultas e garantir a integridade dos dados. A habilidade de criar funções e automatizar tarefas também pode ser utilizada para simplificar a administração do banco de dados. Se você almeja a carreira de DBA, este curso pode ajudar a desenvolver uma base sólida em programação e gerenciamento de dados.
Consultor de Tecnología
Um Consultor de Tecnologia auxilia empresas a implementar e otimizar soluções tecnológicas. Embora a programação direta em Lua possa não ser o foco principal, entender os princípios de programação e a lógica por trás do desenvolvimento de software pode ser útil para avaliar e recomendar soluções. Este curso pode auxiliar no desenvolvimento de uma compreensão geral de como o software funciona, como os dados são processados e como os sistemas são integrados. O conhecimento de diferentes tipos de dados, estruturas de controle e algoritmos também pode ser útil para avaliar a viabilidade e o impacto de diferentes soluções tecnológicas. Se você pretende se tornar um consultor de tecnologia, este curso pode te ajudar a desenvolver uma base sólida em programação e tecnologia.
Desenvolvedor Front-End
Um Desenvolvedor Front End cria a interface do usuário de websites e aplicações web. Embora Lua não seja comumente utilizada no front end, os princípios de programação aprendidos neste curso são importantes. Dominar lógica de programação, manipulação de dados e criação de funções ajuda a entender como os dados são exibidos e interagidos na interface. O conhecimento de estruturas de dados e algoritmos é útil para otimizar o desempenho da aplicação e criar interfaces complexas. Este curso pode fornecer uma base sólida em programação que pode ser aplicada a linguagens e frameworks mais comuns no front end, como JavaScript. Se você deseja se tornar um desenvolvedor front end, este curso ajuda a desenvolver habilidades de programação e lógica.

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 Aprenda a programar em Lua do zero.
Este livro é a referência definitiva para a linguagem Lua, escrito pelo principal designer da linguagem. Ele cobre todos os aspectos da linguagem em detalhes, desde os conceitos básicos até tópicos avançados como metatables e coroutines. É útil para entender a fundo a linguagem e suas nuances. Este livro é altamente recomendado para quem deseja se tornar um especialista 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