OU blog

Personal Blogs

2nd Annual STEM Teaching Conference 2021

Visible to anyone in the world
Edited by Christopher Douce, Tuesday, 13 Apr 2021, 08:21

On 3 March I found some time to attend an internal OU event that was called the 2nd Annual STEM Teaching Conference 2021. The event has an accompanying conference website  and a detailed programme (PDF). For those of us who were not able to attend, and can access some of the OU web pages, there are also recordings of the various sessions, for anyone who might be interested.

A further note is that this conference was a STEM Faculty event organised and sponsored by Diane Butler and Carlton Wood, who are associate deans. What follows is a quick summary of the sessions that I attended, and a short reflection section that is towards the end of this blog. I do hope this summary might be of interest to some of the follow delegates.

Keynote: Changing the attainment gap

The keynote was given by Dr Winston Morgan, Reader in Toxicology and Clinical Biochemistry, and Director of Impact and Innovation, School of Health Sport and Bioscience, University of East London. An abstract for the keynote is as follows: “Changing from the attainment gap to the awarding gap is an attempt to shift interventions away from fixing the students and their deficits; a strategy which has failed over the last 25 years, to fixing the tutor and their biases. … the presentation will show that making changes to the design and delivery of assessments and assessment practices will not change outcomes, primarily because they assume a student deficit. A more effective strategy would be to highlight the role and impact of tutor bias linked to racialised stereotypes. This is particularly important to the allocation of privileges to students which will enhance performance, the marking of assessments and who is accused of academic misconduct. Finally, the presentation will provide examples of how we can minimise or mitigate the impact of racialised bias on BAME student outcomes, particularly the awarding gap.”

We were introduced to the concept of the awarding gap, and an important question: how do you teach through a racialised world? The point was made that our biases have real impact, and denial about the gap is not an option: we have both a collective and individual responsibilities. Related to this point, I noted down the words (which I hope I’ve noted down accurately): “reflect on how much time you invest in your BAME students, and make genuine effort to engage your BAME students“.

Another point was: within your scholarly activity, seek out people from different groups. I also noted down a “take back to the classroom slide” which presented the point: we live in a racialised world, this leads to bias and inequalities, and this means that we much allocate academic privileges in a fair way.

A few days before editing this summary, I noticed a newspaper article that related to some of the themes that were presented within this keynote: I'm quitting as an academic because of racism and joining Surrey police. The following sentence jumped out at me: “I have found a serious diversity problem; I have been unable to get past overt and subtle prejudice in order to make a difference to BAME students and potential future academics.”

Proactive help for ill-prepared Level 3 students

The first main session I attended was by three colleagues from the School of Life, Health and Chemical Sciences: Louise MacBrayne, Fiona Moorman and Janet Haresnape. Their session was described as follows: “A new proactive support scheme is being piloted for S317 and S315 20J. Students deemed to be ill-prepared were targeted for proactive support. This presentation will update on ongoing results and will reflect on the potential usefulness of such an approach to increase student retention and success at level 3.” For reference, S317 is Biological Science and S315 isChemistry: Further Concepts and Applications

Different criteria were used to identify students that might be potentially at risk, and may potentially benefit from support. One group was students who have a weak pass on important level 2 modules, such as S215 Chemistry: Essential Concepts, and S294 Cell Biology. Another group were students who were new to the university, having transferred academic credit from another institution, or students who may have a limited background in science. Pass rate for these group of students is less than half that of other students.

Two different groups of students were identified: one that was high risk, and another group that was a moderate risk. Students were provided proactive support through one-to-one sessions. There were further plans to develop drop in sessions.

I didn’t make notes of any firm findings, but I liked the approach of attempting to identify groups of students that may potentially benefit from additional support or guidance from tutors.

Caps, quotas and standby lists

The second presentation I attended was facilitated by my Computing and Communications colleague Frances Chetwynd. Her presentation had the subtitle of “a guide to managing student waiting lists (and reducing your stress levels)”. Her abstract description presents the challenge clearly: “with the University seeing unprecedented rises in student numbers … ensuring we have enough tutors on each module is an increasing problem.” One her (and our) aims is to reduce the student waiting list.

