The example is due to Kevin Murphy ( and uses the sprinkler Bayesian network from Artificial Intelligence: A Modern Approach (1st Edition).
Full Runnable Package is on Github Aside: Please note I'm still pretty new to this Code Review site, Swing and Java. No claims are made for suitability for any purpose.
EDT thread will process this request only after sorting out all AWT pending events or requests.
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
Event Dispatcher thread is used to render graphics for java swing component and also process all events corresponding to a key press, mouse click or any action.
So if you want to update a particular swing component suppose label of a JButton from Yes to No you need to do this in Event Dispatcher thread and for doing this you need Invoke Later.