OU blog

Personal Blogs

Christopher Douce

Computing education practice conference: Durham, January 2019

Visible to anyone in the world
Edited by Christopher Douce, Thursday, 24 Jan 2019, 10:29

I first visited the Computing education practice (CEP) conference, held at the University of Durham, back in 2017 (OU blog). I felt that it was a really nice event, with a broad range of subjects and a particular focus on opportunities of chatting to computer science educators from a number of other universities. 

What follows is a quick blog summary of the second CEP conference that I attended on 8 January 2019 along with a set of accompanying thoughts, reflections and useful weblinks. I’ve written all this so I can remember what happened, and also on the off chance that anyone else doing research in computer science education might find this of interest. 

Welcome and keynote

The opening keynote was by Andrew McGettrick, emeritus professor from the University of Strathclyde. Andrew told us all about various reports; he mentioned the Committee on European Computing Education Map of Informatics in European Schools and the US Computer Science for All initiative (ACM). There is also something called the Informatics for All Strategy from ACM Europe which presents recommendations for teacher training. Returning to the UK, the Joint Mathematical Council of the UK has published Digital Technologies and Mathematics Education (2011, PDF)

I noted down a couple of themes that Andrew highlighted, namely, the changing face of computing and the increased perceived importance of subjects such as machine learning. An importance question that was asked was: how do you help (or pressure) countries to focus on the development of computer science education?

I don’t know whether I missed it in Andrew’s talk, but I did feel that there was an opportunity to talk about the more recent work of the Royal Society about Computing Education in Schools (Royal Society website) and the Shadbolt Review of Computer Sciences Degree Accreditation and Graduate Employability (PDF)

Session 1: Projects

The first presentation, Supervisor Recommendation Tool for Computer Science Projects was by Kasim Terzic, University of St Andrews. In essence, Kasim’s talk was about a computer science project that was used to manage the allocation of computer science projects. It worked by getting different bits of information from different sources: staff advertise dissertation topics and provide information about their research interests by submitting papers to the institutional research repository. The inputs to the system were keywords and project proposals and the outputs were supervisor recommendations. Whilst Kasim was speaking, I thought of the OU project module, TM470.

Next up was Laura Heels and Marie Devlin from Newcastle University who spoke about: Investigating the Role Choice of Female Students in a Software Engineering Team Project. This presentation began by emphasising that there is a big gender disparity in STEM and computing subjects. Their research asked a simple question: what roles do students take when doing some important computing group work? In their findings, for one year more females chose programming roles, but by and large the trend is (if I’ve noted this down properly) that the males tend to choose the programming role.

I especially enjoyed this second presentation since it made me reflect on my own experience of group work as an undergraduate. I remember being thrown together in a group, and having to choose our own roles and responsibilities. I remember some of the conflicts, and the need to make pragmatic decisions for the good of the project. I also remember how the team supported me when I came to give a group presentation. I certainly felt that role identity and choice was an interesting topic to be studying.

Session 2: Pedagogy

Stewart Powell from Swansea University talked about: Teaching Computing via a School Placement. The motivation for his talk and the work that accompanied it was compelling, and directly linked back to some of the themes introduced by the keynote, namely: CS grads might not see teaching as a career path; they may lack confidence and competence. Here there is a link to the importance of soft skills, and a further implicit link to the Shadbolt report. Stewart introduced the module: it took place during one semester in year 3, and allowed students to gain an understanding of what it means to be a teacher.

The next presentation in this session, by Tristan Henderson, University of St Andrews was all about Teaching Data Ethics, a new postgraduate module. Tristan described the motivation for the module: that there are always lots of controversies; every day there is something happening. A phrase I noted down was: ‘I’ve moved away from thinking that technology is a solution for everything’. A further point that ethics can be a topic that can be difficult to teach. Subjects in the module included: privacy, aspects of law, machine learning, ethics in practice and ethics in research. We were also told about the Royal Statistical Society Data Ethics Special Interest Group.

