OU blog

Personal Blogs

Picture of Christopher Douce

The changing face of the computing classroom: BCS, London, December 2017

Visible to anyone in the world
Edited by Christopher Douce, Thursday, 7 Dec 2017, 08:33

On 24 November 2017 I found some time to visit a book launch event at the British Computer Society headquarters in London. The book was entitled: Computer Science Teacher, and was written by Beverly Clarke (who is, of course, a computer science teacher). 

The timing of this event was significant: it happened a couple of days after the UK government budget where there was particular emphasis on the need to develop and computer science teaching in schools.

This blog comes from a set of notes that I made during the event. The aim of this post is to write something to help me to remember what CPD events I’ve attended during the year, and also to share a set of useful links to colleagues who might be interested in researching the subject of computing education (I know there are a couple of colleagues who have a particular interest in this area).

Introduction

The event was introduced in the context of the changing computing curriculum. It had been five years since the new curriculum for 5 to 16 year olds had been introduced in 2013. The curriculum changes occurred as a result of a Royal Society report entitled Shut down or restart? It is interesting to note that the Royal Society site has a whole section that is dedicated to the subject of computing education  (Royal Society)

Following the report and the introduction of the curriculum, there was the publication of a new report, entitled After the Reboot – Computing Education in UK School (Royal Society) which aimed to evaluate the changes.

There remain significant challenges, and it was these that were echoed in government announcements. A key point is that have to know how to teach this stuff, and it was reported at only 30% of teachers have any background in computing. A particular challenge is primary school, where I understand that teachers have to present lessons from across the curricula. There is, however, some help at hand. There is an organisation called Computing at School and, of course, there is this new BCS book which is intended to try to help by describing the role of a computer science teacher. We were told it covers subjects such as origins of the curriculum, the importance of knowledge, attitude and skills, government teaching policy, tools, points about pedagogy and issues relating to diversity and inclusion. 

Computer Science Teacher

A really interesting (and important) point was that computing gives teachers the opportunity to develop what was presented as ‘cross-curricula engagement’. From a personal perspective, I think this is one of the things that makes computing such a great subject: it touches on every subject and aspects of our lives.

The book, Computer Science Teacher, was introduced by its author, Beverly Clarke. Beverly shared a number of useful pedagogic tips, such as the use of a wall display to emphasise women in computing and practical engagement with organisations such as Cisco. There were other tips, such as making computing resources visible in classrooms and ensuring that resources that relate to the subject are clearly available in the library. There was also initiatives such as Ada Lovelace day (FindingAda). I also made a note of the idea of: students gathering and sharing stories; a pedagogic approach where students connect their studies to current and ongoing media stories.

An important question that I had was about how to extend the appeal of computing as a subject to girls. The numbers are stark: only 20% of GCSE students and 9% of A level students are female. One approach (along with increasing the visibility of role models) is for teachers to try to directly connect with the interests of learners, whatever they may be. 

Another key point was that learning about teaching doesn’t stop when you have a PGCE and have Qualified Teacher Status; there are other things to aim for, such as the National Professional Qualification for Senior Leadership (NPQSL). 

Some interesting resources were mentioned, such as Code Club which is described as ‘a nationwide network of volunteers and educators who run free coding clubs for young people aged 9-13’ and Barefoot Computing, which appears to be a part of Computing at School.

Reflections

What I really liked about this event was that there were a number of pedagogic approaches that I recognised along with others that I hadn’t really thought about: I recognised the importance of contextualising the teaching by the use of media stories, but given that I don’t work in the school sector, the importance of wall displays (and how they can offer encouragement) had passed me by. I was also struck by the number of resources that teachers can look at, not to mention those two very big reports: if you’re interested in computer science teaching, my sense is that you really need to read them.

Other than learning about the book, there were two another reason why I went to the event: the first is to learn more about the current computing curriculum (since some younger students may begin to arrive on the level 1 computing modules having studied the new curricula; to teach well, we need to know what they know). The second reason was to put the word out that the university had been recruiting for some new computing tutors; an event where computing teaching was discussed seemed like a great place to make some contacts.

