OU blog

Personal Blogs

Christopher Douce

HEA Workshop: Teaching and learning programming for mobile and tablet devices

Visible to anyone in the world
Edited by Christopher Douce, Monday, 3 Mar 2014, 18:44

On 25 June 2013, I popped over to the London Metropolitan University to attend a HEA sponsored workshop that was all about how to best teach the programming of mobile devices.  My role there was to present something about an OU module that I help out on: TT284 Web Technologies, but I'll be saying a bit more about that in a little while.

Yanguo Jing, from London Met kicked off the day by talking about the twenty credit MSc module that he leads.  Yanguo said that his module is strongly connected with industry and various technology vendors and important themes are that of innovation and enterprise.  Importantly, students have an opportunity to carry out research themselves, create their own projects, develop their own apps and present their own findings.  One way that they do this is by making their own videos (which is also a great way to create evidence which can be contributed to assessments).

Yanguo also mentioned something called the Wow Agency. One of the important points of having a more direct connection with industry is that students get more immediate exposure to demands from industry.  This was thought provoking stuff.

Teach the future, not the past: Blackberry 10 development

Luca Sale and Simon Howard gave the first of two vendor presentations.  I'll put my hand up and say that I know next to nothing about developing applications for Blackberry devices.  In fact, I don't think I've ever used a Blackberry device other than to scroll through a message, when a friend briefly gave me their device to look at!

This presentation was all about developing for a new device, the Blackberry 10.  I have heard bits and pieces about this, but the new device has a totally new operating system called Z10.  Interestingly, it is based on an operating system called QNX (Wikipedia) (which I had vaguely heard of before).  Basically, it uses a microkernal architecture (which means it has a way to enforce stronger separation between the hardware and the main operating system that runs a device), it's pretty small, and is used in a range of different embedded systems.

Apparently, there are number of Software Development kits (SDKs) which means that it's possible to take an existing Android app and port it to the Blackberry (and have it deployed to users via the Blackberry equivalent of an app store).  The SDKs that were mentioned included Qt, HTML 5, Blackberry native, Adobe Air, and Java Android Runtime.

There was a quick live coding demo of how to create apps using the HTML 5 framework.  Other languages that might be used to craft code included Javascript (in conjunction with HTML 5), C++, and Java (as far as I understand).  At the end of the presentations, Nafeesa Dajda described the Blackberry Academic Programme (Blackberry).

Microsoft devices and services

Lee Stott continued the vendor specific part of the day by making a Microsoft themed presentation.  Microsoft, of course, has been investing significantly into the mobile devices space.  Not only do they have Windows phones, but they (of course) also have their Touch PCs.  So much so, that their new operating system (Windows 8) aims to create an experience specifically for tablet devices.

Lee talked about software eco systems and mentioned that services (as well as devices) are important too.   Services can also be thought of in terms of cloud services, and we were told that the cloud was becoming more and more important.  Since data is stored elsewhere, users have the potential to move between different devices and still have access to their documents and data, thus enhancing the user experience.  

One of the most interesting part of Lee's talk was where he spoke about the Microsoft Azure services.  I have to confess that it's been quite a while since I've been a Microsoft developer (in the intervening years I've done some PHP and coding using open-source frameworks), so it was useful to learn what the company has been up to and what services they are offering.

One of the challenges that I've always puzzled over is if you run your own tech company, how you might go about running and maintaining your own servers and databases.  System administration is a necessary, important and essential evil: getting to grips with real kit and devices is important, but is a detailed technical specialism in its own right.

If I've understood this correctly, Microsoft can host a virtual server which then can host your own database.  I'm also assuming that if you want, you can also write your own web services to do whatever magic stuff you need to do, which can then be consumed by users of mobile devices (or any other kind of client).  Customers of this service are then billed per minute of processor time.  I can see the benefits; server plant depreciates quickly and keeping them maintained is always going to cost money.  I find this approach to hosting and consuming data really interesting, especially since it offers an approach to devolve risk to a third party.  Of course, there are a number of competitors (Wikipedia) in the cloud services arena.  This whole area seems to be a new subject in its own right.

Just in case you're interested, here's a couple of links I've gathered up: the main Microsoft Faculty pages, the UK faculty connection blog, and a link to the Azure education blog.   Another link is DreamSpark which seems to be about giving students and institutions access to some of the latest tools and technologies.

TouchDevelop for Windows Mobile 8