As Tristan was talking, I thought of a related OU postgraduate module called M811 Information Security (Open University), which touches upon some of the topics that Tristan highlighted, but with a more direct focus on security. All in all, a very engaging and thought provoking presentation. I really liked the focus on the fact that Data Ethics (and Information Security) are such important contemporary issues.

Alcwyn Parker from Falmouth University returned to the theme of group work with the presentation: Nurturing Collaboration in an Undergraduate Computing Course with Robot-themed Team Training and Team Building. I noted down that ‘group work is [an] integral part of the student’s education’. I also noted down the terms: communities of practice, and cognitive apprenticeship, where students are encouraged to observe, practice and reflect. One of the things that I liked about this presentation was a very explicit link between education theory and practice.

The final presentation had the title: Papertian Mathetics with Concept Map Stories and was given by  Amanda Banks Gatenby from the Manchester Institute of Education. I’m familiar with Papert through his book Mindstorms (Wikipedia). I was interested to hear that the word Mathetics was defined as the ‘art of learning’ (which is distinct from pedagogy, which is about the art of teaching). The presentation described how concept maps are created and described by students.

Session 3: Data and data security

One of the challenges of teaching computing is that sometimes solutions to problems can be easily found through internet searches.  Rosanne English from the University of Strathclyde gave a number of suggestions about how to solve this challenge through her presentation: Designing Computer Security Assessments to Reduce Plagiarism. Two key points were: (1) create your own assessment resources (if you use photographs as data, take them yourself, since they won’t already exist on the internet), and (2) focus less on marking the code, and more on marking student reflections.

Charles Boisvert from Sheffield Hallam University gave us a ‘lack-of-progress report’ regarding the challenges of Teaching relational database fundamentals. I noted down the idea of Nifty Assignments (Stanford University) and SQLLite, which is a SQL engine that can be used within a web browser which is used within Charles’s TestSQL website.

Data Protection and Privacy Regulations as an Inter-Active-Constructive Practice was presented by Joseph Maguire from University of Glasgow. Joseph talked about active learning, the flipped classroom and ‘jigsaw learning design’. 

Session 4: Engagement

James Davenport from the University of Bath kicked off the first afternoon session. James introduced The Institute of Coding: Addressing the UK Digital Skills Crisis (Institute of Coding website). I noted down five themes, which are led by different partners and universities: (1) university learners, (2) the digital workforce, (3) digitising professions, (4) widening participation, and (5) underpinning digital skills. James’s presentation followed by a talk by an OU colleague called Patricia Charlton, who spoke about the OU’s involvement in the Institute of Coding (OU website).

James gave two presentation in this session. His second was entitled: Teaching of Computing to Mathematics Students. In some ways, this talk reminded me of my own experiences studying discrete maths as an undergraduate (which was something that I found pretty difficult). James made an interesting point, which was: ‘the debate isn’t whether the maths department should teach programming, but how it should be taught’. This phrase made me remember a blog I wrote, Teaching programming across STEM, about the different ways that programming is taught in different parts of the OU.

The final talk in this session, Improving professionalism in first year computer science students, related to a paper by Shelagh Keogh, Jill Bradnum and Emma Anderson from Northumbria University. Some key points I noted down were: professionalism is socially constructed, that it’s something that you can’t teach – instead, it’s something that students much adopt. We were told about a skills audit, students were given one to one sessions, and they were asked to rate themselves across professional competencies so students can consider (and be responsible for) their own professional development. 

Session 5: Programming

The first presentation in the final session was by Paul Piwek from the The Open University who spoke about Learning to program: from problems to code. Paul is a module chair for the module TM112 Introduction to Computing and Information Technology 2 (Open University website), and his paper (and accompanying presentation) was co-authored by Michel Wermelinger, Robin Laney and Richard Walker.

TM112 introduces students to text based programming using Python. He presented the rationale behind the module design, explaining that were was emphasis on abstraction, worked examples and patterns. Also, students were asked to use English to perform problem decomposition. Further information about the approach that is adopted has been shared through the Computing at School community site.

Neil Gordon from the University of Hull presented: A Flexible Approach to Introductory Programming. Some of the challenges that colleagues can face include the wide variety of background of students, the gender disparity in the subject, and attainment and progression. Neil directed us to Woodfield report, and I note that there is a HEA document, entitled Issues in retention and attainment in Computer Science (PDF).