A final note is that computing in the school sector remains an interest, but since I work in higher education, I feel somewhat disconnected from it. I do feel that there’s a lot that can be learnt and shared between both of the sectors. A challenge is trying to find the time to read more and to try to develop or facilitate cross sector collaboration.

Update, 7 December 2017: After attending the workshop, I visited the Royal Society website to see what I could discover. I found there was a way to receive subject specific updates. A week or so after the event I received my first email update, which contained not only a reference to After the Reboot report, but a link to a blog entitled: Improving computing education in our schools by Sue Sentance (Kings). The email update also contained a whole host of other things too! A challenge remains, of course, trying to find the time!

Permalink Add your comment
Share post
Picture of Christopher Douce

Computing Education Practice Conference

Visible to anyone in the world
Edited by Christopher Douce, Monday, 27 Feb 2017, 10:44

On 11 January 2017 I had the opportunity to attend a one day computer science education conference that was held at the University of Durham. It had been a long time since I had been to Durham. The last time had been in the late 1990s when I attended a workshop on program comprehension; other than the cathedral, I wondered whether I recognised any of the streets or landmarks. Unfortunately, I didn’t have the time to explore; it was a packed day.

What follows is a personal ‘take’ on the conference. It is, by its nature, selective; the conference attracted loads of submissions and had a number of parallel sessions. By the end of the day I was pretty tired and overwhelmed, but also inspired too.

Keynote: Sally Fincher

Sally Fincher’s keynote had the title ‘how can we talk about practice?’ Sally, who is a professor at the University of Kent, made the point that academics attribute value to abstract knowledge. She gave us an example of a chemistry paper, which communicated lots of detail in a very prescriptive and defined way. Teaching practice, Sally argued, is not like abstract knowledge; you cannot easily replicate it (and you’re not rewarded if you share it). She made the point that a paper is a terrible way to document teaching.

An accompanying question is: what would a good representation of practice look like? The challenge is that teaching is knowledge that is situated and embodied. There have been some attempts to describe or formalise learning designs but they don’t have an ‘experiential section’ and they rarely systematically described practice. 

Another question is: what does it mean to describe practice? It can include the rich description of detail, or the provision of narrative. Sally referenced the work of Elizabeth Shove, a sociologist who wrote a book entitled ‘every day practices’. A description might include the integration of different elements: meanings, skills and materials. Put another way, this could also be: stories, skills and stuff. 

An issue is that most of our documents about teaching and learning relate to skills, which can be embodied into learning objectives. An important element of practice, the stories and ‘stuff’ is very easily over looked. A thought that came to my mind as Sally was talking was: perhaps the stories are case studies? 

I made the note of the following phrase: abstractions detached from practice doesn’t help. An accompany thought is and the detail of stories represent the largest challenge; meanings of stories are implicit in the context in which they occur.

Are there any solutions to challenge of sharing our teaching expertise? Sally offers her own take on this through a textbook called Computer Science Project Work (Springer). The book presents a structure that contains a number of important sections, such as a section that can be called ‘what we did’; the structure aims to present something more than the stuff and skills. (I hope I’ve got this right!) Practice, I noted, is also about know how.

Towards the end of her keynote, I picked up on a number of themes that were especially relevant during the day: employability, engagement, curriculum design, and the importance and relevance of industrial placements.

What model versus how model: an effective way to teach computing and engineering programs

The first session I attended was by Muhammad Zeeshan Shakir from the University of the West of Scotland. The ‘how’ of teaching can be achieved by using show and tell activities. These can also be used to show students the benefit of what they’re learning. I’ve made a note of the phrases: workshops, the use of a research inspired seminar, practical implementation tasks and visits to industry. Flipped classrooms, it was argued, can be used to explain the ‘what’.

During this session I noted down a reference to something called Heterogeneous Ability-Centered Team Building (IEEE Xplore), or H-ACT-B. A key issue when it comes to groups is how to assess individual and team performance. As this was mentioned, I started to reminisce about my own undergraduate experiences of group work, where we had the challenge of working on a software maintenance project. It was an experience that still lives with me to this day.

