I had never visited the University of Buckingham before. It was on the morning of Tuesday 15 May 2012 that I found myself travelling to Milton Keynes railway station to meet with a pre-booked taxi that would whisk me into the unknowns of the Buckinghamshire countryside towards an event that was intended to share practice about the teaching of mobile technology. Although I had never visited Buckingham, I have heard it being spoken of many times before; a radical institution which was founded at approximately the same time as another radical institution, the Open University.
As well as sharing practice about the teaching of mobile application development another really important theme was the subject of employability and the open question of whether universities are 'teaching the right stuff' to enable graduates to immediately make a contribution in the workplace.
This blog post is a summary of a visit to a HEA event entitled 'Mobile Application Development: from curriculum design to graduate employability'. If I've missed any key points, I encourage the fellow participants and delegates to add comments below.
Lee Stott, an academic evangelist from Microsoft kicked off the day with a really interesting keynote. Lee is from a part of Microsoft that works with university departments (Microsoft Faculty pages).
Lee emphasised the point that users expect connectivity. I made a note of an interesting quote that went 'mobility plus cloud equals opportunity'. It's easy to imagine (or even remember) situations where one gained access to information whilst travelling, solving problem, such as finding an address of a location or accessing some urgently needed information.
Lee also made the point that mobile devices are our predominant work tool (or tools). A tool, of course, might be a phone or a laptop. This is certainly true in my case; I often haul my laptop between the OU's headquarters in Milton Keynes and my home, sometimes using the dead time on a train to do some marking. Another thought that comes to mind is whether mobility is causing work time to encroach on our personal time, but this is a whole other debate (and one that I hope to connect with by writing another blog post about a recent seminar).
The usefulness of an app depends on a combination on its functionality, the functionality of a device and the availability of a network. To be useful, apps need to be useful but also graphically appealing. Lee emphasised the importance of designers, not just software designers, but graphic designers. This connects to an important point which is that creating good apps is an interdisciplinary activity - a combination of technology, business and art. Writing commercial apps isn't just about writing software that works - they need to be 'hardened'; tested thoroughly and be checked for vulnerabilities.
Microsoft, along with other mobile platform vendors (such as Google and Apple) have their own ecosystem of tools, technologies and platforms. Microsoft is but one of many platforms that educators can choose from.
I have to confess (for my sins) that I used to be a software developer who mostly specialised in Microsoft technologies. I used to use .NET, MS SQL and a bunch of other stuff. It has been, however, a few years since I've done this. Lee introduced new technologies that were entirely new to me, such as Microsoft Azure (wikipedia) and Microsoft XNA (wikipedia) for Xbox. Lee also mentioned other software that was on the near horizon, such as Windows 8 (wikipedia) which can be used on 'slate' (or tablet) devices.
Lee also touched upon the important subject of recruitment. Lee emphasised that it is important to encourage students to build apps and sell them through apps market places to create a portfolio which can be shown to potential employers.
The question and answer session was interesting. There was some discussion about cross platform approaches to development and the fact that when you go cross platform, developers lose some functionality from the original host operating system of a mobile device (or phone). The subject of native code versus multi-platform code was a debate that arose on a number of occasions throughout the day. HTML 5 (wikipedia) was regularly mentioned, along with a platform such as PhoneGap (PhoneGap website).
Another tension that exists particularly when industry representatives and university representatives debate curriculum, is the difference between education and training. Industry wants people who are fully trained (and ideally want universities to do this), but the real role of universities when it comes to technology (in my opinion) is to enable students to effectively know how best to learn and adapt to new tools and situations. Lee made the point that the teaching of fundamentals is essential. I agree. Conveying principles through the use of vendor specific tools whilst presenting concepts in a general way to enable other technologies to be understood is a difficult thing to achieve.
Mobile application development: a journey thus far
Harin Sellakewa from the University of Buckingham gave a presentation that described how mobile technology came to be taught, in its current form, at Buckingham. Harin described how some of the curriculum had changed and outlined the introduction of new modules. The use of mobile technology had been explored by a number of various projects, including those that were funded by the EU.
Some of the key learning objectives of a module on mobile software was mentioned: how to design applications (or apps), understanding different components and learning about various guidelines and specifications. All these learning objectives could then contribute to making an application that could be sold on the free market.
Harin also gave us a number of useful tips. Any module must (of course) satisfactorily complement any existing modules, also aim to get people involved, speak to different vendors, start with student projects, attend training events that are run through industry and take the time to network.
A number of different topics were exposed through the question and answer session. As well as a discussion about different technologies, an industry representative mentioned the importance of candidates having a portfolio of work to demonstrate to prospective employers. One point that stuck in my mind was that an unfinished application has the potential to work against an applicant; showing something polished and complete is necessary.
Developing Apps in Schools
Aaron Peck teaches computing and ICT at the Royal Latin School, Buckingham, a school just around the corner from the university. Aaron began by speaking about wider discussions about the GCSE computing curriculum, mentioning the OCR GCSE which was said to contain three key components: programming, a research project and an examination.
Aaron emphases fun and mentions the use of the MIT Scratch (Scratch website) environment. He also went onto speak about mobile devices, a technology that the pupils are invariably likely to be familiar with. Here lies an obvious collision of ideas: why not teach programming through the use of mobile devices?
Scratch has, of course, some distinct advantages - it is immediate and gets around the tyranny of fiddly syntax by providing students a graphical environment in which they can play. Another programming environment that has a graphical world is the MIT App Inventor (App Inventor website) which allows users to create apps for Android phones.
Students are encouraged to create small projects, which may include a simple calculator, a recipe book or a hangman game. The creation of apps has the potential to open up further discussion of wider issues, such as how such developments might be commercialised. I remember an anecdote from Aaron, where he was asked by a student about how much an app programmer might earn; a testament to his ability to instil enthusiasm and engaging choices of technology.
There were some advantages to using App Inventor; it can be used on multiple development platforms, it is relatively simple to install and given that students may have used Scratch during earlier studies, making the graphical nature of the programming environment to be (potentially) more easily grasped by students.
The question and answer session led us to subjects and technology such as Microsoft Kodu and Micrcosoft Gadgeteer. Other important issues include addressing the gender imbalance, and how to motivate all student groups, including those who may not have a strong technical bias.
I really enjoyed this talk. Two big parts of tech were familiar to me: Scratch (or as I know it, Sense), and App Inventor. Both products are used as a part of different Open University computing modules, TU100 My Digital Life and TT284 Web Technologies. It was an eye opener, for me, to see how these products could be used a way to inspire students at GCSE level.
The use of mobile technology to help teaching and learning seems to be a hot topic at the moment. Joan Lu gave a presentation about the use of mobile technology for assessment and also mentions the use of student response systems making reference to an EU funded project entitled Do-IT. Joan is from the XDIR research group at the University of Huddersfield which has carried out research projects related to mobile technology.
Designing the mobile syllabus to enhance student employability
Yanguo Jing from London Metropolitan University gave a presentation about his first hand experiences of teaching about mobile technology to his postgraduate students. It was a really interesting presentation that was packed with useful tips, not just about teaching but also about industrial engagement too.
Returning to the subject of multiple platforms and environments, Yanguo said that initially he tried to teach a little bit about all the major toolsets. He came to the conclusion that this was less than ideal. Although students might be given breadth, getting to the 'depth' is always a challenge. It was decided, therefore, to focus on one particular platform and use the experience with the platform to make points that are important in other platforms too. This is a very sensible practical decision; there is only so much detail that a lecturer can hold in his or her head at any one time.
Understanding mobile isn't just about understanding technology and the fundamentals of creating some executable code that runs on a device, it is also about understanding the surrounding business and economic area. Connecting back to the ideal of creating marketable Apps that Harin touched upon in his earlier presentation, Yanguo said something about how he encourages his students to enter application competitions, or Appathons. He also mentioned that students were also encouraged to attend an industry conference, DroidCon, to gain first hand experience about what is happening within industry. It was interesting to hear that Yanguo is a part of an industry liaison group. Not only does this facilitate a connection between academics and industry, it can also act as a connection between industry and students too.
Finally, it is also perhaps worth mentioning that Yanguo is helping to organise a related HEA event on mobile technology on 15 June 2012, entitled Workshop on Teaching and Learning Programming for Mobile and Tablet Devices. It sounds like it's going to be a great event!
Programming with iOS
Gordon Eccleston from Robert Gordon University, Aberdeen shared some of his experiences of teaching using Apple's iOS. This platform enabled students to learn something about HCI principles and also about object-oriented programming (through the use of Objective-C).
Gordon offered a key tip which echoed earlier discussions in the event. He said, 'keep your modules as generic as possible'. Inspiration and information that informed the creation of his module included looking at different text books and short courses that were designed for industry. Studying the documentation provided by the vendor can be a very useful source of materials that can help to guide or inform the creation of aspects of a module.
Gordon spoke about lab based teaching (in a lab containing lots of Apple kit) and student course work. Gordon then went onto present a brief overview of a number of different student projects. The use of projects cannot be understated. A good project connects the technology with broader issues of business and also helps to give the student some good materials that can be immediately demonstrated to a potential employer (I have this image of an interviewee handing their phone to an interviewer whilst saying, 'this is what I've done). One project that stuck in my mind was an app that illustrated a fashion portfolio which demonstrates a connection between apps and marketing.
Gordon's session inspired a really interesting question and answer session. One point was that PC (or Mac) based simulators are all very well, but it's also important (as well as rewarding) to allow students to run their software on actual devices (such as an iPod touch). For one thing, it allows the developers to gain access to device only peripherals, such as accelerometers and other sensors that they wouldn't otherwise have access to.
Reflection of curriculum design and delivery in mobile computing
Khawar Hamed from the University of Staffordshire spoke about his experiences of curriculum design. Khawar's presentation reminded me an app is at the top of a technology pyramid. Along with the operating system of a device, apps are perhaps the most visible software artefact that users interact with. Underneath the app and beyond the phone there is a sophisticated digital infrastructure that enables devices to work. Some of the modules that Khawar mentioned allow students to begin to study these underlying technologies. Another point is that mobility isn't just about technology, it's also about enabling organisations to achieve their objectives.
Khawar touched upon other issues such as the importance of getting the right name for a course or programme. Since the names and phrases used to describe technology can change relatively quickly, perhaps the names of modules and programmes should be prepared change too? An important point was to always seek industrial involvement wherever possible. Connecting to this point, Khawar mentioned an organisation called The Wireless University Forum.
One really interesting debate that emerged from this presentation centred upon whether an institution should provide devices that students can transfer code to. The answer was a resounding 'yes'. Not everyone will have an Android phone, or an iPhone (or even a smartphone, although this is something that is changing). Plus, providing a device delineates between what is a 'learning' device and what is a 'personal' device.
Mobile app development - creativity, skills and evidence
The final talk of the day was a second keynote. Andrew Lapham, from Yell Labs gave an enthusiastic presentation about the work that his team carries out and what characteristics in potential employers he is looking for. Key points include the ability to be creative and generate new and interesting ideas, strong communication skills (the ability to communicate those ideas and to persuade others of their merit), and an underlying enthusiasm for technology and what it might be able to achieve.
The notion of having a portfolio of evidence was also touched upon. Whilst demonstration of apps or talking through a pet project is impressive, what is more impressive is having evidence that your own product or code has been marketed. This might include having a blog about a product, and also gathering some evidence about how your customers view your product.
There was one thing that surprised me about this day which was an exceptionally strong focus on apps. In retrospect, it shouldn't have been a surprise at all. Apps are the way to consume software on mobile devices.
I certainly sense that teaching programming for mobile devices isn't easy. Each platform comes attached to ecology of tools (and a whole set of accompanying vocabulary) and techniques. Teaching everything just isn't an option, but teaching in depth is surely the right way to go. Educators will therefore have to choose a platform and figure out how to connect a technology choice to wider principles to enable graduates to more readily get to grips with the new environments they will inevitably face.
One really interesting question is whether mobility and the technology that goes with it is changing software engineering? It's not a question seems to have an easy answer, but perhaps user based apps require different design methods than the lower level software that support the networking infrastructure and perhaps those who have stronger connections with the industry would be able to comment.
A final reflection relates to the creation of a portfolio that can help during the recruitment process. The importance of a personal portfolio was emphasised in a recent HEA event at the University of Greenwich about gaming and animation. Employers like to see what applicants have done. Furthermore, it offers opportunities to allow employers to find out about the difficulties that applicants face and how they were overcome.
When it comes to being an app developer, the message was clear: a portfolio of well-crafted working apps was clearly something that employers would like to see.
Congratulations to Buckingham for running a fun and thought provoking event!