MoodleBites for Developers Level 1

Updated in 2019 for Moodle 3.6

What do others say having taken this course...

"I was really enjoying the challenges that the course provided." (Anonymous feedback)

"Will definitely recommend this course to others and look at doing other courses in the future." (Anonymous feedback)

"At the end of the day - great course, fun and interesting and thanks for putting it together so well." (Anonymous feedback)

If you are interested in Moodle development, but do not have a background in development, experience with php, and experience in development environments, then this MoodleBites for Developers Level 1 is for you !  It will give you a gentle introduction to Moodle development, and provide a good grounding should you wish to progress to the MoodleBites for Developers Level 2 course at a later time.

Dates

Because this course is quite specialist, it runs just twice each year (numbers are limited, so please register in plenty of time):

  • 1st February
  • 1st July

This course is 8 weeks in duration, asynchronous, and completely online. Each week contains approximately 2-4 hours work, although this varies depending on your experience with Moodle and development in general, and how much extension work you wish to complete smile

This is an 8 week entry level course on Moodle development. It is focused on building new plugins.

After successfully completing this course

  •    You will be able to create new plugins from templates or from existing plugins.
  •    You will be able to create renderers and Mustache templates to display content.
  •    You will be able to use the main Moodle APIs Forms, Database, Navigation, Events.
  •    You will be able to write Atto plugins using YUI and to write simple AMD modules
  •    You will understand important aspects of the Moodle API including internationalization, capabilities and roles and legacy code for outputting HTML.
There are no live sessions, but participants are encouraged to participate in forums and to post the results of their practical assignments for others to see and learn from.
MoodleBites for Developers Level 1

OpenBadges logo

Richard JonesLead facilitator for this course is Richard Jones, senior e-learning consultant and developer with HRDNZ. Richard's international background includes computer science and programming, and he has been involved with Moodle and e-learning for many years. His latest Moodle plugin is the Simple Lesson - a version of Moodle's sophisticated Lesson module that allows questions from the question bank to be inserted into pages..


Justin Hunt

Co-advisor is Justin Hunt, well-known in the Moodle community for his outstanding contributions to Moodle including PoodLL - an extensive and integrated plugin suite of modules and filters that allows students to record audio or video, or draw/upload pictures as assignment submissions, with a repository, feedback, and questions types.

Fee

MoodleBites for Developers Level 1 is USD $599 per person at this time we are able to offer a discount to a special rate of USD $499 but places are limited - so book early to avoid disappointment! If you wish to translate this value to your local currency please visit: http://www.xe.com/ All invoices are in US Dollars (Euro invoices available by special request). You can register for the course using the "Register Now" link on the Front Page.

This is a technical course, designed for people with interest in development and Moodle Administrators. This course is not suitable for the average Teacher using Moodle.

Course outline

Technical requirements

Pre-requisites: 

It is important that participants, before starting this course:

  • Have setup a suitable Moodle development environment
  • Understand basic git commands
  • Some understanding of PHP or other computer language programming is advisable.
HRDNZ offers a free two-week online course covering these pre-requisites.  This course is especially recommended for those who are unsure if a Moodle Developers course is right for them.

In this course you will learn the basics of developing for Moodle including:

  • Week 1
    • In which we introduce HRDNZ, the course and set some expectations.  In this first week we install a new block and examine its basic files and the code inside.  We also discuss the way Moodle handles different languages and implement a language file.
  • Week 2 
    • This week we cover how Moodle displays browser-facing pages and administration settings and give you some simple tasks to do. As always the week ends with a scenario lesson.
  • Week 3
    • This week is a busier week with a number of quite important concepts to master.  We briefly introduce Moodle forms and a block instance settings form.  This week also covers Moodle's extensive capabilities, roles and permissions systems.  We prevent unwanted access to our block's pages.
  • Week 4
    • The focus is on the important topic of Moodle renderers and Mustache templates.  Modern Moodle code uses these extensively in contrast to the older mixed html, css and php approach or the use of special classes such as html_writer which we met briefly in week 3.
  • Week 5
    • This week covers the Data API and how forms are processed in Moodle to read and write data.  We also look at adding a new type of page to our block and discuss the use of local classes and class autoloading.
  • Week 6
    • This week we expand our block’s capabilities by adding some size buttons on the view page.  These will leverage our current code and allow the viewer to change the size of the iFrame on the view page.  We will add the links using a Mustache partial.  In this week we will also take a quick look at modifying Moodle's navigation system. 
  • Week 7
    • This week is all about JavaScript in Moodle.  We look at YUI and the Atto editor - creating a toolbar button as a subplugin of Atto and we look at a simple AMD module.  We also find time to briefly discuss Moodle text filters.
  • Week 8
    • This week includes: Adding an event, Catch-up, Extended tasks, Final questions, What to do next.

There is no need to use a specific Operating System, editor or IDE. The course is generic on these points and and aims at basic concepts that will be present in any OS or development environment. Since the course is neutral with respect to OS and development environment, effort has been made to ensure that the practical tasks and examples given are generally applicable. Anyone attending this course however will need to become familiar with their own Operating System and development environment. We cannot answer in-depth questions specific to your own choice of OS and development environment.

*Please note this course outline is subject to change to keep pace with Moodle development.