Enhancing student engagement

This next presentation, by Ashil Ali and Raj Ramachandran spoke about the issue of student (dis)engagement, especially during long lectures. A point was made that students are wedded to their devices. A suggestion was to try to get students to engage through the devices that they are wedded to. A key phrase I noted was: ‘hijack the students’ distractions’.

A framework for CS educational research practice

Sue White, from the University of Southampton, mentioned an event that I had never heard of before, but should have done: the ACM International Computing Education Research (ICER) conference (ACM website). She also mentioned an academic that I had been told about whilst studying for my PGCE: Biggs. I noted questions about who the student is, a question about what the teacher does, and what the student does. This is, of course, linked to the important subject of the student voice (and that we need to listen to it, whilst at the same time balancing the need to support and further the discipline).

Some interesting pedagogical and computing terms that were mentioned, which included Ben-Ari and social constructivism (ACM digital library), Kolb’s learning cycle, and Laurillard’s conversational framework. I was also reminded of the ACM special interest group on Computer Science Education (ACM)

A bad analogy is like a pigeonhole

Stephen Doswell from Durham asked an interesting question: how can we assess the effectiveness of our [teaching] analogies? I noted down the phrase: analogies are only effective when properly used and the source domain is familiar to a learner. I remember that Stephen talked about a popular computer security text book and considered the way that analogies had aged (and the way that some older analogies might now be difficult to understand).

This presentation reminded me of a talk that I did over ten years ago at the Psychology of Programming Interest Groups called Metaphors we program by (PPIG). I remember it being a fun talk to do, and the accompanying paper was also pretty fun to write (although its analysis wasn’t very systematic!) I think the underlying point is the importance of considering where the learner is at, and how we can best try to convey difficult concepts.

Developing responsive personalised learning

The final session of the morning was by Samina Kawal from Oxford Brookes University. The focus of the presentation was an ebusiness module that used an approach called ‘integrative assessment’. I noted down that an idea was that coursework was used across different modules. Interestingly, there were programme level learning outcomes (whereas I am more familiar with understanding learning outcomes that are at the level of the module).

Afternoon keynote: understanding the TEF

The afternoon keynote had a really pragmatic feel to it. We were asked the question: ‘how can the HEA support the quest for teaching excellent?’ The teaching excellence is, ultimately, about making higher education into more of a market place, where students are consumers. Underpinning all this is the philosophy that education has economic benefit for the individual as opposed to being a public good that can help society as a whole. The TEF will lead to ‘badges’ that allow students to very simplistically compare one institution with another. An important point is that all institutions are different because of the environments in which they inhabit. From memory, I didn't come away from this session much the wiser.

Professional ethics in education: the need for radical change

Denise Oram, from Glyndwr University was a member of the ACM Committee of Professional Ethics. Her point was simple yet very compelling: professional attitudes and ethics is very important within computing and IT since the technologies that we create and implement have impact on people. Some interesting subjects include the internet of things, intelligent machines and eHealth. Students might, of course, ask: why do I need to know about this stuff? One approach to answer this question is to make use of debates to expose issues.

During this session I made a note of the BCS Computing at School website, a reference to something called models of ethical compliance and the way that the study of ethics (with respect to computing) connects to a wide range of subject, including: law, environment, philosophy, sociology and psychology.

Sketching design using the five design sheets methodology

Design, of course, is another subjects that is connected to and associated with computing and IT. Jonathan Roberts from Bangor university presents a design method that uses five different sheets of paper which encourages users to ‘think, design, build and evaluate’. There were references to related approaches and topics, such as the idea of using ‘6 thinking hats’, the importance of sketching and the distinction between convergent vs divergent thinking. A point was made that perhaps design should feature in the CS curriculum.

During this session, I thought of a number of OU modules that I know about and have looked at, such as U101 Design Thinking, T217 Design Essentials (its predecessor module taught about different design thinking approaches), and a higher level module T317 Innovation designing for change. I also thought about TM356 Interaction design and the user experience which touches upon design thinking. More information about TM356 can be found by looking at a series of accompanying blog posts (OU blog).

