Coding with Roblox

People love to play video games, but have you ever wondered what goes into making one? This course is designed to give students the fundamentals to make their own video game using Roblox studios. This course covers how to make obstacle courses, racing games, shooting games, fighting games, and much more. The coding language taught in this course is Lua, and it's a great foundational coding language to master.

Coding with Roblox Curriculum


Benefits of learning a programming language:


  • Teaches foundational skills such as identifying colors, shapes, and comprehending math operations.


  • Teaches concepts around semantics and logic, and how to apply them to real world situations.


  • Develops critical thinking and problem solving skills that transcends all areas of life.


  • Develops skills for a profession that is only going to become more prevalent and useful in the future.



  • When starting classes, we recommend that students first start out with the Blockly programming language. After completing most of the curriculum using Blocky, we then recommend that the student start learning javascript.



Two types of programming languages covered in the classes:


Blocky: Blocky is a programming language that is designed specifically for kids, and tries to make coding easier to understand and comprehend. It takes long lines of code and packages them up into blocks which are easy to manipulate and work with. This language is great for beginners because it teaches the fundamentals of syntax and semantics, without it feeling visually overwhelming.


Javascript: Javascript was created in 1995 and has only improved in its functionally. It is one of the core programming languages used to create websites with over 97% of websites utilizing Javascript on the client side. Learning Javascript also lays the foundation for learning other languages such as Java, Visual Basic (used in excel), and C++.


Curriculum sections:


The Basics of Functions:


A function is a block of code used to perform a task. In this section, we’ll cover how we can use functions to perform game events, send messages, and perform commands. We’ll start out by using a function to print “Hello, World” in the game. Then, we’ll transition to function calls, and some practice questions.


In this section we cover:

  • What is a function in the context of programming

  • The importances of functions in programming

  • Function calls

  • Using functions to send messages to friends

  • Using functions to spawn entities into the game





The Basics of Variables:


This section covers how to assign variables, and how to incorporate variables into functions. We primarily assign variables as drones in this section, then we use the drones to build structures, set spawn points for enemies, and create world events.


In this section we cover:

  • What is a variable in the context of programming

  • How to assign variables

  • Variable types

  • Building structures using drones

  • Using variables to create world events




Inventory and Entity Commands:


This section utilizes the skills that we’ve learned so far to perform commands, spawn items into a player's inventory, and spawn multiple enemies. This section contains more practice problems involving scramble questions, and missing code questions, and also introduces the technique of looping.


In this section we cover:

  • How to use variables inside of functions

  • Using functions to create custom commands in Minecraft

  • Using functions to add items to inventories

  • Using variables and drones to create spawn points for enemies


Loops:


This section officially introduces a for loop and while loop. We illustrate the similarities and differences of the two loops, and the benefits of using loops in programming. This section also discusses when it is appropriate to use either a for loop or while loop, and their distinct characteristics.


In this section we cover:

  • Syntax and semantics of a for loop

  • Syntax and semantics of a while loop

  • When it’s appropriate to use a for/while loop

  • Advantages of using loops when programming

  • For loops and while loops inside of functions


Loops with Counter Variables:


This section covers how to use counter variables in for loops and while loops, and teaches how to write code that increments and decrements by any number. This section also illustrates the semantics behind for loops and while loops, and the importances of semantics especially when creating while loops.




In this section we cover:

  • The syntax for incrementing by any number

  • The syntax for decrementing by any number

  • The importance of incrementing and decrementing.

  • The semantics of a while loop, and why incrementing and decrementing is essential to while loops.



Conditionals:


This section covers the use of conditional statements in programming. It introduces if then statements, and teaches the logic and semantics behind it.This section then discusses the concept of else if statements, and nested if statements, and when it is appropriate to use them.


In this section we cover:

  • Basic logic concepts

  • The syntax and semantics of an if then statements

  • The importance of using else if statements

  • The syntax and semantics of nested if statements






Functions and Variables Advanced:


This section covers more advanced functions and variable techniques. We cover how to use variables in a more sophisticated way to minimize the amount of code we have to write. We also cover math operations, how they can be used effectively, and their importance in programming. Lastly, this section covers the integration of all the previous techniques covered, and semantics behind combining these techniques.


In this section we cover:

  • Complex function programming

  • Efficient programming techniques using the integration of functions, variables, loops, and conditional statements.

  • Custom mod creation

  • Using javascript outside of Minecraft