University College London (UCL), transforms its Computer Science teaching by introducing students to app-building tasks

University College London (UCL), transforms its Computer Science teaching by introducing students to app-building tasks which address real life problems for business, public services and charities.

In order to achieve this, students and staff deploy a full range of Microsoft technologies, including Windows 8, supported by Microsoft’s developers and researchers. By doing so, the University is able to further to enhance the motivation and employment prospects of its students, confirm its role as an international force in the development of computing and set out a model that has far-reaching implications for teaching and learning in higher education.

Something exciting happening in London

The Department of Computer Science at University College London (UCL) has a global reputation. As the Department’s web page says,

‘In the most recent Research Assessment Exercise, 80% of our work was rated world-leading or internationally excellent.’

At the same time, higher education is changing. Students no longer want to just sit in lectures and produce assignments seen and marked only by their teachers. They’d prefer to do things that matter, and change the world.

Nowhere is that challenge more evident than in Computer Science. Here particularly, explains Dr Dean Mohamedally, Senior Teaching Fellow in Software Systems Engineering, tradition has been unceremoniously set aside, in this case by the arrival of apps – ‘micro software engineering’ packages that are closely targeted to real-world end users who have specific requirements and problems to solve.

‘Students can now take what was previously given as a coursework exercise, harness it, and put it in a wrap up package and most importantly, ship it to do something useful.’

At UCL the response has been decisive and quick. In September 2011, a number of syllabus updates were put into motion. Starting with first years and Masters courses, there was a radical rewrite of courses that would put the building of apps at the core of learning to program, on all taught degrees. UCL treats apps development as a core computer science skill, where each and every CS student gets to solve real-world problems through deployment.

‘Deployment’ is a key word and concept for the problem solving approach, says Dean Mohamedally. It is a word that has previously been mistreated in Computer Science – how do we get the final reach to users?

‘That magic word is going to define the future of computer science for all our year groups. Their student CVs will show a wealth of harnessed knowledge in Computer Science, released to the domain that would use them best.’

As a result, during 2011/2012, first year students were resourced and guided as they built android apps right from their first major Object Oriented Programming course. These eventually included the building and deployment to the field of some very well-received data-gathering tools for charities working in the developing world

‘These two charities, Restless Beings and Health Partnership Nepal, asked if we could help with their data collection methods,’ says Dean. ‘They had healthcare workers in Asia and Africa collecting information on children who are in harm’s way and they were setting up the necessary administration to get health supplies out there. In regions where surgeons need to audit further and gather data on necessary medicines, data reporting is critical to their success given limited access available for resources.’

Unsurprisingly, the effect on student motivation of this kind of engagement is dramatic, and many students go far beyond the immediate demands of their coursework to help. As a result of this evident success, UCL Computer Science courses at all levels are increasingly focused on writing applications that address real problems and requirements. Here, the University’s carefully fostered relationships with businesses and other organisations in healthcare, finance and the charity sector pay special dividends, and there’ll be no shortage of real problems for students to solve.

Engaging with Microsoft

By September 2012, with Windows 8, and Windows apps well on the way, the Department of Computer Science has built on their world-leading experience across their fields, in Software Systems Engineering, Networking, Machine Learning, Programming Principles, Logic and Verification, Virtual Environments and many more. Through all of these subject arenas, they have turned increasingly to Microsoft technologies, services and especially Microsoft people highly entwined – all of the named groups above have ties directly with Microsoft Research.

As Dean puts it regarding the teaching arena -

‘We’ve made a huge push for Microsoft technology. Its what the world uses to solve problems and our students should be at the forefront of solving. We have found that many of our courses can open new opportunities by using the Microsoft development tools.’

There’s a specific approach, he says.

‘Our teaching steers them with the theory and depth of each Computer Science knowledge domain. We teach them to identify the needs of the client to define the problem, to talk through and learn to communicate properly their cases both as individuals and as teams, to analyse and to test with strategies and to ensure logical design through formal proofing methods. Microsoft’s well published specifications, APIs and technology access in education enables students to explore how to make full use of the subtleties of the technology platforms available, merging with the domains of Computer Science.’ For example, the use of F# in algorithm design and the new features of HTML5 + JavaScript to construct user interfaces for apps.

Already, over the Summer of 2012, two major projects were tackled by UCL MSc Software Systems Engineering students, in co-operation with Microsoft and using Microsoft development tools.

One project, ‘Powersource’ , is a Microsoft Visual Studio 2012 plug-in for tracking the progress of ‘Agile’ software development teams in both the academic and business environments. Applied to a school or college for example, it could provide a teacher with continuous feedback on the work of teams of computer science students, detecting errors and bugs in their work before they reveal themselves at the end of the process. ‘Powersource’ was built with development tools including Visual Studio 2012 Team Foundation Server 2012 and Windows Presentation Foundation. It will be released globally on ‘CodePlex’, Microsoft’s Open Source Project Hosting website.

Another MSc project, ‘Pasteur’, also exploited the features in Visual Studio and using .NET ‘Gadgeteer’. It demonstrated a platform for consultant surgeons in a cloud solution, hosted on Windows Azure, to measure the physical dexterity of trainee paediatric surgeons with a range of sensor types. The Gadgeteer platform from the Devices and Sensors group at Microsoft Research is a cutting edge platform for learning about sensor control as well as providing a vast array of componentized device types. This enables developers to simulate the prototyping of brand new categories of devices.