Embedding cybersecurity in the computer science curriculum

Alastair Irons from Northumbria university began by offering a bit of context: that cybersecurity it important, that it is a subject that is garnering a lot of attention, and there is the view that there is a significant skills gap; I made a note that two million posts are to be filled by 2020.

To solve this challenge, government and industry are looking to schools, colleges and universities for cybersecurity talent. I made a note of a statistic: 62% of employers couldn’t fill cybersecurity jobs.

An interesting reference is a document entitled: cybersecurity principles and learning outcomes for computer science and IT related degrees (PDF) Some accompanying questions were: (1) how will or could cybersecurity be embedded in your curriculum? (2) what support is needed or would be helpful? and (3) how might practioners engage in a community of practice (CoP)? I noted that this session led to some interesting debates: should cybersecurity be an undergraduate or a postgraduate subject? Also, to what extent are institutions developing degree apprenticeship qualifications?

Success in CS education: the challenge of keeping students

Neil Gordon, from the University of Hull, emphasised a number of important challenges. Computing and IT is a popular subject but some students are performing poorly. Neil referenced something called the Shadbolt review of computer sciences degree accreditation and graduate employability (PDF). I haven’t had time to read the report (since it is very long), but the executive summary points to higher than expected unemployment of new graduates, a point which ‘is at odds with significant demand from employers and the needs of the burgeoning digital economy’ (p.3). 

Neil touched on a number of different subjects and areas, including the known gender imbalance, the Computing at School Curriculum, streaming students by programming skills, the importance of attainment and retention, using innovative pedagogies (such as gamification) and improving community engagement.

Design and implementation of a web broadcasting learning platform

The final presentation that I attended was by John Busch. It took me a few minutes to understand what John’s presentation was all about, but as soon as I grasped it, I was very interested. In essence, John’s talk was about how to use and apply technology to help with the running of very large programming laboratories.

One of the most powerful approaches to learn programming has been to watch someone else at work, and to also copy what they’re doing, so you get ‘a feel’ for the instructions, commands and constructs that can be used. You shouldn’t just watch or listen: you need to ‘do’ and build.

If you’re delivering a session in a huge laboratory with one hundred and fifty students there are two fundamental problems (1) students can’t see what you’re doing if you’re projecting code on a big whiteboard at the front of the class, and (2) everyone learns at different speeds: some students might be lost, whereas others might be bored. One solution could be to run programming webcasts that each student in the lab can see how code is made, and also provide some functionality where a student can seek help at different times.

We were told about a number of different technologies, such as open cast, Fuze, Saba, Adobe Connect and something called Screenleap. I made note of other stuff, such as Open Broadcaster Software. Other bits of tech were mentioned, such as Nginx with RTMP (Wikipedia) A system called iLecture was created that allowed students to raise ‘support tickets’ to allow a student to ask a lecturer to look at the code that was being created.

I found all this fascinating; a home grown solution made up of bits of Open Source software that allowed lecturers to enable students and lecturers to share screens, to enable students to study the nuts and bolts of programming. It made me return to thoughts about ‘programming as performance’ and the need to find some kind of theoretical foundation.

Reflections

My own talk was about something called the Open University group tuition policy. Not only does this have the potential to allow students to access a wider range of learning events (if implemented well), it also gives associate lecturers the opportunity to work more closely together through creating something like a ‘community of practice’. In some ways, the conference was about creating that same community, but for a wider group of computer science educators. 

I only went to relatively small number of presentations, since there were three parallel sessions throughout the day. I was struck by the diversity of the presentations, and was given a welcome reminder about how exciting Computing and IT is as a subject. This excitement comes from the fact that it now touches so many other subjects and disciplines.

Permalink
Share post
Picture of Christopher Douce

Psychology of Programming

Visible to anyone in the world
Edited by Christopher Douce, Friday, 10 Aug 2018, 14:39