Frances offered a definition of a quota. It is something (a number) that limits registrations and reservations, and is set by staff tutors and module team, and is set by academic services. A quota is important since it gives university colleagues time to carry out tutor recruitment, reduces costly deferrals, and can ringfence module places for certain reasons (such as apprentices), and reduces legal challenges. The point was simple: “if you have any uncertainty over student numbers, do have a quota”.

There are a number of resources that can help (within the OU world) that can help to make decisions about the setting of quotas. There are tools called PowerBI and Ratatosk which can provide useful numbers and summarise a trend of student registrations. Also, academic services colleagues also produce weekly/daily data.

Some useful early actions include send messages to ALs about modules that may be advertised, have pre-application briefings to help tutors with their application process, ask to advertise internally and externally, and try to get adverts out to external sites.

It’s important to keep everyone informed, and trying to increase the quote all the time; speaking with staff tutors to get a handle on what potential capacity there might be. Other actions: you can ask the SST to ring around to see if they can register, and interviewing.

After final enrolment date: reserve students will drop off, so standby can be moved to reserve status. We got money to call ALs to call students to remind them to register, and the only way to register, is to ring into student registration services.

A collaborative framework for associate lecturers to enhance student and tutor satisfaction 

Next up was a presentation by my Computing and Communications colleagues Marina Carter and  Richard Mobbs, who spoke about how they provide student support through “the adoption of a collaborative framework” which “enables students to benefit from consistent, coordinated, and enhanced support and the sharing of the tuition workload among associate lecturers (ALs).” They go onto explain that “the framework involves the staff tutor working closely with ALs using tutor forums to support the collaboration.”

An important aspect of this is a tutor forum: “the tutor forum facilitates peer support amongst tutors, sharing of experience of all the key elements of module tuition, including consistency and accuracy of correspondence tuition right through to broader teaching philosophy and pedagogy issues.” Also, “the framework is enhancing student’s tuition provision by the inclusion of topic focussed tutorials hosted by subject experts. Additionally, a weekly teaching email is sent to all students (via their tutor), with one tutor responsible for composing the email each week.” Tutor also share students’ activities, “keep track of student engagement, progression and retention analytics”.

I noted down that some threads were set up on the tutor forum, such as a student cluster forum posting plan, and a TMA marking guide thread that is designed to encourage tutors to share good practices. I also noted down that working together has the potential to mean less work. Through the forum tutors are able to working together to create a set of tutorials and share tuition tasks, such as sharing what needs to be done. When reviewing tutorial attendance, those tutorials that have a focussed topic may be ones that are most popular.

Other benefits of the tutorials are that tutors can cover each other, new ALs paired up with more experienced tutors, and a team approach means that there are high registrations and attendance at tutorials. Collaboration encourages different tutors to do different things and encourages the development of a community of practice.

Producing a module outside the VLE 

Sticking with the theme of Computing modules, the next presentation I attended was given by Michel Wermelinger and Oli Howson, who are also based in the School of Computing and Communications. Michel and Oli have been working on an update to a module called M269 Algorithms, Data Structures and Computability.

Here’s how they introduce their session: “We're producing a Computing module to be fully delivered (study materials and TMAs) via Jupyter notebooks, not the VLE. We're authoring in a simple text format (not Word), automating the process as much as possible, and hosting the production materials on a version control platform to work together.”

They go onto say that: “a new edition of M269 is being authored in a different way to provide more programming practice to students  … [The module is being] authored entirely (both book and TMAs) in Markdown, a very simple and widely used text-based mark-up format. A set of scripts written by [the module team] transforms the Markdown files into Jupyter notebooks, which will be the main medium for students to study M269. … Using freely available software we convert the Jupyter notebooks to PDF and HTML to provide alternative read-only formats to students. Traditionally, the module team, students and ALs work with multiple documents: the TMA questions, the student's solution document, the tutor notes and additional code files. This leads to inconsistency errors and time overhead in authoring, answering, and marking TMAs.”

