We may earn an affiliate commission when you visit our partners.
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
Instalando Lua no macOS
Instalando Lua no Windows
Dicas sobre Editores
Aprender o básico da linguagem e iniciar o seu fluxo de desenvolvimento.
REPL
Fluxo de Desenvolvimento com Arquivos
Sintaxe Básica
Variáveis
Tipos de Dados Básicos
Aprender operações básicas como matemática e condicionais.
Operações Matemáticas Básicas
Pacote math: abs, ceil, floor e fmod
Fluxo de Controle, if, else e Condicionais
Laços com for
Laços com while
Concatenação de Textos
Aprender técnicas para manipulação de textos.
Conceitos básicos com len e sub
Manipulações com upper e lower
Manipulações com rep e reverse
Buscas com find
Combinando find, sub e match
Substituições com gsub
Aprender a utilizar Tables para armazenar e manipular conjuntos de dados.
Introdução à Listas
Manipulação de Listas
Variáveis e Referência em Listas
Laços e Iterações em Listas
Aprender como aplicar algoritimos clássicos para a solução de problemas envolvendo listas.
map
reduce: sum
reduce: first e last
reduce: count e average
filter
Combinando map, filter e reduce
Entender como criar e manipular estruturas de dados mais avançadas com Tables.
Tables e Tipos de Dados
Matrizes
Dicionários
Estruturas Multiníveis
Operações Compostas: map e reduce
Aprender a utilizar as funções disponíveis no pacote table.
insert
concat
sort
remove
Aprender como criar e utilizar funções próprias.
Criação e Utilização de Funções
Funções como Argumentos de outras Funções
Conceito de Erro
Desenvolver um pequeno projeto para demonstrar como aplicar os conceitos aprendidos.
Introdução à CLI
Primeira operação: sum
Adicionando Operações Matemáticas
Entender como criar e utilizar pacotes próprios.
Função require
Tables para Armazenamento de Funções
Refatoração de Pacotes
Exemplo de Novo Pacote: Email
Fechamento do curso e perspectivas para o futuro.
Encerramento e agradecimentos.

Save this course

Save Aprenda a programar em Lua do zero to your list so you can find it easily later:
Save

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