The next talk was by David Renton, who is a lecturer in Computer Games Development.  David introduces a platform called TouchDevelop (Microsoft website) which used to be a Microsoft Research project. TouchDevelop is a programming language that has a graphical feel.  Programs that are created using it have an appearance of a textual language, but elements of code can be created using a series of menus (as far as I can understand).

The software that you can create using TouchDevelop can be run on different mobile devices.  In some respects, TouchDevelop occupies the same space as Scratch (MIT website).  David makes the point that it's difficult to create good games in Scratch.  I can (personally) neither confirm nor deny David's assertion, but my own view is that Scratch is a fun and useful environment which allows users to escape from the tyranny of syntax, whilst at the same gradually introducing users to different (and essential) programming constructs.

What was really interesting was that TouchDevelop contains cool stuff, such as a physics engine.  By providing such a facility, I can certainly see how and why such an environment could be particularly interesting and engaging.  Again, for those who are interested, David has a blog called Games4Learning.  A final interesting point is that TouchDevelop runs in a web browser, so will work on different platforms.

Shorter presentations: Lua and Corona, Digital Summer Camp

Ian Masters gave a short presentation entitled, 'teaching cross-platform mobile development using Lua and Corona'.  Corona (website) is a software development SDK and Lua (Wikipedia) is a programming language.  Like TouchDevelop, Ian demonstrated the use of an integral physics engine.  During the follow on discussion, there was quite a bit of talk about the Unity Engine (Wikipedia), which I've heard mentioned at a number of other HEA gaming and mobile events.

Martin Underwood talked about Digital Summer Camp which is an event where universities, colleges, industry vendors and other organisations have come together help to inspire young people who are interested in technology.  The Open University is also one of the 'digital skill leaders'.

iPhone game development at Robert Gordon University