There’s a lot of technical abbreviations to unpack here, but all makes complete sense. I’ve heard it said that an attribute of a good programmer is laziness, in the sense that good programmers want to find efficient ways of solving problems. Sometimes programmers and developers create (or curate) what might be known as a ‘toolchain’ to solve certain problems. This is exactly what Michel and Oli have done.

One of the most important bits of their toolchain (since students will be using this too) is something called Jupyter notebooks (Jupyter.org). Michel and Oli describe it as follows: “Jupyter notebooks are interactive browser-based documents, allowing students to read the text, run the example programs and solve the exercises without the overhead of switching media.” In essence, can use it to play with (and learn from) a programming language.

Text for M269 is written in Markdown (Wikipedia). I found this really interesting, since I hadn’t heard of Markdown before, but it does look pretty easy to follow and understand. Markdown documents are converted to notebooks, which can also be used to create zip files, HTML and PDF files.

I noted down that they also used something called Nbsphinx which is Jupyter Notebook Tools for Sphinx. This is where everything gets a bit recursive, since Sphinx (Sphinx website) appears to be a documentation tool that is used with Python.

Everything that is created by the module team is saved to GitHub. Michel and Oli described Github as “the worlds largest repository of software; we know who has changed what and why – no more emailing around of Word files”. Plus, each Github repository has a wiki, which is used to document who has changed what.

Since learning the principles behind algorithms isn’t easy, the module team have tried to reduce cognitive load on students. Previously students have to change between different documents and resources. With the current version of the module, using Jypiter notebooks, everything is kept in a simple document. The module team also wanted to reduce the cognitive load on the tutors too. 

The takeaway points from this presentation were simple: automation is important and useful, have proper version control, use Markdown to focus on content, and consider using Jupyter notebooks for interactive content.

Plenary session

The final session of the day was facilitated by Dr Diane Butler, Associate Dean Academic Excellence, from The Open University, Dr Neil Williams, Director of Undergraduate Studies, Faculty of Science, Engineering and Computing, Kingston University, Professor Sally Smith, Head of Graduate Apprenticeships and Skills Development, Edinburgh Napier University and Dr Elinor Jones, Associate Professor, Department of Statistical Science, University College London. 

The broad focus of the plenary was about what “other STEM practitioners and institutions have experienced the last year and how they feel their teaching practices may be permanently altered as a result of the pandemic and the switch to digital delivery of curriculum”. There is an accompanying question, which is whether there have been long-lasting implications for STEM Higher Education both in traditional and distance learning institutions.

Diane began by asking all participants to reflect on the impact of the pandemic in each of their institutions, and also asked: what would you not do, what you might keep, and how has the delivery of HE changed?

A point was that everyone has become learners, since everyone has had to learn new skills. In UCL practice has changed, moving from traditional face-to-face lectures “flipped” learning. I noted down the word “trying” a couple of times: trying to replicate some of the things that happens on campus, and trying to actively facilitate peer-to-peer activities. Assessments have had to be done in a different way. There have been impact on staff. One participant reported that “some are on their knees”, but it has also driven forward staff development activities; staff know more about technology enhanced learning.

What hasn’t worked? It has been harder to ‘connect’ with students, and harder for students to connect with each other. Some students really liked pre-made materials. Difficulties exist since students often have their microphones and video turned off. 

There are contrasts: some students like working in their own time, but not everyone has faired well. There might be a gap between those who have flourished, and those who haven’t. The sudden short term change in practice might lead to a longer term change: more use of the flipped classroom.

What will happen to Higher Education after everyone returns? What is going to stay and what is going to go? I made a note of something called a “blended learning task force”. There might be more independent learning and changes to assessments. The sudden shift to online has also accelerated professional development. There is also a concern that the pandemic has magnified digital divides. 

With everyone, and every institution emerging from the pandemic, there was the suggestion that it may be necessary to find ways to give student and staff reasons to come to the campus.

