I attended a HEA workshop about the teaching and learning of programming for mobile and tablet devices at London Metropolitan University on 15 June 2012. This is a quick summary of my own take on what happened on the day, combined with a set of personal reflections, some of which I've added in the body of this summary. I'm writing this with the hope that this summary might be useful for some of the attendees, and for others who were unable to attend.
In some ways, this was a second of a 'mini series' of two workshops about mobile technologies, the first being held in the University of Buckingham back in May 2012. A quick write up of this earlier workshop, which has more of a focus on employability skills can be viewed by visiting an earlier blog post.
The day began with an introduction by Dominic Palmer-Brown who clearly emphasised the importance of mobile technologies. Dominic commented that the subject is particularly important 'to ourselves and our students', going on to emphasise that skills working with and developing mobile technologies are in demand by industry. A number of presentations appeared to confirm that this was the case, particularly the final presentation.
The potential of social media and mobile devices in informal, professional and work-based learning
Professor John Cook, from London Metropolitan University gave an opening keynote about how mobile devices could be used to help facilitate teaching and learning. John introduced us to a number of different ideas and projects, enabling us to appreciate the variety of ways in which mobile devices may be used. Mobile devices can be used to 'add information' to physical space, for instance, reminding me of research into wearable computing and the development of Google Goggles, for instance.
Connecting to the themes of location, history and learning, John introduces us to a project that enabled students, through the use of mobile devices, to learn more about the ruins of a Cistercian Abbey (Fountains Abbey, Wikipedia). Mobile devices facilitate the delivery of different types of media which can be chosen depending upon the location of the user
Whilst technology on its own is always interesting, its use and application can be enhanced through the understanding and application of pedagogic theories. John made reference to Vygotsky (Wikipedia), who coined the term Zone of Proximal Development (Wikipedia). Other important points that I've noted is the role that peers play a very important role in learning, and John emphasised the importance of scaffolding of learning activities (the subject of pedagogy, particularly inquiry based learning was the focus of an earlier HEA event). On a related note, I personally feel I have a fair way to go in terms of understanding how to make the best use of the technologies I have at my disposal. The pedagogy of technology is something that I am sure that I'll continue to mention in these blogs.
John also introduced an abbreviation that I was not familiar with: BOYD, meaning, Bring Your Own Device. Perhaps it has already got to a point where it may be surprising if a student doesn't bring some kind of mobile technology to their lectures.
It was interesting to hear the view that social media used in the work place was considered to be an area that is under researched. This thought reminded me of an earlier presentation by Vanessa Gough, from IBM at a previous HEA workshop about professional on-line identities where she showed how employees were making use of social media to share information with each other. Perhaps it is an area that is under researched, but I do sense that social media within the work place is certainly being used and applied.
John also mentioned a new EU funded project called Learning Layers. Like many EU projects, Learning Layers has a number of collaborators from different countries. Finally, some slides that connect to the ideas and the projects that John spoke of can be found on SlideShare.
Teaching Mobile App Development at Postgraduate level at London Metropolitan
Yanguo Jin gave the first 'main' presentation of the day where he shared with us some of the experience that had been gained at London Met over the past five or six years. Yanguo made reference to an industry report which predicted that mobile internet will take over fixed internet by 2014. It was also viewed that mobile technology skills, such as HTML 5, iOS and Android are considered to be increasingly important.
Knowing about a particular skill is one thing, being able to demonstrate mastery in something is a different (but related issue). To address this challenge Yanguo holds the view that students should ideally create a portfolio of apps (perhaps in combination with other students) to demonstrate their skills and abilities to a prospective employer.
Teaching of mobile technologies at London Met is through an industry-oriented practical approach that emphasises depth (in terms of making use of a single platform) as opposed to breadth (covering a number of different platforms). I think this is important, since whatever platforms developers end up using, they always have got to 'get into the detail' of the environments and tools that they have to use.
Key subjects that are covered in the module includes the model-view controller (MVC) design pattern, the use of an integrated development environment (IDE), aspects of visual design, issues relating to power and memory management, web services, development methods and object-oriented programming.
One particular aspect of the teaching that was said to work well is the facilitation of peer-to-peer support (a point which connected to John's keynote). Another great technique was to encourage students to teach each other through their own seminars, and allowing them to choose their own projects (thus helping to keep students motivated).
Approaches to teaching programming of mobile devices
Gordon Eccleston from Robert Gordon University shared with us some of his experienced he gained whilst teaching students to develop iPod and iPhone apps. Gordon began by asking an interesting question. He said, 'is programming mobile devices different to other kinds of programming, such as programming using Java or .NET?' His answer is 'not really'. Like with other aspects of programming the only real way to learn is to get on and do it. Gordon also made an argument that we might get to a point where we may not distinguish between different types of device, such as a phone, a tablet or a laptop - we may end up calling them all 'computers' (especially that some mobile phones are now as powerful, computationally speaking, as laptops). At some point in time, mobility may be an attribute that we automatically assume.
Gordon echoed John's earlier comments about BOYD. Whilst at the moment Gordon provides his students with a set of iPod Touch devices which they can use (separately from any other device that they may own), one important consideration when teaching mobility may be the availability of effective WiFi in the classroom.
Increasingly, students may wish to work from home or work part time (which connects to John's earlier keynote on the subject of mobile learning). To facilitate different ways of learning, institutions can make use of technology to allow students to gain access to learning. Material can, of course, be delivered through an institutional VLE.
Gordon concluded his presentation by speaking about interactive books, which I remember reading was going to be Steve Job's 'next big thing'. Gordon mentioned a company named Giglets which produces interactive multimedia 'books' for either PCs or eBook readers. There is also the increasing possibility (or, even, likelihood) that students in primary schools may begin to make use of tablet devices.
This broader discussion about tablet devices in schools made me begin to wonder about the extent to which digital books and institutional services or systems (such as VLEs) can be connected together and how institutions can support the use of mobile technology through the use of organisational structures. Whilst technology may sometimes help, organisational structures and support must always facilitate its use, but understanding how to best achieve this can be a whole different challenge.
Teaching Android Programming at Oxford Brookes
Ian Bayley and Faye Mitchell gave a joint presentation about their experience of teaching Android programming at Oxford Brookes. I remember hearing that they clearly emphasise that mobility is a whole lot more than just the phone. I completely agree. One interesting observation is the programming is an activity that is continually difficult. When it comes to learning how to program, high levels of motivation is really important. An interesting point is that students who may be strong at mathematics can find programming difficult. Whilst mathematical skills may be useful, 'algorithmic thinking' may be something that is quite different.
Students are introduced to programming through the use of other tools and languages, such as Alice (which has been mentioned at a number of other HEA events), and Processing (which is a Java-based language that can be used to create graphics and data visualisations, for example).
I also remember hearing about the creation of screencasts to allow students to get a more direct understanding of some of the applications that are used. Towards the end of the presentation there was time to discuss assessments. Students are given the opportunity to create their own app. Examinations, it was argued, was considered to be an inappropriate way to assess knowledge and understanding. This is especially pertinent given the practical nature of mobile programming.
Bedfordshire's Experiences teaching app development with Lua and Corona SDK
Ian Masters presentation was very different from the others. Ian's talk was more of a demonstration of two different (and related) developments: a programming language called Lua (which I had never heard of), and a corresponding SDK called Corona (which I had also never heard of). In combination with each other they can represent a 2D game development environment for different mobile devices. Interestingly, Lua and Corona are multi-platform, which means that code is (of course) transferrable between different mobile operating systems and devices, making it a really attractive tool.
Ian began his presentation by defining a simple environment in which a game may be played. This involved defining screen elements, such as a floor, and also blocks. Another interesting aspect of the environment is that Corona also comes with its own physics engine. Items that are defined on the screen can bounce on and fall off items that have been defined. It looks to be really good fun!
Mobile Teaching Experience from University of Buckingham
Harin Sellahewa told us about a new module that is being taught at the University of Buckingham from September onwards. The aims of the module is to introduce students to mobile application develop, to help them to create a realistic app and to enable students to understand the wider commercial opportunities and issues that surround mobile app development.
Some of the learning objectives include understanding the components of a smartphone (such as its various peripherals), to critically understand the difference between mobile devices and PCs and for students to be able to design, develop and test applications. Interestingly, the module is using a Windows development platform. One reason for this different focus is due to familiarity with the Xbox development environment that Buckingham already uses. I look forward to hearing about how the first presentation went and what challenges were overcome.
Our experience of teaching mobile programming on different platforms at Staffordshire University
Catherine French and Dave Gillibrand presented some of their experiences of teaching mobile programming at Staffordshire University. It was great to see that mobility has been a subject that has been taught at Staffordshire for quite some time, beginning with Java ME and Windows CE (PDAs) before moving onto Android and iOS.
One of the tasks (or assignments) that students are presented with is the challenge of creating a 2D game, which sounds like a tough challenge. To address this issue, a very useful and helpful teaching paradigm has been adopted where students are given code examples where students are then encouraged to change the example. This was considered to be particularly useful with some aspects of programming, such as multi-threading, which students can find difficult.
I hold the view that using examples is a really good idea; I very often used this strategy when I was working in industry. Examples give students a combination of relatively immediate results (which can be rewarding) whilst also providing the materials that allow learners to gain an understanding of how things work, which may be only acquired over time.
An important point that was made is that a using a real mobile device is so much better than an emulator. Whilst an emulator can simulate the operation of some mobile peripherals, such as the GPS sensor, for example, other aspects of a mobile device, such as the behaviour of the touch screen are best experienced (and tested) with a real device.
I was impressed by the breadth of subjects that students may be introduced to as a part of their studies. These may include consuming public web services, development of an application using agile techniques which can include the use of test driven development (TDD) and using tools that are used in industry, such as Subversion.
A final point is that some students may begin a module with the view that developing apps may be something that could be easy. Programming is something that certainly isn't easy. I guess a personal reflection is that educators not only need to convey difficult technical concepts and expose problem solving challenges to students, educators also need to work to manage expectations. Programming, irrespective of whatever form it takes, is a craft and it takes time to acquire craft knowledge (and experience).
From the desktop to devices: teaching interaction design
I have to confess that I was responsible for the penultimate presentation of the day. Tempting though it is, I'm not going to write in the third person for this part of this blog. Instead, I'll refer to myself as 'I' as opposed to 'Chris'.
My own presentation was slightly different than all the others since it wasn't about mobile technology or even about programming. Instead it focused upon the process of designing interactive products and experiences (of which, programming will eventually play an important part). My presentation was based on experience gained as an Open University associate lecturer over the past six or so years where I have tutored a module entitled Fundamentals of Interaction Design (which I'll call M364).
M364 is a great module. It introduces students to key concepts such as usability goals, user experience goals and design principles. It then helps students to appreciate the power of sketching. Students are introduced to the concepts of evaluation where they are then encouraged to understand the advantages and disadvantages of different approaches.
During my presentation I described a scenario where a mobile device to guide a visitor around a historical location needed to be designed. I quickly outlined different types of sketches. The first was a storyboard, which enables designers to think about the broader context in which a product is used. The second is a card-based prototype which allows designers to consider the sequence of interactions (and even simulate them). The final sketch was a more detailed interface sketch which contained more detailed design about icons and how information is presented to a user.
The title of my brief presentation reflects the notion that the design process can be applied to many different kinds of platforms and devices. Not only can the interaction design process be applied to mobile or desktop applications, but also to static devices, such as ticket machines, for example.
Why teaching mobile? An Industry's perspective
The final presentation of the day was by Abdul Hamid. One of the striking aspects of Abdul's presentation was where he shared with us some graphs from an on-line job site (Indeed) which emphasised the demand for certain mobile skills. Some older skills, it was argued, were waning in popularity whilst others (particular those that were mobile related) were becoming increasingly popular.
I felt that this was a very cohesive event, in the sense that there were a number of presentations that were entirely dedicated to sharing of not only teaching practice (and insights about what works and what doesn't), but there was a lot of commonality in terms of technologies and tools. Although there were many high points of the day, the highlight for me was finding out about Lua and Corona. I had never heard of these tools before, which reminded me of how difficult it is sometimes to keep up to date in a fast moving field, such as mobile technology and software development.
As mentioned earlier, technology is a part of a bigger picture. John's presentation touched upon the importance of theory and history, particularly with regards to the domain of mobile learning. Mobile has an important role to play within business, commerce and our wider social environment. Other disciplines will undoubtedly play an increasing role when it to understanding the increasing role that mobile technology plays in our everyday lives. Just to echo words from John's keynote, pedagogy, usability and content are all important areas.
At the end of the workshop there was a short opportunity to discuss how the participants could potentially work together, collaborate and continue to share practice. There was also some debate about having a follow up meeting next year: a really positive outcome - congratulations to the organisers at London Met!