Dynamic Situations In eLearning – eLearning Trade



Particular person Assignments For Every Learner

With all of the hype about AI picture era nowadays, I assumed I might share a way I take advantage of for creating dynamic situations in eLearning. It depends neither on Synthetic Intelligence nor on machine studying, however moderately on the idea of procedural era.

“In computing, procedural era is a technique of making information algorithmically versus manually, usually by a mixture of human-generated belongings and algorithms coupled with computer-generated randomness and processing energy.” [1]

This may occasionally sound difficult, however you will note that, with just some traces of code, you can present your learners with particular person assignments with out having to create them manually.

Dynamic situations are particularly helpful for higher-level cognitive processes similar to making use of or creating. Consider writing prompts to your language class, design prompts for college kids of graphic design, or randomly generated gadgets for coaching methods to add merchandise to an online store.

The next instance illustrates how simply you’ll be able to create your individual dynamic situations with just some traces of code. The next code can be utilized inside, e.g., a Moodle textual content label exercise, however you need to be capable of apply it to any platform that permits you to enter customized HTML, CSS, and JavaScript.

The HTML Half: Construction And Static Content material

Let’s begin with the HTML half, the place the construction of the situation is established. The textual content entered right here goes to seem inside all situations.

<p>Your pals <span id=”celebrantA”></span> and <span id=”celebrantB”></span> are getting married! As they know you’re an aspiring graphic desiger, they requested you to design their invites for you:</p>


<li>The ceremony takes place on <span id=”ceremonyDate”></span> at <span id=”ceremonyTime”></span><span id=”ceremonyTime”></span> in <span id=”place”></span>.


<li>The reception will happen at <span id=”receptionTime”></span>.


<li>Your pals need a sublime invitation with <span id=”shade”></span> being the dominant shade.


<li>RSVPs ought to be despatched to <span id=”emailAddress”></span>



The markup is fairly simple: An introductory paragraph is adopted by a listing of necessities. Observe the <span>-tags with their respective ids: they’re placeholders which might be randomly crammed with the information supplied within the JavaScript half under.

Don’t be concerned when you’re unfamiliar with HTML—it’s only a markup language which tells the browser methods to interpret your content material. The tags like <p> for paragraph, <span> for a single phrase or a gaggle of phrases, and <ul> for unordered (bulleted) checklist wrap across the content material. Simply be certain that to “shut” every tag utilizing </p>, </span>, </ul>, and so on. A fast search on the primary steps of HTML will get you up and working very quickly.

The JavaScript Half: The place The Magic Occurs

With the intention to create dynamic situations, an entire lot of supply materials is required, from which the situation is generated randomly. Within the code under, we offer lists of names, locations, colours, months, and so on., after which decide one for every situation. In a ultimate step, the placeholders we arrange earlier than within the HTML half are populated utilizing this information.

The feedback within the code provide you with an thought of what is occurring in every line:


//present a listing of names of the celebrants, wrapped in citation marks between []

let celebrants = [“Maria”, “Wei”, “Ahmed”, “Marie-Christine”, “Anna”, “Mary”, “Daniel”, “Joseph”, “Oksana”, “Serhey”, “Julien”, “Robin”];

//decide one title from the above checklist for every celebrant

let celebrantAName = celebrants[Math.floor(Math.random() * celebrants.length)];

let celebrantBName = celebrants[Math.floor(Math.random() * celebrants.length)];

//populate the placeholders utilizing their ids: The empty span tags within the html half are crammed with the names of the celebrants

doc.getElementById(“celebrantA”).innerHTML = celebrantAName;

doc.getElementById(“celebrantB”).innerHTML = celebrantBName;

//present a listing of months of the 12 months

let months = [“January”, “February”, “March”, “April”, “May”, “June”, “July”, “August”, “September”, “October”, “November”, “December”];

//decide one

let ceremonyMonth = months[Math.floor(Math.random() * months.length)];

//set a random time for the ceremony between 2 and 5

let ceremonyTime = Math.ground(Math.random() * (3) + 2);

//the reception takes place 2 hours later

let receptionTime = ceremonyTime + 2;

//select a quantity between 1 and 30

let ceremonyDay = Math.ground(Math.random() * 30) + 1;

//concatenate month, day and 12 months with the required areas between them

let ceremonyDate = ceremonyMonth + ” ” + ceremonyDay + ” ” + “2022”;

//populate the placeholders utilizing their ids

doc.getElementById(“ceremonyDate”).innerHTML = ceremonyDate;

doc.getElementById(“ceremonyTime”).innerHTML = ceremonyTime + ” pm”;

doc.getElementById(“receptionTime”).innerHTML = receptionTime + ” pm”;

//present a listing of locations

let locations = [“Franklin”, “Clinton”, “Madison”, “Arlington”, “Centerville”, “Georgetown”, “Springfield”, “Greenville”];

//decide one

let place = locations[Math.floor(Math.random() * places.length)];

//populate the placeholder utilizing its id

doc.getElementById(“place”).innerHTML = place;

//present a listing of colours

let colours = [“Red”, “Blue”, “Green”, “Yellow”, “Purple”, “Brown”, “Orange”, “Pink” ];

//decide one

let selectedColor = colours[Math.floor(Math.random() * colors.length)];

//populate the placeholder utilizing its id

doc.getElementById(“shade”).innerHTML = selectedColor;

//concatenate e-mail-address utilizing celebrants’ names

let emailAddress = celebrantAName.toLowerCase() + “-” + celebrantBName.toLowerCase() + “@marry.it”;

//populate the placeholder utilizing its id

doc.getElementById(“emailAddress”).innerHTML = emailAddress;


That is what one of many situations may appear like. As they’re generated every time the web page is loaded, every of your learners is supplied with a customized situation.

Each of your learners is provided with a custom scenario.

This easy instance might be expanded in response to your wants and creativeness: random photos, supply supplies, protagonists, and so on., provide you with numerous potentialities to your customized dynamic situations. Share your use instances with us!


[1] Procedural generation



Please enter your comment!
Please enter your name here