A final question: is there still a place for the OU if other intuitions are now doing what the OU does? A face-to-face institution isn’t a distance learning university; it’s all about creating a blend with more materials being placed online. One of the final points was that the OU has nothing to fear, since the OU continues to innovate. 

Reflections

For this conference, I mostly stuck with the computing sessions. Looking back, I think there were two reasons for this. The first is that I wanted to support them, and secondly, there were some colleagues that I have not had much contacts with some of my colleagues over the last year, and so it is good to catch up with what they have been doing.

Like with the previous AL development conference I wrote about, I would have much preferred to attended a face-to-face session, rather than an online session. I miss the coffee chats, and when you’re actually attending a conference, you can’t get so easily distracted by emails and phone calls. In a virtual event, it’s too easy to drop out or to move away to do something else. These things said, Dr Winston Morgan’s keynote set the right tone, and presented messages that continues to resonate. I really enjoyed Michel and Oli’s presentation about M269. Finally, a very interesting plenary session.

Permalink Add your comment
Share post

Teaching programming across STEM

Visible to anyone in the world
Edited by Christopher Douce, Wednesday, 8 Aug 2018, 18:07

In February 2018 I went to a 'Teaching programming across STEM' workshop that was organised by my colleague Michel Wermelinger. The aim of the workshop was to get different colleagues from different parts of the STEM faculty together to share experiences about how they teach programming, raise awareness of each other’s plans, discuss different types of provision, and to share experience and examples.

What follows is a rough summary of the notes that I took during the day, which were augmented by having a quick look at some of the slides that were prepared for the workshop (OU staff link). The aim of these notes are to help me remember what happened, and to provide a future reference for anyone who might be interested in the teaching and learning of programming at the OU. Since there was a 6 month gap between the event and the writing of the blog, I’m sure I’ve forgot some important elements and aspects, but I hope they are both pretty accurate and useful.

Introduction

The event was introduced by Michel, who said that the day was split into two parts, a morning ‘supply side’ section (which included a series of talks), and an afternoon ‘the demand side’ section, which included networking and workshop discussions. Michel kicked off the event by talking about OpenLearn materials that contain programming.

OpenLearn materials

OpenLearning is an Open University website that offers free online short courses for anyone who might be interested. It is sometimes used to share excerpts of real OU modules but it also contains self-contained short courses. If you have an interest in an academic subject, the chances are that there will be an OpenLearn course that might tell you a little bit about it. It is, perhaps, not much of a surprise that there are OpenLearn resources about programming. 

Simple Coding

Michel introduce us to something called an ‘hour of code’ introduction to programming using Python 2, also known as Simple Coding (OpenLearn). Simple coding introduces students to the fundamental concepts of variables, expressions, loops, if, lists, and function calls. It contains one problem throughout: keeping and maintaining a restaurant bill.

I made a note that this was a part of the BBC Make It Digital season. To complement this, Michel has written a short blog post about Trinkets. Finally, students are also encouraged to share their code on social media.

Learn to Code for Data Analysis

Another OpenLearn resource is called Learn to Code for Data Analysis (OpenLearn). This course started life as a 4-week 20 to 30 hour Futurelearn MOOC. It makes use of Python 3, function definitions and loops. It also makes use of the R-like Pandas library which is used for data analysis. It also uses (I’m copying from my notes here) Jupyter notebooks with Anaconda or cocalc.com.

The courses applies something called First Principles of Instruction and adopts a problem-driven approach, where students are given a weekly project to clean data, merge data and manipulate data. Students are asked to manipulate authentic real open data from organisations such as the World Health Organisation and the UN. 

TM112 Introduction to Computing and IT 2

TM112 Introduction to Computing and IT 2 was introduced by Paul Piwek, module chair. Paul explained that TM112 builds on TM111 and prepares students for level 2 study where students go onto study M250 (which uses Java) and M269 (which makes use of Python), before making their way to TM351 (which is mentioned later).

The module has three themes: essential information technologies, problem solving with Python, and information technologies in the wild.  There are 3 spiral bound books, so students can put them down next to their computer, and practice typing in code.

