Friday, 16 February 2018

A MOODLE Course for Driving Schools, based on Google Maps API (Draft)

I had no time to complete the work on this subject, that had been accepted for presentation at eLSE 2018.

If anyone is interested in continuing, with me, the research and development of an elearning system for driving schools, please let me know.

Following is the abstract of the planned paper.

This paper will present a prototype of a MOODLE course that supports driving lessons by showing street views of selected routes, allowing uploads of recorded driving sessions and editing maps with notes and instructor feedback. The purpose of the course material is twofold: to allow the learner to prepare before the driving lesson by studying the route and his/hers previous performance on this same route, in advance, and to give means to the instructor to offer feedback by editing information on the map of the route.

A review of relevant mobile applications that are already available, using GPS to track car movement, will be done and analyzed. The technical challenges of the implementation: using Javascript within Moodle pages, obtaining and using Google API credentials, uploading the course in the Moodle Cloud, recording video from the car and adding information to maps will be presented in details.

Taking into account different learning style models, the suitability of several Moodle activities and assignment types will be discussed and compared. Questions like how, by whom, and when is the route for a driving lesson chosen will be raised, and tentative answers will be provided. How to use recorded sessions for feedback and adapting content of future lessons will be discussed, too.

Conformance to SCORM specifications will be addressed as well, and the advantages of implementing a standalone application will be discussed from this point of view. An architecture for the standalone application will be proposed and the pros and cons of its implementation in a couple of frameworks (Java, Angular) will be highlighted.

Friday, 24 November 2017

Moodle 2.1 Customizations: Adding Javascript to "page" resource

Moodle 2.1 Customizations: Adding Javascript to "page" resource: Well this has been bugging me for a while - every time I tried to insert Javascript into the moodle html editor it never worked. You could e...

Monday, 9 October 2017

Reading Notes: Debuggers vs. Logging

"We find stepping through a program less productive than thinking harder and adding output statements and self-checking code at critical places."
Professional Java for Web Applications, by Nicholas S. Williams

Wednesday, 17 May 2017

Completable Futures

Problem:
Process concurrently all the files in a directory tree.
The files store integers, separated by line endings.

Bibliography:
http://www.baeldung.com/java-completablefuture

My solution:

Tuesday, 2 May 2017

Does IT Industry Need Better Namings?

Does IT Industry Need Better Namings?: The IT industry borrows terms from other domains, which is a fairly good approach. But we distort their meanings or use terms in inconsistent ways, within IT and also in comparison to other disciplines. This article shares some of these leaky terminologies with examples, explains why this matters and suggests how to deal with inconsistencies and improve the situation.

Thursday, 12 May 2016

Java67: Difference between Error vs Exception in Java - In...

Java67: Difference between Error vs Exception in Java - In...: Both Error and Exception are derived from java.lang.Throwable in Java but main difference between Error and Exception is kind of error ...

Friday, 29 April 2016

Order in Initialization

Do you know what the following piece of code will print?




The answer is:

MyClass
Parent
MyClass
Test

Now can you tell which instance (instance1 or instance2) prints the first "MyClass" string?
 
Uncomment the commented lines and see for yourself!

http://stackoverflow.com/questions/14805547/are-fields-initialized-before-constructor-code-is-run-in-java

http://stackoverflow.com/questions/17806342/order-of-constructor-calls-in-multilevel-inheritance-in-java

Tuesday, 26 April 2016

Java EE Servlets

Introduction

I've been taking a short break before moving on to new challenges. With this occasion I'm tidying several older personal projects. Among these, my Haiku Gallery.

I resumed the review from watching again "Intro to Java. Unit 14. Intro to Java EE. GlassFish. Servlets." by Yakov Fain:



After reading Lesson 26 of Java Programming 24-Hour Trainer I wrote the vote servlet, adapted the client side of my application, packed everything in a WAR file using Eclipse IDE, and uploaded the archive to the Azure Cloud. As illustrated below.

The Client Side of VoteMyHaiku App


The Servlet


Vote My Haiku in the Azure Cloud:

http://votemyhaiku.azurewebsites.net/

Conclusions

1. I love Visual Studio Online "Monaco"!
2. Adam Bien is right: Java EE is easier than Javascript.

Homework (to self)

1. Warming up: Respond with beautiful HTML from the Vote Server Servlet.
2. Advanced: Persist votes in an SQL database. Re-order haiku pieces dynamically, based on voting results, and create a 'Top 3' section on the page.