The final presentation was by David Croft who spoke about Computing with Codio at Coventry University. Codio is a cloud based tool that can be used to help with the teaching of programming.

Final thoughts

As I mentioned in the introduction, this was the second CEP conference that I’ve been to. This one was slightly different than the first; rather than having a set of parallel sessions, all the presentations took place in a single lecture theatre. I also felt the event had a slightly more formal tone, since all papers presented during the conference were also published through the ACM digital library

There are, of course, advantages and disadvantages to formality. The tie up with the ACM provides a formal and official record of the conference, but the large lecture room takes away some of the intimacy and potential for informal debate and discussion that can be so useful for both presenters and delegates at these kind of debates.

When it comes to sharing of education practice, and talking about the challenges that teachers face when working with groups of students, I personally prefer the informal over the formal. This said, I fully appreciate the pressure that institutions and individuals face regarding publishing (which is something that I’ve alluded to in a previous blog).

These points made, I still think this is really nice conference, and even though the organisers have made a step towards formalising both the conference and the community, there is still space and opportunities to share and make connections with fellow practitioners. I also thought that the titles of the themes were well chosen.

A question I asked myself at the end of the conference was: what are the main themes or topics that are important at the moment. One thought is that there are certain areas of focus that are current and important. These include the subject of: cybersecurity (in all its various forms), data science and machine learning. Another important theme may lie in the subject of professionalisation and continuing professional development. There is an implicit links to the themes that are mentioned in the various pieces of research that were highlighted by our keynote: the significance of gender, the teaching in schools, and the development of soft skills. From a day conference, I can see that there is a lot that is going on, but I also see that there is a lot that needs to be done too.

Acknowledgements

Attendance at this event was made possible thanks to the OU Technology and Education Research Group (TERG blog). Many thanks to the group convener, Karen Kear.

Permalink Add your comment
Share post
Christopher Douce

Visit to PPIG 2018

Visible to anyone in the world
Edited by Christopher Douce, Tuesday, 4 Dec 2018, 15:00

On 7 September 2018 I took a break from timetabling and interviewing tutors for a web technologies module and visited a workshop called the Psychology of Programming Interest Group, which was being held in the Art Worker’s guild, London. The workshop took place in an amazing room which was packed with portraits. 

Due to work commitments, I was only able to attend the morning of the 7 September. Due to the shortness of my appearance, I wasn’t going to do a blog, but I was reminded of the event (and one of the presentations) due to an email that was sent to me by the Association of Computing Machinery (ACM). I’ll explain why later in a moment, but what follows is a very quick sketch of what happened in the bit of PPIG that I attended.

Growing Tips, Sprawling Vines and other presentations

The first presentation that I saw was by Luke Church from the University of Cambridge. I noted down the words “what does it feel like to work with the materials of notations?” (which, of course, refers to the idea of working with programming languages). Luke has previously introduced me to languages about chorography. This time he was talking about a programming language called Autodesk Dynamic Studio. He also mentioned a term that I hadn’t heard of before: diachronics in notation design; the link between time and language. I also remember that Luke showed us a series of animations that illustrated the development of software systems.

Two other presentations followed: one was about different forms of data representation, and another was about exploring how whether it may be possible to detect programmer frustration using unobtrusive sensors, so a teaching environment might be able to provide hints and tips.

Conjuring Code

PPIG is often a workshop that produces surprises; this workshop was no exception. The next part of the workshop was presented by two magicians: Will Houstoun and Marc Kerstein. I noted down the phrase: “what kind of tricks can you do in the digital space?” I learnt of a topic called ‘magic theory’. Digital magic could be considered as a combination of the analogue and digital. Code can be used to create a magic effect, or ‘magic’ could influence code in a way that isn’t clear to the viewer. I noted down an important point that was: “the magician goes to an unfeasible amount of effort to make things work”. 

Explicit direct instruction in programming education