Gordon Eccleston has been teaching the development of apps for quite some time.  He gave a short talk on what works and what hasn't worked.  Gordon introduced a new term: a flip classroom!  I hadn't heard this term before, but apparently this is where students do some preparatory work at home to prepare for tutorials (I think I've got that right!)

Gordon spoke about how things have changed.  These days students invariable have their own devices.  One difficulty is that vendors are always changing their devices, which means that lecturers face challenge in terms of an inability to control in their own environment.  This said Gordon does have access to some iPod Touch devices, allowing code created using the XCode platform (the environment used to create iOS applications) to real devices.

Gordon also mentioned that the school had access to the Unity3D engine.  This gave way to an interesting discussion about the difference between games programming versus games design courses.  I've also made a note that when it comes to submission of course work, submission to an apps store represents one judgement on quality.  When it comes to further assessment by the lecturer, one approach is to ask students to create a screen cast.  Assessment, I seem to recall, is a perpetual challenge (especially with the continual changes in technology), as is how to provide both teaching and resources through a web based environment.

Mobile apps development: enhancing student employability

Sally Smith and Scott McGowan, both from Edinburgh Napier University gave a short talk and presentation on the importance of employability skills.  Sally, who is the head of school, said that employers value relevant experience, want to see applicants who have a relevant degree, and have good soft skills. 

Faced with the necessity to demonstrate employability skills, it was argued that it would be useful if students could create something (say, an app, or some other related project) that can be both added to a CV and talked about in an interview.  Sally also talked about the importance of industrial experience and how her institution and school tackled this issue.

Teaching and assessment strategies in mobile development

David Glass teaches mobile development to second year undergraduates at the University of Ulster.  Students can create apps for the Android platform with Java using Eclipse.  Important parts of the module that I've noted down are subjects such as user interface design, data persistence and networking.  There is also a period of self-study where students are to gain an overview of mobile devices.

Challenges include teaching of programming and understanding what to assess and how.  The assessment approach that David mentions sounds really interesting.  Students are required to address legal, ethical and social issues.  They are then required to develop a basic app before moving on to creating something that is more advanced.  A basic app might be something such as a simple calculator or a measurement converter.  

Interestingly, a more advanced app might be something called a 'my run tracker' app.  David made the important point that the task of creating apps lends themselves to more open-ended assessment and group work.  Taking this approach has the potential to encourage creativity and help with motivation.

Design designers, don't program programmers

Lindsay Marshall, from the University of Newcastle, gave an impromptu talk that described his own ten credit postgraduate module and connected with many of the earlier debates.  At the end of his module, students are required to submit a portfolio.  Relating to the challenges of assessments, students were allowed to choose whatever platform they wanted, and choose whatever problem they wished to solve.  Students were encouraged to produce a design log and to present some kind of demonstration.  Moving forward this may take the form of a video presentation or recording.

Lindsay made the important point that it is also important to take the time to look at the code, as well as the final product.  Another component is the writing of a reflective essay, to describe what was learnt during the project.  Interestingly, there are no lab sessions.  Instead, Lindsay mentioned the importance of crit sessions, which is an important technique used in design.

What was really struck me from Lindsay's presentation was something that was also pretty obvious: that there are significant connections between the design disciplines and software development.  Both are fundamentally creative subjects, and both require people to understand the inherent nature and characteristics of problems.

Web technologies

And finally, it was my turn.  During my slot I spoke about a new Open University module called Web Technologies (TT284, Open University website), emphasising the point that there are so many important technologies that underpin the use of mobile technologies and devices. 

TT284 is interesting in a number of different ways.  Firstly, is uses a set of case studies of increasing size.  Students move from understanding how to create an app for a small club or society, through to understanding what might happen as a part of a software development company.  Students are then introduced to 'software in the large' (or sites that have incredibly high volumes), and what practical issues might need to be addressed.

When it comes to mobile technologies, drawing on a case study, students are asked to create an app for an Android device using MIT App Inventor (MIT website).  App Inventor is a graphical programming language, where code can be moved to real advices.  One of the challenges for any module that aims to either teach mobile technologies is the way that technology changes so quickly.  A really good aspect of this particular module is that it also addresses a good number of fundamental and really important standards and technologies.

Reflections

I learnt quite a lot from the vendor presentations and it's always useful to hear about the industrial perspective, particularly in a field that is moving so phenomenally quickly.  Whilst it's great for academics to learn what industry is getting up to (and you might argue that this is a thoroughly essential part of the job description), the presence of vendors links to an implicit battle for the hearts and mind for developers.  Users choose devices and technology that allows them to do cool stuff.  Cool stuff is created by developers.  Developers, in many cases, come from universities.  Taking this even further, developers are employed by industries who ultimately want people to be skilled in using particular software infrastructures and ecologies. 

Things have changed since I first started to go to these mobile technology events.  There are now many more devices than there were before.  The devices themselves have changed - they have more memory and power, and on the horizon there is a new generation of faster mobile networks.  By the same token, there are, of course, new tools, development environments, frameworks and libraries.  Educators are faced with the challenge of what to teach.  Some educators choose particular platforms, whereas others leave this decision entirely up to students.

When it comes to pedagogy, project and group work appears to be fundamentally important, particularly when it comes to developing employability skills and creating artefacts that can be presented to potential employers.  Keeping things open (in terms of either platforms or the problems that can be solved by the application of mobile technology) can present some challenges when it comes to assessment.  There seems to be some consensus in terms of asking students to produce videos of their working apps might be a good approach.

Making a decision about what platform to use or to develop for isn't an easy one.  When I was a student I was once told by a faculty member that 'you really need to know how to use all types of technology'.  His point was that you will more readily be able to move between one platform and another.  In doing so, you'll gain a degree of flexibility that will allow you to appreciate how things might be done in different ways.  This is a perspective that has stuck with me and one that is important since the platform that you're using now will eventually become obsolete in a couple of years' time.

When it comes to mobile technology, everyone is trying to figure what things we should be teaching and what the best approaches for teaching might be.  When we're dealing with an industry that is moving as quick as it is, these kind of events can be useful in terms of making connections and putting a marker in the ground whilst saying, 'this is how we do things today'. 

Permalink Add your comment
Share post
Christopher Douce

Teaching and learning programming for mobile and tablet devices

Visible to anyone in the world
Edited by Christopher Douce, Monday, 3 Mar 2014, 18:45

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.

Reflections

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!

Permalink Add your comment
Share post
Christopher Douce

Mobile Application Development: from curriculum design to graduate employability

Visible to anyone in the world
Edited by Christopher Douce, Tuesday, 19 Oct 2021, 11:26

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.

Industry keynote

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.

Aaron isn't stopping at creating apps with App Inventor.  He mentioned his intention to try to work with Lego Mindstorms Robots through the Android SDK, where it might be possible to create a 'remote control' app using Bluetooth radio.  Aaron also mentioned that there was also opportunity to share the workings of HTML and Javascript with his students.  If my memory isn't playing tricks on me, I also seemed to recall that he mentioned that one of his students was inspired enough to use C++.

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. 

Mobile Assessment

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.

Reflections

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!

Permalink Add your comment
Share post

This blog might contain posts that are only visible to logged-in users, or where only logged-in users can comment. If you have an account on the system, please log in for full access.

Total visits to this blog: 2357926