What should be asked on a Lua test?

The questions in my upcoming Lua proficiency test are organized in different sections, and I am currently working on the “general” section. This section tests the users ability to read and understand the general logic of Lua. It does not include specialized topics such as MarketplaceService, data stores, ContextActionService, string manipulation, etc.

So, what topics should I include in the “general” set of questions? Here is what I have so far.

  • spawn()
  • conditional statements (if, else)
  • math
  • pcall
  • scope
  • functions
  • recursion
  • tables
  • variables
  • loops
  • iteration
  • error finding
  • strings
  • editing parts and properties
5 Likes

I think that general topics wouldn’t be the best way to test proficiency because knowing how to use functions or strings doesn’t necessarily mean you know how to implement it into a game. In my opinion, the best way to test someone would be to give a scenario and see how they respond to the scenario with code.

Example

Given a part and all of the part’s properties, how would I spawn a part and make the spawned part orbit the given part at a speed of 1 full rotation per 15 seconds?

4 Likes

Yes, but I am testing scripting ability, not building and total game development ability.

Wouldn’t total game development ability be part of being a good scripter? In my opinion, the best scripters are the ones that can finish a game.

3 Likes

That would be kind of hard to test, and it would be hard for me to make that test.

1 Like

Being a good game developer and being a good scripter are differant things.

I would consider myself highly proficient in programming (I have a degree, mid-level software engineering job, 5+ years of experience) but I’m not nearly as good at game execution as some other developers that might not have as high level of scripting proficiency.

Game execution involves project management, game/systems architecture, and other skills that I wouldn’t consider part of vanilla scripting ability.

As for the OP, I would recommend basing your curriculum off of the official Lua guide: Programming in Lua : 1

1 Like

Depends really on what you want, maybe add these

Hope this helps! :smile:

2 Likes

Thank you. I plan to have most of these in different sections.

1 Like

Its interesting from the list of topics, some are extremely broad, while some are very specific/would go underneath a different topic (ex: spawn() and functions)

I actually learned about spawn() this year, and I would call myself very proficient at lua/logic! So its interesting you went for the wide-range definition route of things.

Here’s more ideas running on the definition-style of topics in that case.
-local, global
-children, parent hierarchy
-property scope (inheritance, ex: BaseParts)
-datatypes
-dictionaries

you could also have recursion and abstract data types

Helps to read the post before replying.

image

[Removed a whole chunk of the post: read below]

i said Abstract data types, those are like stacks, queues, binary trees. FYI

Have them write code that will invert a Binary Tree.

1 Like

Ah, the classic question:

How do you make a queue using two stacks?

Some people are adding algorithmic questions. I like this one:
You get an array filled with integers as input and also the same array but with one element removed. In linear time find the value of the integer that was removed.

This will tell you if they know what linear time is and generally - algorithm complexity.