The final presentation I attended was by Felienne Hermans. I made a note that Felienne has a PhD in software engineering but had to ‘teach kids in a local community centre’. I also noted down that she said ‘as a learner [of computing], I wasn’t taught in class…’ and also said that she didn’t appreciate how important syntax was, and that the kids in the community centre were struggling with the small stuff.

To learn more, Felienne asked an important question: ‘how do we teach other things?’ such as reading and mathematics. This question led her to the Oxford Handbook of Reading, where she uncovered different schools of thought, such as the phonics approach vs the whole language approach of language learning. In maths education, I also noted down the dilemma of explanation and practice versus exploration and problem solving. This takes us to another important question, which is: where are the controversies in computer science education? In other words: “let’s start a fight”.

During Felienne’s presentation I noted down a few more things, such as “skills begets ideas”, and a comment about the “rote practice of syntax” which is something that I had to go through as a teenager when I copied out programs that were printed in computer magazines. (An activity that helped me to develop ‘moral fibre’). Other comment that I noted down was: the “sensimotor level is syntax”, and “motivation leads to skills”.

After the event…

Two months after the event, the following note appeared in my inbox, as a part of the ACM circular that I mentioned earlier: “evidence is growing that students learn better through direct instruction rather than through a discovery-based method, where students are expected to figure things out for themselves. In general, it is possible to define direct instruction as explanation followed by a lot of focused practice. . . . In fact, direct instruction works especially well for weaker pupils. . . .  In short, they should teach students directly and reduce the amount of design and problem solving that they ask students to do."

This paragraph that relates to a Communications of the ACM blog by Mark Guzdial, Direct Instruction is Better than Discovery, but What Should We be Directly Instructing? (cacm.acm.org) This also relates directly to a blog by Felienne, Programming and direct instruction (Felienne.com)

Reflections

I really liked what Felienne said about looking to other subject areas for inspiration. As a doctoral student, I remember gate crashing a tutorial session (with permission) about the psychology of reading. The group wasn’t looking so much at how to teach reading, but more at the detail of the cognitive processes that guide reading (I was studying the area of program comprehension at the time). I also agree with her point of having a discussion or a debate about approaches to teaching and learning of programming.

When I wrote this blog, an interesting seminar entitled “The Computing Education Revolution in England: Four years on” was being hosted in the OU school of computing and communications. The seminar related to research into the recent changes to the computing and IT GCSE curriculum. This coincidence implicitly emphasises how important it is to think about not only what is taught, but also how that teaching takes place.

Permalink Add your comment
Share post
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
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
Christopher Douce

Teaching, Learning and Assessment of Databases

Visible to anyone in the world
Edited by Christopher Douce, Wednesday, 30 Jan 2019, 12:30

The 10th Teaching, Learning and Assessment of Databases (TLAD) workshop was held at the University of Hertfordshire on 9 July 2012. The University of Hertfordshire is one of those places that I have heard quite a lot about (from some friends and colleagues who have both visited and worked there), but until 9 July, I had never had the opportunity to visit. 

Although databases isn't my core subject it is one that I do have interest in, having been a software developer for quite a few years before joining the university.  Plus, the subject of databases (and their development) certainly crosses over with another big interest of mine, which is the psychology of computer programming.  Enough about me and my interests, and onto a summary of the event.

An effective higher education academy

Karen Fraser, who works in academic development within the HEA kicked off the day.  Karen once worked as a lecturer in computer science at the University of Ulster, before joining the HEA.  Karen talked about the objectives of the HEA and its current areas of focus.  These include the issue of employability amongst computing graduates and also supporting, promoting and developing teaching (and teacher) excellence. 

Other areas of interest include flexible learning, understanding mobility centred learning (a term that I had not come across before), and sustainable development in the sector.  Another area of focus includes supporting institutional strategy and change.

There were two other key parts to Karen's introduction: funding opportunities that the HEA can offer both individuals and academics, and mechanisms to accredit the teaching and skills of individuals.  In terms of funding, there are the teaching development grants, individual grants, departmental bids, collaborative bids and strategic development bits.  Anyone who is interested in finding out more should, of course, visit their website.