Students will be using turtle graphics with Python 3, Baby Pandas (a library that is used for data processing and analysis), Jupyter notebooks and an editor like IDLE. The module places particular emphasis on the teaching of problem solving skills and the construction of algorithms. Students are given programming practice and assessment by using data from the Office of National Statistics.

There are also formative quizzes with CodeRunner, which are marked for engagement to help students build mental models of what happens at an abstract level when programs are run.

SM123 Physics and Space

Jimena Gorfinkiel introduced SM123 Physics and Space which is studied after students have completed S111 Questions in Science.

Students are given 4 weeks of Python 2 programming that is based on the science they are learning. Currently, there are no other programming at level 2 and level 3 physics or astronomy pathways. The aim is to help students get a feel for programming and data analysis is all about. There is no expectation of developing specific competencies, but the aim is to help students understand principles of algorithm design.

The module design is built on ideas from other introductory materials, i.e.it makes use of Trinket (trinket.io) and the teaching approach is to scaffold the student’s learning by providing activities and examples.

TM129 RobotLab

Jon Rosewell introduced TM129 Technologies in practice, a module that has three different 10 point bits: a section on programming, a section on networking, and a section about the Linux operating system.

The programming bit has a simulator for a small Lego robot which is called RobotLab and robotics is a used as a way to introduce students to programming and to provide a useful context. It introduces basic control structures but doesn’t introduce students to data structures. Students are asked to run and watch the running of code, adapt code, and complete an open challenge.

Like Scratch, RobotLab is a drag and drop environment, but the environment can also create text programs which students see when they are expose to Python code. A comment I noted was that practical labs are important: ‘If you have simulation, and you do it well, there are opportunities for learning’.

An issue with the approach is that RobotLab is not a recognised language and is now showing its age. Support for RobotLab will finally end with the February 2019 presentation of TM129.

M250 Object-Oriented Java Programming

Anton Dil introduced M250 Object-Oriented Java Programming. In some cases, students study M250 in parallel to M269, which will be described in the next section.

M250 uses Java and adopts an ‘objects first’ approach. Students are introduced to key object-oriented (and Java) concepts, such as protocols and attributes, classes, inheritance, composition, interfaces, access levels and the catching and throwing of errors. Other topics include collections, file input and output. There are also optional sections on design by contract and assertions.

Students use a range of different tools, such as the Java Development Kit (JDK) 7 and a graphical object-interaction environment, called BlueJ which enables students to manipulate objects and visualise relationships between classes. Some of the teaching makes good use of examples, such as illustrating methods using bank accounts, demonstrating classes by creating unexpected types of frogs, and demonstrating a marionette that is made from simple shapes.

Like other OU modules, Coderunner is used for interactive computer marked assessments. An important part of the assessment is, of course, through a series of TMAs that have increasing weighting. Looking towards the future, a future assessment principle may be to have less reading and more writing code and to encourage the social dimension in programming. On this point I made a note to myself about whether the concept of pair programming might be something that could be introduced; doing it virtually and at a distance may provide some interesting but unique challenges.

M269 Algorithms, data structures, computability

Michel Wermelinger introduced M269 Algorithms, data structures, computability, a module that gets to the heart of computer science. It introduces students to data structures, queues, how searches work, sets, binary trees, hash tables, graphs, generic techniques, approximation, complexity, big O notation, heuristics, and genetic algorithms. Needless to say, it’s also all about programming. 

The tools used in M269 includes Python 3, Komodo edit, and Coderunner is used for all the TMA questions. For students who haven’t come up through TM112, it contains a Python crash course in week 2.

Given its challenging subject matter, M269 is a marmite course; some students respond well to the challenges it presents, whereas others offer more robust opinions. From a personal perspective, I remember studying a similar module when I was an undergraduate in the 1990s. I found it a challenging subject, but I later appreciated its importance and value when I became a professional software developer.

Open University Summer of Code

