Programming For Beginners With Lua And Love2D
Published 6/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 8.41 GB | Duration: 12h 39m
Published 6/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 8.41 GB | Duration: 12h 39m
Learn and Refine the basics of programming with Lua and Love2D
What you'll learn
Students will develop the problem solving capabilities of a software engineer
Students will learn how to think strategically and critically about computer code
Students will learn computer coding principles and basic algorithms
Students will be given the confidence to pursue programming in the future
Requirements
No prior coding experience is necessary. Students will need a basic computer with either Windows or MacOS
Description
This course is designed for absolute beginners in programming who wish to make their start in the field!As a university lecturer of many years I've interacted with students enough to get a feel for what works in terms of teaching and practicing. The concept of this course is to take more of a 'classroom' approach to teaching and hopefully encourage you to practice and learn with me as we make our way through the course material together.The course is centred around the Lua programming language and the Love2D framework. Lua is a great beginner language to get started with as it is a lot simpler and more straight-forward than other languages.The course structure is basically that we jump straight into making stuff and explain concepts as we come across them. After we make our first game together, we go back and clarify some concepts. I have taken this approach because a criticism I have of most programming tutorials that I've come across is that they overwhelm you with out-of-context theory at the start before actually doing anything fun. With my model, we immediately make something tangible and then go back and talk about the theory, but since we've already used it in a meaningful way, the theory and concepts will make a lot more sense and will be enjoyable to learn about!
Overview
Section 1: Introduction
Lecture 1 Welcome and Course Philosophy
Lecture 2 Installation
Section 2: First Project: Hangman
Lecture 3 Starting Our First Project
Lecture 4 Update and Draw Functions
Lecture 5 Functions
Lecture 6 Tables
Lecture 7 Tables of Tables
Lecture 8 If Statements
Lecture 9 Mapping Out The Project
Lecture 10 Drawing Lines
Lecture 11 Printing Text to the Screen
Lecture 12 Using Tables of Data
Lecture 13 Using More Tables of Data
Lecture 14 Keeping Track of Guessed Letters
Lecture 15 Click to Start New Game
Lecture 16 Checking Win Conditions
Lecture 17 Updating the Background Colour
Lecture 18 Evaluating Wrong Letter Press
Lecture 19 Using Delta Time
Lecture 20 Keeping Track of Lives
Lecture 21 Evaluating Lose Conditions
Lecture 22 Keeping Track of Letters Already Guessed
Lecture 23 Seeding the Random Generator
Section 3: Extending our Knowledge in Some Areas
Lecture 24 'And' and 'Or' Keywords
Lecture 25 Tables Revisited
Lecture 26 Order of Program Execution
Lecture 27 Local Variables
Lecture 28 Using External Files
Section 4: Homework Project: Dice Application
Lecture 29 Dice Introduction
Lecture 30 Dice Solution
Section 5: Third Project: Country Flags
Lecture 31 Starting our Flags Game
Lecture 32 Setting up our Data Structures
Lecture 33 Setting up our Buttons System
Lecture 34 Button Functionality Continued
Lecture 35 Selecting Random Options
Lecture 36 Evaluating Correct and Incorrect Selections
Lecture 37 Adding a Delay Before Resetting Question
Lecture 38 Accounting for Special Cases
Section 6: Some Extra Concepts Before Our Next Project
Lecture 39 Tables and Keys
Lecture 40 String Comparisons
Lecture 41 State Tables
Section 7: Fourth Project: Typing Game
Lecture 42 Mapping Out Our Typing Game Project
Lecture 43 Making Things Move
Lecture 44 Spawning Letters on a Timer
Lecture 45 Process Correct Keypress
Lecture 46 Letters Crossing the Finish Line
Lecture 47 Increasing the Difficulty Throughout the Game
Lecture 48 Updating the Score
Lecture 49 Flashing Correct Letter Green
Lecture 50 Increasing Difficulty by Adding Entries
Section 8: More Concepts Before Our Next Project
Lecture 51 The Modulo Operator
Lecture 52 Recursive Functions and While Loops
Section 9: Fifth Project - Minesweeper
Lecture 53 Setting up our Minesweeper Project
Lecture 54 Setting up our Menu Buttons
Lecture 55 Menu Button Mouse Hover Functionality
Lecture 56 Spawning Bombs on the Map
Lecture 57 Homework task: Evaluating Adjacent Squares
Lecture 58 Finding Adjacent Squares
Lecture 59 Setting Up Some of Our Mouse Click Behaviour
Lecture 60 Fixing Our Bomb Reset Behaviour
Lecture 61 Revealing Adjacent Zero Squares
Lecture 62 Finding and Fixing a Hidden Bug
Lecture 63 Setting Up Our Flag Behaviour
Lecture 64 Making a Colours Map Table
Lecture 65 Evaluating Win Conditions
Section 10: Congratulations! And where to from here … ?
Lecture 66 Congratulations
Beginner computer programmers