In terms of accrediting or recognising individuals the HEA runs what is called a fellowship scheme, where individuals can apply and submit evidence regarding their skills and practice.  I didn't know this (or, I had forgotten), but there is also something called a senior fellow scheme too.  Karen also mentioned the National Teaching Fellowship Scheme (NTFS) and the UK Professional Standards Framework (UKPSF).

On the subject of teaching quality, Karen drew our attention to a report entitled Dimensions of Quality by Professor Graham Gibbs. Apparently one of the main conclusions was that who performs the teaching was considered to be a more important measure of quality than the number of contact hours.

Towards the end of her talk, Karen briefly mentioned something called the HEA's 2016 strategic plan. The key points I noted were the aims to provide effective support to teachers and those involved in teaching and learning, to increase capacity and reward excellence, and offer influence to national policy.

Analyzing the influence of SQL teaching and learning methods and approaches

The first paper presentation of the day was by Huda Al-Shuaily from Glasgow University.  Huda presented what was a small section of her doctoral research. Huda drew our attention to earlier research by Ogden who presented a three stage cognitive model of working with SQL.  These included query formulation, query translation and query writing.  Huda considered that an additional category named query comprehension was perhaps necessary.

For each of these stages, Huda considered different issues.  For successful query formulation an understandable context is necessary (or set of appropriate examples or situations that are used to teach the concepts of databases) to help learners.  For query translation, where students convert queries between English and SQL, the ambiguity of English can be a particular difficulty.  For query writing, knowing something about the strategies that novices may adopt may be useful too; it was recommended that teachers emphasise the 'what' and 'how'.  An important point was: it is perhaps a good idea to teach students to read SQL before teaching them to how to write SQL.

One of the most interesting parts of her presentation was when she began to talk about patterns and SQL.  I have used generic programming patterns and had heard that they have been applied to other related areas such as usability, but never before databases.  Huda mentioned something called a 'self-join' pattern, which is one of a number of patterns that could be taught to students.

The question and answer section immediately opened up a number of interesting debates.  Regarding the subject of patterns there was some debate was to whether we ought to be teaching students general problem solving approaches rather than higher level abstractions such as patterns.  Another debate related to the type of data that we have within our datasets that are used to teach the underlying concepts.  Should we use real data (or, at least, real data that has been manipulated to avoid disclosure of sensitive records), or artificial made up data?

Temporal support in relational databases

Bernadette Marie Byrne from the University of Hertfordshire spoke about temporal support in relational databases whilst at the same time giving us some useful background information and presenting a case study.  Temporal databases were described as databases that are capable of recording what data has changed and when.  Apparently, there were debates were occurring in the SQL standards bodies about extending SQL to cater for temporal data when the focus of discussions changed due to the arrival of XML.  Some database vendors such as Oracle, however, have implemented certain temporal extensions.

A case study that Bernadette describes centres on a motorcycle and cycle hire business.  It is necessary to record when items are hired (and when they are returned), as well as knowing when items are available for hire.  An added complication is that 'partial hires' can be performed: some bicycles can be hired for, say, two days, and then swapped for another to ensure that an original customer hire request is satisfied.

It was clear to me that such a scenario (which I understand was drawn from a real-life situation) was one that was pretty tough to implement and would clearly show the challenges of working with time-centric data.  Another interesting consideration that sprung to my mind is the question of 'where do we write the code?'  In some cases we should rely on the functions of the database to solve our problem, whereas on other occasions we might want to write more program logic to cater for all the different situations that we come across.  Knowing where (and how) to write code is, of course, a part of the artistry of computer programming.

Roadmap for modernising database curricula

Jagdev Bhogal and Kathleen Maitland from Birmingham City University gave a very thought provoking presentation about we need to do, or could do to enhance the current database curricula.  Kathleen argued that databases are ubiquitous. On one hand, you might be accessing a server hosted database through a call from a mobile app.  On the other hand, your mobile app may contain its own database or data store of some kind.