Ever since July 2001 I have edited (off and on) the Psychology of Programming Interest Group newsletter.  The group, known as PPIG has been in existence since 1987.  Its purpose is to provide an interdisciplinary academic forum for researchers who are interested in the intersection between computer programming and psychology.

PPIG can be described as a pretty broad church.  On one hand there are those who aim to explore program comprehension and the relationship between notation systems and programming languages, whereas other researchers have been performing ethnographic studies and considering the different types of research methods that could be used.

Some of the questions that the PPIG community have been exploring resonated strongly with my doctoral research which was all about understanding how computer programmers go about maintaining computer software. 

I will probably always remember the moment when I started to be interested in the link between computer programming and psychology, particularly cognitive psychology.  I studied computer science as an undergraduate.  Our lecturers asked us to do a time limited summative programming assignment.  What I mean by this is that myself and my cohort were all corralled into a tired computer lab, given a sheet of program requirements, a Pascal compiler, and were told to get on with it (and, no, we couldn't talk to each other).

When we had finished our programs, we had to print them out using a dot matrix printer (which was, of course, situated within its own sound proof room), and give the fruits of our labour to our instructor who exuded a unique mixture of boredom and mild bewilderment at the stress that he had caused.

What struck me was that some students had finished and had left the laboratory to go to the union bar within twenty minutes, whereas others were pulling out their hair four hours later and still didn't have a working program.  This made me ask the questions, 'why was there such a difference between the different programmers?', and 'what exactly do we do when we write computer software?'

I seem to remember that this was in our first year of our degree.  Our computing lecturers had another challenge in store for those of us who made it to our second year: a software maintenance project.

The software maintenance project comprised of one third role play, and two thirds utter confusion.  Our team of four students were presented with a printout of around forty thousand lines of wickedly obscure FORTRAN code, and given another challenging requirements brief.  We were then introduced to a fabulous little utility called GREP, and again told us to get on with it.

This project made me ask further questions of, 'how on earth do we understand a lot of unfamiliar code quickly?', and 'what is the best way to make effective decisions?'  These and other questions stuck with me, and eventually I discovered PPIG.

So, during my week on study leave I compiled the latest edition of the PPIG Newsletter.  The next annual workshop is to take place at the University of York, and I hope to attend.  If I have the time, I'll try to write a short blog post about it and the themes that emerge.

Work-in-Progress Paper

When I was done with the newsletter I turned my attention to a research idea I have been trying to work on for well over the past year with an esteemed collaborator from Royal Holloway, University of London.

As well as studying a number of different programming languages during my undergraduate years I was also introduced to the all-encompassing subject of software engineering. In engineering there is a simple idea that if you can measure something, that something can be controlled. One of the difficulties of managing software projects is that software is intrinsically intangible: it isn't something you can physically touch or see. It's impossible to ascertain, at a glance, how your developers are getting along or whether they are experiencing difficulties. To get round the problem researchers have proposed software complexity metrics.

Having a complexity metric can be useful (to some extent).  If you apply a complexity metric to a program, the bigger the number, the more trouble a developer might be faced with (and more money spent).  Researchers have proposed a number of different metrics which measure different aspects of a program. One counts the number of linguistic parts of a program, another metric counts the number of unique paths of execution that a program might have.

Another type of metric, called spatial complexity metrics, have sprung from an understanding that programmers use different types of short term memory during program comprehension and development. The idea behind this metric, which was first published in a PPIG workshop back in 1999, was to try to propose a metric which is inspired by the psychology of a programmer.

The work in progress paper describes a number of experiments that aims to explore whether there might be a correlation between different software complexity metrics, and empirical measurements of cognitive load taken from an eye tracking programming comprehension study. The research question is: are program complexity metrics psychologically valid? 

Of course, writing up a research idea is a lot easier than carrying it out!  This said I do hope to share some of the research materials that may be used within the studies through this blog when they are available.

Permalink 2 comments (latest comment by Christopher Douce, Tuesday, 16 Aug 2011, 14:37)
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: 953376