Though employment was one of the important motivations, with
the proliferation and rapidly changing horizon of mobile
platforms, it was decided right from the beginning that ours must
be a course that is agnostic of specific vendor, programming
language, or development environment. For this reason, instead of
studying the suitability of existing technologies in supporting
classroom teaching [9], we approached the course design by
following the results from Gordon [10] where we began by laying
out guidelines for the course design and identifying technologyindependent
learning outcomes. The underlying philosophy is
that, while adhering to the listed guidelines, it should be possible
to implement multiple versions of the same course to deliver
similar student learning outcomes.