One of the perceived problems is that databases are taught in bite size chunks in isolation from other modules.  Kathleen also argued that ideally modules should be connected together in some way and emphasised the need for different members of faculty should talk to each other.  Getting staff to work together has the potential to help students being able to create a portfolio of work (perhaps even functioning applications) that can be demonstrated to employers.

Employability is, of course, very important and curriculum design should directly address employability skills.  One such skill is that the professional writing and communication.  One approach to develop professional skills is to teach using substantial case studies such as those relating to the retail, banking, and government sectors.  Using case studies opens up the possibility of making use of very large databases and understanding the contexts in which they are situated.

Some topics that may be included in modules can include data modelling, data acquisition, approaches for data storage (including different ways of using mass storage devices, as well as saving data to the cloud), data searching (of both structured and unstructured data), processing, performance and security (which can include addressing subjects such as authentication and defence through depth).

The final conclusions that I've noted are that employability skills are necessarily important and that it is also important to get employers involved.  It is also important to consider how to improve the student experience by creating realistic scenarios. It also helps students to create assessment portfolios which can be used to demonstrate technical skills and abilities.

Research-informed and enterprise-motivated: Data mining and warehousing for final year undergraduates

Jung Lu from Southampton Solent University gave a presentation that focused on the teaching of data mining.  Jung highlighted that students had to consider a number of advanced research topics include XQuery, Weka (data mining), databases in the cloud, Oracle Apex, distributing and replicating data, accessing and manipulating data programmatically, and PL/SQL (Wikipedia) (stored procedures).

I made a note of a key point that related to the importance of practice.  It is necessary to ensure that students have sufficient time and resources to engage with practice activities and tasks before moving onto formally assessed activities.  'Screen time', as I call it, can give students confidence as well as experience that can stand them in good stead when it comes to the work place.

Subjects such as data warehousing and OLAP (Wikipedia) were said to be taught using a case study and a guest lecture (the importance of case studies being an issue that is featured later on within the workshop). Towards the end of the presentation, professional certifications were also mentioned.  Finally, a connection to employability skills, particularly SFIA, Skills Foundation for the Internet Age, was mentioned.  This framework may be able to offer some guidance about which skills may be particularly relevant or useful.

The teaching of relational on-line analytical processing (ROLAP) in advanced database courses

Bernadette Marie Byrne and Iftikhar Ansari both from the University of Hertfordshire talked about how to teach ROLAP, which is a database extension that I had never heard of before.   They began by referring to a very large dataset which had just under a million rows.  Other important considerations included that of performance.

As well as ROLAP being a new term to me, I was also introduced to a second one, which was 'star schema design'.  I think my unfamiliarity with these terms more relates to my background of using small to medium sized databases, rather than large and extensive data sets. One point was very clear: having hands of practical experience was something that was considered to be both important and necessary for students.

Introducing NoSQL into the database curriculum

The first ever database systems I used were based around the XBase language; early PC based databases such as Dbase, Clipper and Foxpro (which was back in the very early nineties).  From there I was introduced to the rigours of SQL, which is one of those languages that I've used off and on throughout my programming career. 

Clare Stanier from the Staffordshire University introduced what was to me a set of new database developments and innovations that has passed me by, namely NoSQL (or, perhaps post-SQL) databases: systems that enable users to more readily store unstructured data, perhaps in the form of documents.  Clare reminded us that that in the early days of databases there were many different types. Over time the SQL-based relational model approach became dominant.  Clare argued that we're now living in a database environment which is increasingly diverse.

The relational approach requires us to clearly structure our data.  Whilst on this can allow us to carry our complex queries, it can be difficult to create databases which can readily accommodate changing types of data.  NoSQL databases (NoSQL.org) permit weaker concurrency models and (I guess) you might also argue that some of them are more weakly typed.

Clare introduced us to a number of different databases.  Two notable ones include MongoDB which is apparently used to drive Craigslist, and CouchDB.  Apparently these two database projects have similar underlying objectives but there is a healthy rivalry between the two groups (which is no bad thing).