Neil Smith introduced an initiative called the Advent of code. Advent of Code is described as: “a series of small programming puzzles for a variety of skill levels. They are self-contained and are just as appropriate for an expert who wants to stay sharp as they are for a beginner who is just learning to code. Each puzzle calls upon different skills and has two parts that build on a theme.” Neil also told us about that there is something called the Google Summer of Code, which students can apply to.

Computing and Communications students are invited to take place in a voluntary programming challenge called the Summer of Code that is designed to give students programming practice. Students are sent a two part problem, every Monday to Friday for two weeks. All in all, there will be ten problems. An interesting observation is that if students do 2, they will invariably do all 10. Another observation was that some students were passing programming assessments but not being able to solve these problems; perhaps practice is the key and problem solving can and should be taught explicitly.

TM351 Data management and analysis

Alistair Willis introduced TM351 Data Management and Analysis. M250 and M269 are prerequisites for TM351. TM351 isn’t a programming module as such, but it does expect programming competence that is commensurate with level 3 student. The module explores the data lifecycle: the acquisition, preparation, analysis and presentation of data. Python is used for acquiring and cleaning data, and databases are used for storage. The module also demonstrates simple machine learning, statistical analysis and graph plotting.

TM351 uses Python 3, PostgreSQL, MongoDB, Pandas, Mathplotlib and Jupyter notebooks. A point that I clearly noted was that students needed to learn how to use a library and not just a language.

Like M269, it is also a ‘marmite module’ and offers students with some particular challenges. It requires students to combine different techniques together to form solutions. In some cases students don’t have adequate coding skills and may also lack critical skills so they can apply the right techniques.

An interesting point I noted was that the Python requirements for TM351 are less than what is required for A-level. Another comment I note down was: perhaps more needs to be done to help students to prepare for this module, or the preparation needs to be done differently. In some respects, this is where TM112 Introduction to computing and information technology 2 will play an important role.

Python programming in S818

Andrew Norton and Mark Jones introduced S818 Space science which is a 60 point module that forms Stage 1 of the MSc in Space Science and Technology (F77). The module presents an introduction to Space Science and Technology, Apollo 11, Gaia  and Rosetta probes, and the Curiosity Mars rover.

S818 is linked to the OpenSTEM lab. The programming that is carried out as a part of the module is linked to the physics that is applied; Python is used as a tool to work through data. Students are directed to “Learn to Code for Data analysis” on OpenLearn, that was previously mentioned by Michel.

During Weeks 1 to 6, students are exposed to Jupyter notebooks and Pandas. Examples include a section on space weather and looking at data from space weather satellites. In addition to these activities, students are asked to carry out straight line fitting to data (SciPy, matplotlib), plot data of increasing complexity (using matplotlib) and a numerical solution of Kepler’s equation in orbital dynamics (I’m not sure what this means).  Students are also expected to use Python to handle and present results, even when they aren’t explicitly asked to do so. 

Python and accompanying tools

Tony Hirst from the School of Computing and Communications gave a talk about the different tools and technologies that could be used with Python. One thing Tony did was to explain that Jupyter is an ecosystem of related bits, based on Python. One of those bits is known as iPython

Echoing earlier presentations, Tony emphasised the importance of libraries and packages. There were packages that could be used to define and simulate circuits. There were packages that related to chemistry, where users could type in the name of a compound and software would ask the web for the structure. There were packages about astronomy and also packages about music, which could work with musical representations and create playable midi files.

We were told about V-REP a Virtual robot experimentation platform, and Binder, a way to connect Jupyter notebooks to GitHub version control software.

I made a note that Tony had also been looking at running software on OpenStack, which is an important part of TM352 Web Mobile and Cloud technologies.

The demand side

After a break for lunch, it was onto a series of short 2 minute presentations by ‘various artists’ that were broadly entitled ‘the demand side’ for the simple reason: these may be modules or module that need to apply programming in some way. 

SXPA288 Practical science: physics and astronomy