Both these applications were highly praised, eagerly received and fully supported by their client groups.

‘Those advanced projects, given their appropriate use of the state of the art and that they apply to a highly significant user base, is entirely inspirational for younger students who have a serious drive to explore,’ says Dean.

‘DreamSpark’ and Windows 8

UCL Computer science students use a range of technologies – ‘Technology agnostic’ is how Dean describes the approach. At the same time there’s no doubt that Microsoft’s development tools, supported in action by Microsoft developers and researchers, are increasingly becoming key drivers of learning and creativity in the Department.

Visual Studio and Team Foundation Server, for example, are in constant use and they, together with a wide range of other development tools are available to students within the Microsoft online education resource ‘DreamSpark’.

‘DreamSpark is very important for us,’ says Dean Mohamedally. ‘It gives students all the development tools that they need for their learning – full versions, the latest databases and servers, at no cost.’

DreamSpark Premium also now includes Windows 8 and from November 2012 student app developers will be working in Windows 8. There is, for example, an MSc course where students will design and build apps for Windows 8 devices, for Kinect for Windows, Windows 8 Phones and Tablets, using programming tools in Visual Studio.

‘They’ll be full-bodied apps with real world users in their design,’ says Dean Mohamedally. ‘Their marking criteria are set specifically to encourage them to reach the standard to approve that their work will go in the Windows Store. There is visibility and a measure of success in the feedback of end users downloading your own technology.’

Second year Systems Engineering undergraduates, in teams of four or five, are also developing projects using Windows 8. One group is creating a learning environment for a local secondary school that emphasizes student collaboration and creativity. The solution uses the Microsoft PixelSense, Kinect for Windows along with Windows Azure Cloud access for collaborating with students on devices along with touch and motion gestures. One group is working with the University College Hospital (UCLH) to creating a mobile data monitoring service to help collate nutrition data, via a Windows 8 app, in post-operative heart patients. This system will make use of touch screens and especially digital inking, a great business-case feature that has been available in Windows for several years growing in accuracy. Another of the groups is working on a networked vehicle system to be fitted in a taxi or delivery service. In this project, the students are going all out with gadgeteer sensors, pico projectors and use of the Windows Azure Storage Services REST API for providing a service layer of communication to all related vehicles.

Dean is excited by the way the students are treating access to new technologies. ‘Its no longer relevant to industry, to just say a student knows a language like Java and therefore they are a programmer. What about robust coding, variety of languages, exposure to bug fixing, and the nuances of adopting underlying protocols to form a solution? What about clarity in test suites, securing your deployed code and the ability to function in a team – both when requirements are fully defined, and when the need to prototype and build something totally new is needed?’

‘The Kinect hacks that students did with betas from Microsoft before the Kinect SDK was made available were the tip of the iceberg – they want to play, find applications of use and show what else can be realized with new technologies. They are absorbing techniques and methods at an incredible rate.’

He has added possibilities for his students’ work offered by Windows 8 –making use of multi-monitor and touch-screen capabilities, for example, to enhance the rich interaction and information visualization features that are important in many of the new industry applications being developed. Even he himself uses Windows 8 in teaching with a great new paradigm of presenting – hosting three screens in a lecture simultaneously, with one for Powerpoint presentation, one for compiling code in Visual Studio or designing classes in Visio, and the final screen for either Skype, output to devices, debug output or other information.

‘We have a new ability to add a skype screen to the lecture – we can literally add an external guest, an industry partner or even an examiner to join the class and answer questions like a window through the wall, whilst showing Powerpoint and the code output in Visual Studio – this is done using regular HD cameras and large monitor screens via Windows 8’

Most important, though, for the students, is the prospect of writing projects which will run on all major hardware platforms; PCs, Windows Phone and Windows surface tablets. The underlying architecture of windows 8 is common to all of those devices. To facilitate this realization, they built a special purpose apps lab that all devices could be used for testing software developed by students.

Even before Windows 8 was available, software under development at UCL was being built with an eye to Windows 8 features, with the co-operation of Microsoft developers,

‘Microsoft gave us sessions where they explained what Windows 8 could do, and we did some forward thinking,’ says Dean.

‘So we knew what was coming and it was a case of how far you could take what we were doing as close to Windows 8 features as possible. It would only need small team then to make it ready to deploy on Windows 8.’

In touch with the future

This short study makes it clear that Microsoft is doing much more than simply supplying software and hardware for Computer Science courses at UCL. As Dean puts it, it’s about Microsoft developers and researchers helping academics and students to make the most of the technology.

The Department of Computer Science recently hosted a Windows 8 developer day alongside Microsoft UK, of which all student years were kindly invited. In testament to the value that students placed, over 220 students from across the Computer Science year groups attended. At this event it was announced that UCL would be hosting the UK finals for the Imagine Cup – the largest student competition for Microsoft. This event will take place in March and April on UCL’s main quad campus.

In order for this new way of teaching to succeed, it is of the highest value to UCL that the Department of Computer Science works as a family in forming its relationship with Microsoft. Its Admin and Finance team, the Technical Support Group team, the world class Research groups and of course the Teaching teams, all identify the areas that Microsoft technologies best integrate into their aspects and respective responsibilities that ultimately lead to the new highly problem-based learning curriculum.

The one lasting message that comes from UCL, with Microsoft’s support is the following.

‘Students must become visible. They must demonstrate skills that show that they are strategic. They must be fearless with new technology and ideas, and above all – they must publish to make change.’