Another database (again, one that I had not heard of before) is Cassandra.  NoSQL databases have clearly made it into the mainstream.  Amazon have developed a database called SimpleDB, which can be used as a part of their cloud services.  Of course, cloud based databases have their own advantages and disadvantages, and developers always need to be mindful of these. Another aspect of NoSQL databases is that they have the potential to more readily (and perhaps easily) integrate with internet applications.  With some systems it might be easy to issue queries over REST (Wikipedia), for instance.

Clare made a very good point, which was that the TLAD community and lecturers who are involved in teaching databases and related subjects need to have a debate about what is taught in the database curriculum and the extent to which NoSQL databases need to feature. 

The distinctions between NoSQL and SQL databases remind me of a simplistic distinction between programming languages.  On one hand there are strictly typed languages, such as Java which require you to define everything.  On the other there are languages such as Perl which are weakly typed and allow developers to get into all kinds of muddles (whilst at the same time permitting certain categories of problems to be solved quickly and effectively, when such tools are placed in skilled hands).  There are, of course, other languages (and language mechanisms) in between.  I have little doubt that SQL and NoSQL databases may influence each other, but it remains a programmer and designers challenge to choose the most appropriate tool for the task in hand.

A ten-year review of workshops

David Nelson from University of Sunderland and Renuga Jayakumar from University of Wales Trinity Saint David presented an analysis of papers presented at TLAD over the last ten years.  David also attempted to present his view of what we might have to teach in the future (whilst also accepting that predicting the future is always a dangerous thing to try and do!)

Some of the broad themes that are covered in the workshop have included database design methods, e-learning tools, curriculum research, student diversity and assessment methods.  Some of the very early papers presented techniques for the automated assessment of database designs.  Over the years, technologies such as OpenMark (Open University) have matured.

Since the inception of TLAD, a range of new technologies have emerged and have been increasingly applied in different situations, such as XML.  With XML it is necessary to understand the fundamentals before fully appreciating its significance within the world of databases.  Papers regarding e-learning have included presentations about games, class participation, recording of lectures and how to best facilitate 'out of hours' learning.

Looking towards the future, we might see curriculum changes to take further account of transaction processing, system and data recovery, security, cloud computing and physical aspects of system design.  Mobility and non-relational databases as well as subjects such as data warehousing are considered to be significant subjects.

During the closing discussion, I also noted down the name of a resource that was new to me, namely, the Database Disciplinary Commons which is hosted by the University of Kent.

Reflections

I think this is my second TLAD workshop, the previous one that I attended was held at the University of Greenwich.  I enjoyed my first one and I enjoyed this one too.  I remain of the opinion that databases is a tough subject to teach, but one that is fundamentally very important to computer science education.  Lecturers need to convey fundamental concepts which, to some, may be significantly difficult to grasp.  The challenge becomes even more acute when we move more advanced subjects where issues such as software and hardware architecture need to be considered.  Security, of course, is another topic that is very important and there is a necessary connection between databases and the teaching of programming.

One point that I remember from my own database education (much of it acquired 'on the job' whilst working in industry), was that it became apparent that there were so many different ways to solve a problem.  I remember being presented with different techniques and having to make a decision about how to apply them.  Should I create a database abstraction layer for my application or use stored procedures, for example.  In my programming career I've even seen the horror of SQL intertwined with HTML tags!  Thankfully, the prevalence of design patterns, particularly MVC have gone a long way to emphasise the importance of separating out different aspects of an application.

All these ruminations suggest an important subject, which is how to most effectively convey best practice to our students.  Understanding the most appropriate ways to design systems and databases comes after acquiring fundamental skills.  This again connects to the view that teaching databases is a tough thing to do.

For me, there were two highlights of this TLAD.  The first relates to being aware of more on-line resources relating to learning and teaching (and being introduced to new technical terms), and secondly, being introduced to the concept of NoSQL.  My next challenge is to try to find some time to explore these new software technologies.  I hope I will be able to find the time and opportunity to do this.

Addendum

A few years after publishing this post, I was contacted by a reader, who mentioned that they had a website about the teaching of PL/SQL that contained a number of useful tutorials. If anyone is interested, here's a link to Ben Brumm's PL/SQL tutorials (Databasestar webite).

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: 1988324