This course guides developers in programming customized blocks for Moodle. The course also addresses general programming concerns regarding universal accessibility for the WWW, secure web-programming, writing maintainable code, source code management and collaborating with other programmers.