Sheona Urquhart spoke about second level physics and astonomy module, SXPA288 Practical science: physics and astronomy. I made a note of some interesting words: “the thing that freaks them out is the terminal window” and “this is not a programming course … Excel is just grim”. I’m assuming that this comment is linked to the need to perform data analysis.

T312 Electronics

T312 Electronics, which was introduced by Jane Bromley, is a new module that has just started production. I noted down that there might be an opportunity to draw on the Python electronics libraries that Tony had mentioned, and Python might also be used for hands on experience of signal processing.

M346 Linear statistical modelling

This module was introduced by Karen Vines, and is currently going through a rewrite. The earlier version used to use some software called Genstat (if I’ve made a note of this correctly), but there is a plan to move to the R programming language (wikipedia) which was said to be ‘command line’. The emphasis on this module is said to be the statistical techniques rather than the software

M373 Optimization

Optimisation was introduced by Tim Lowe. The module is all about numerical computing techniques, where ‘students use commands written by module team which implement methods’. I’ve made a note that this is a module that is needed to support a new data sciences degree. 

Physical Sciences Level 3

Ulrich Kolb introduced the BSc in Physics and mentioned that students needed programming skills. Students are required to carry out some simple Python coding and carry out simple tasks for data analysis. Modules are split into 10-15 credit chunks, and these could be linked to programming.

Delivering programming tutorials

This bit of the workshop was delivered by yours truly, where I spoke from the perspective of a staff tutor. I introduced a popular model called TPAC, which categories different types of knowledge in a simple way: there is pedagogical knowledge, technical knowledge about how to use tool, and knowledge about the content or the subject that is taught. I also mentioned that tools such as screen sharing could be really useful in the teaching of programming. I can’t quite remember, but I must have also spoken about the university group tuition policy.

PG Bioinformatics and cheminformatics

The final presentation of the day was by Mark Hirst who briefly spoke about the requirements bioinformatics and cheminformatics modules. There was a need to develop data handling, data analysis and data mining skills. Perhaps where was also an opportunity to use data from genome databases and a subject that could be called ‘advanced coding for the biosciences’.

Discussion notes

The event ended with a wide ranging discussion. One theme was about whether there was the need to explicitly teach different programming paradigms and the subject of comparative programming languages (I have to confess that I might have raised this as a subject, since it was one of my favourite subjects as an undergraduate, and one that I have found really helpful as a professional programmer). Another point being it is important to acknowledge important tensions between the needs of education and the needs of training.

There were differences: one colleague insisted that we could all use C++, another said that we should use FORTRAN, and a further colleague suggested that Pascal should be used for the simple reason that strongly typed language encourages good programmer behaviours. This wide range of opinions suggested that there isn’t one language that can suit our needs. 

One interesting point was that our students are, of course, changing. There is now a new computing curriculum for schools, which is something that everyone needs to be aware of.

I also noted down the words: ‘the pedagogy of teaching computing across students is something that is common across school, and this is something that can be learnt from each other’. I made another note was about the broad subject of the teaching of programming and how students move from a novice to an expert, namely that expertise is something that you acquire by doing, and this is a point that links back to my own practical presentation about the importance of delivering programming teaching.

Some concluding questions were: ‘how do we teach programming in a cost effective way?’ and ‘should we set up a working group to co-ordinate the teaching of programming?’ A further point is that associate lecturer development is important, and as is collaboration between different development communities. 

Reflections

I learnt a lot from this event and I got thinking about different ways of doing things. Not only did I learn about virtual robots that might be used in modules like TM129, I started to wonder about the possibility of teaching through robotic kits (The Pi Hut). I also learnt about the importance of R, and emphasised the flexibility and richness of libraries.

When I worked in industry, I did some serious coding in C, C++, Visual Basic and have even enjoyed confusing myself with the very many ways to write the same expressions in Perl, but I have yet to seriously get my hands dirty with Python. Thanks to all the presentations that were made during the day, I came away feeling inspired; I felt that I now need to do more to update my programming and development skills.

Acknowledgements

The words shared in this blog ultimately come from each of the presenters. A big shout out to Michel Wermelinger who did a brilliant job putting this event together.


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