OU blog

Personal Blogs

Christopher Douce

TM112 Tutor briefing: number 2

Visible to anyone in the world
Edited by Christopher Douce, Tuesday, 2 Oct 2018, 11:46

Earlier this year I wrote a short post to summarise a TM112 tutor briefing that took place close to the Open University headquarters in Milton Keynes in March 2018. The aim of that event was to introduce the module to tutors, enable them to meet each other, and form them to ask questions.

Since TM112 Introduction to Computing and IT 2 (OU website) starts twice a year (once in April and again in October), this blog post is a summary of the second TM112 briefing.

In many respects, this briefing was really similar to the first: members of the module team introduced the different blocks of the module, I spoke about some of the ideas behind the group tuition strategy, and we looked at a marking exercise to get a feel for what kind of teaching we would be doing. 

There were three parts of the briefing that were (to me) particularly memorable. 

Python programming

The first part was a talk by Richard Walker, who is an associate lecturer and member of the module team. Richard spoke about ‘Problem Solving with Python: approaches and projects’. A point I noted down was that a common issue in the teaching of programming is a lack of emphasis on the importance of problem solving skills. Also, there is a misapprehension that programming can and should be fun, since it is an inherently creative activity. Also, importantly, students can have misleading mental models of what happens within a language. Whilst learning programming can be difficult, it is important to nurture what is known as a growth mindset; that it is possible to get better and develop through practice.

Computer Security and Privacy

The second part was presented by Mike Richards, who also gives what is called the ‘guest lecture’ on TM112. Mike introduced theme 3: information technology in the wild. He spoke about CIA: confidentiality, integrity and availability, recommended that students created what was called a diary of reading (to collect news stories about cybersecurity). He also said that the module introduces encryption, mentions the dark web and blockchain before mentioning a case study of a high profile cyber attack. He concluded by touching on wider (and important) issues of freedom of speech and the way that algorithms can potentially influence our lives and civic debates.

Tutorial planning exercise

During the briefing, we were divided up into groups, and asked to create a hypothetical plan for a tutorial that was connected to a module topic. Our group comprised of myself and two other tutors. We were given the topic of ‘location based computing’. What follows is a rough tutorial plan. If you randomly find this blog post, do feel free to borrow, modify and steal this plan!

  1. Use a poll to ask everyone their views about location based computing. Are students: happy, unhappy, worried, or don’t know.
  2. Begin a discussion to ask everyone if they have any examples of location based computing, and also to get an appreciation of what everyone understands by that term.
  3. Sharing of examples: one example that was discussed was a technology to keep track about where your child or partner is. Whilst this can help with safety, it also has privacy implications too; every technology can be used for good and bad things. Another example are the alerts on your mobile phone which appear after visiting places. Are there issues about using of social media? What is exposed when you tweet or update Facebook? There are some positive examples too, such as sharing maps of areas where you have gone running.
  4. One interesting idea is to demonstrate location based computing using some Python code. Tutors might demonstrate how pins can be added to Google maps, or there could be a service to show how far everyone is from the university head office in Milton Keynes. This could be done by screen sharing from a tutor’s computer.
  5. After a final closing discussion or a summary, the tutor could present everyone with a second (anonymous) poll to see if anyone has changed (or developed) their opinions.

Reflections

I always like tutor briefings, and I especially liked the tutorial planning activity; I can’t remember ever having been a part of this before. I also really liked the ideas that we came up with. A personal confession is that I’ve not used polls within my own online tuition practice, and that is something that I feel that I need to figure out how to do. I also need to learn how to get a more thorough understanding of how to use screen sharing too.

During my part of the briefing I said, ‘by the end of this module, tutors will be teaching in innovative ways and doing things that the module team had never dreamt of’. I firmly believe this.

Acknowledgements

Many thanks to the two fellow tutors who contributed to the discussions about the above tutorial plan. You know who you are!

Permalink Add your comment
Share post
Christopher Douce

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
Christopher Douce

TM112 day schools and tutorials: a message to students

Visible to anyone in the world
Edited by Christopher Douce, Monday, 9 Apr 2018, 10:35

The first presentation of TM112 Introduction to Computing and IT 2 began on 7 April 2018. To help all London region students to get an appreciation and understanding what tutorials that been arranged for their studies on TM112, I prepared a short document which summarised everything in one place. This blog post is an excerpt of the first part of that document. One thing I should add is that different students in different parts of the UK might receive different messages to this one.

Welcome

On behalf of the School of Computing and Communications I would like to welcome you to the first presentation of TM112 Introduction to Computing and Information Technology 2.

This document is a summary of all the tutorials and day schools (which the university also calls ‘learning events’) which are available to you as a TM112 student. You might want to print this document out and keep it as a reminder of what tutorials are available.

For this presentation of TM112, there are two face-to-face events, which we sometimes call day schools. There are also a series of online tutorials and drop-in sessions which are delivered by your tutors through an online teaching and conferencing tool called Adobe Connect.

Purpose of learning events

Before summarising the programme, it is important to say something about all the learning events that are scheduled. All learning events and tutorials are intended to help you. They are an important component of your Open University studies. 

They represent opportunities to meet with your tutor, to ask questions, and to develop your understanding of concepts that are taught through the module materials. They are also opportunities to meet with other Open University students. Sometimes, your tutors will give you useful tips about how to complete your important tutor marked assessments. 

They are also intended to be fun and engaging. Do try to attend as many as you can, since they are an important part of your learning: they are for you. Also, do try to attend the sessions that are facilitated by your tutor.

Summary of learning events

Face-to-face events

There will be an introductory face-to-face day school at the start of the module, and another face-to-face learning event towards the end the module to help you with the preparation of your important third TMA. Both face-to-face events will take place at the London School of Economics (LSE), which is one of the OU’s study centres. The LSE is located in central London and is a short walk from Holborn underground station. More information about how to get to the LSE venue can be found at the end of this document. Both face to face sessions begin at 10.30 and end at 15.30. Although there are cafes close to the venue, it might be a good idea to bring a packed lunch. Also, if you can, do bring along a laptop (if you have one) since your tutors may plan some activities which might require a computer (but don’t worry if you don’t have one).

Online tutorials

The module team have set up a programme of online tutorials that will help your progress throughout the module. These tutorials will be facilitated by one of more tutors. You will probably see the name of your tutor against some of the tutorials on the programme that follows. The tutorials are repeated (sometimes with different tutors) to give you the best opportunity to attend a live online session; if you can’t attend on one day, there might be another later. You are free to attend as many of the online tutorials as you want. In fact, we encourage students to attend as many as possible! Remember; sometimes different tutors explain and present things in slightly different ways that work for different students.

The online tutorials can be accessed by going to the ‘Tutorials’ part of your TM112 module website and clicking on the link that says ‘online room’. When you click on this link, Adobe Connect will start, and you will join an online room. An important point is: do use a headset rather than your laptop speaker and microphone; headsets really help a lot with the quality of the audio. Before you attend, do ensure that you are in a comfortable place, such as at a desk, where you can easily make notes if you need to. An important point is: the more that you put into a tutorial, or the more that you contribute, the more you will get out of a tutorial!

If you can’t attend the face-to-face introductory event, do attend both of the online introductory events; parts 1 and 2 will introduce different aspects of TM112.

Online tutorials start at 19.30 and end at 21.00. They may be recorded, but this is currently up to the discretion of your tutor; if you don’t attend, you might miss out.

Drop-in tutorials

Drop-in tutorials are informal student-led sessions where you can discuss module related issues with tutors. Like the online tutorials, drop in tutorials start at 19.30 and end at 21.00. Unlike the online tutorials, these tutorials are not recorded. This means that if you don’t attend, you will definitely miss out! Do try to make it to as many drop-in tutorials as you can. 

Module wide online tutorials

During TM112 there will be two learning events that have been organised by the module team: a library event, and a expert lecture tutorial. The library event is facilitated by the OU library team and members of the module team. It will introduce you to the OU library, which is a resource that will be useful throughout your OU studies. To offer you some choice, two different library sessions will be run; you can attend either of the two events.

The expert lecture tutorial is an opportunity to participate in a discussion that relates to a lecture about cyber security and other themes that feature within Block 3 of the module. You will get to interact with Mike Richard’s, OU academic and speaker and discuss the connections between Computing, IT, security and society.

These module wide tutorials will take place within the TM112 Online module-wide room. You can find this room by clicking on the Tutorials link that you can see at the top of the module webpage.

Booking to attend learning events

To attend any of the day schools or tutorials, do take a moment to reserve your place through the OU learning event management system. If in doubt, do book your place. Booking means that you will automatically receive updates if any of the arrangements for that particular learning event changes.  Whenever you book onto a learning event, remember to make a note in your personal diary so you remember to attend.

As mentioned earlier, do try to make a special effort to attend the sessions that are facilitated by your tutor. Your tutor will always be pleased to see you!

Permalink Add your comment
Share post
Christopher Douce

TM112 Tutor briefing

Visible to anyone in the world
Edited by Christopher Douce, Sunday, 25 Mar 2018, 16:32

On Saturday 24 March I attended a tutor briefing for a new module TM112 Introduction to Computing and IT 2 which is going to be presented for the first time next month.

I really enjoy tutor briefings; they enable tutors to meet members of the module team, and for tutors to meet each other and their line manager (who is known as their staff tutor). They also serve another very important purpose: the briefing helps tutors to get up to speed with the concepts that tutors will be helping to teach.

I attended this briefing whilst being aware that the vice chancellor had reportedly said that: “the people who work here should be bloody well teaching”.

I have this habit of writing blog summaries of various OU events that I attend, since that way I can remember what I did during the year, and I end up with a resource that I can refer back to. This blog is no exception; what follows is a quick textual sketch of what happened during the TM112 briefing. In some respects, this blog also directly speaks to and connects with the VC’s comments; I add further comment in the reflections section that you can find towards the end. 

Introduction to TM112

Paul Piwek, module chair and Senior Lecturer in Computing and IT began with an introduction to TM112. It contains three themes: essential information technologies, problem solving with Python, and information technology in the wild. These themes are interleaved within three blocks which make up the core of the module. The module has three tutor marked assessments and a set of quizzes which feed into the assessments. Students can also use an ‘are you ready for’ quiz, and participate in a module wide ice breaker activity.

Group Tuition Policy

The next bit was mine! I worked with Paul on the Group Tuition Policy strategy for TM112. Between us we set up a design that was intended to support students at key points throughout the module. An important design objective was to create a plan that offered tutors with some constructive guidance, whilst also being adaptable. A key question that I asked Paul early on during the design process was: can we provide some tips that our tutors can use? He later directed me to some important sections that had been designed into the module materials.

An interesting part of this GTP for TM112 is that is contains two module wide events. One of these events is run by the library. The library event has the intention of helping students to become familiar with many of the resources that the university has to offer students. Being aware of the library will, of course, be invaluable when students move onto later modules.

Another module wide event is an expert lecture Q&A session. Before TM112 officially starts, a lecture that is linked to the TM112 theme of ‘information technologies in the wild’ is recorded. During the presentation of TM112 students will then be asked to watch that lecture and then attend a ‘retrospective tutorial’ where they can ask questions.

Theme 1: Essential Information Technologies

Essential Information Technologies was introduced by Lindsey Court. Lindsey told us all about materials which teach about binary and data representations, told us that the module would be teaching concepts about fundamentals of hardware and software, and then introduce important concepts of cloud computing (which can then be studied in depth in TM352 Web, mobile and cloud technologies). There were also some pointers to how ‘the cloud’ has changes (and is changing) the computing jobs market. The role of the DevOp was mentioned, along with the topic of green computing.

Other subjects in this theme included mobile phones, location based computing and a discussion about the different kinds of data help on your personal computer. An interesting note that I made was that the activities that feature within the module not only connect to the tutor marked assessments, but also to some common interview questions that are asked to candidates who are applying to work in technology jobs.

Theme 2 : Problem Solving with Python

This second theme is introduced by Paul, Robin Laney, Michel Wermelinger and Richard Walker. Paul began by telling us all that TM112 explicitly teaches programming problem solving and introduces students to a range of practice assessments before leading students towards two mini projects which are, of course, linked to the TMAs. 

An important aspect of the module design (and teaching) has been the development of animations and materials that help students to create their own mental model of what happens when a computer runs programs. To complement this, Tony Hirst, a fellow Computing lecturer, has designed a number of stretch activities to help and inspire students who may be already familiar with some of the key module concepts.

I made a couple of notes during Michel’s section, which was entitled ‘patterns, algorithms and programs’. The module guides students from problem to code. Students are encouraged to think about concepts such as allowable inputs, test data, and begin to think about things such as algorithmic templates. A key phrase I noted was: ‘practice makes problem solving perfect’.

Paul continued by talking about how the module helps students to understand the concept of functions, drawing our attention to both animations and diagrams. In the teaching of Python, there is an emphasis on experimentation; students are encouraged to interrogate the machine (drawing on the idea of a mental model) to look into the mind of the Python interpreter which runs the student’s Python programs.

Richard Walker introduced a section entitled ‘diving into data’. This part of the module offers students a taste of data analysis by using real data from the Office of National Statistics whilst making the important point: data analysis is one thing, interpretation and critical thinking is still needed. Richard said that his section also links to employability. He mentioned that he encourages students to start a programmer’s ‘lab notebook’, which is something that is very important when students get to the TM470 project module

Paul wraps up the second theme by returning to Python and mentioning an important program construct: the notion of dictionaries. I really liked the activity that he mentioned: students using the Python data structure to make a ‘flash card’ program that helps students learn key terms from the module glossary.

Theme 3 : Information technologies in the wild

This final theme was presented by Mike Richards, who also happens to be our expert lecturer. Mike co-chaired the predecessor module, along with another colleague, John Woodthorpe.

I found Mike’s presentation of theme 3 fascinating. He began by talking about the first section, which was about computer security technologies and their application; topics that have links to Cybersecurity. Mike said that the module would also be introducing students to ethical issues, such as technology and freedom of speech. I made a note that he mentioned cyberlibertarian, John Perry Barlow (Wikipedia).

The next section had the title ‘dangerous data’. One of the concepts that is featured is CIA, an abbreviation for Confidentiality, Integrity and Availability. This part of the module draws on materials from a documentary called Cybercrimes with Ben Hammersley (YouTube trailer). Mike has also interviewed people from Sophos, the antivirus protection company. Students are given a task to complete a cyber security diary, which feeds into an assessment. Mike got me thinking: how often, exactly, does my mobile telephone or laptop update with new versions of software? Also, do I really understand all the risks associated my own personal use of technology?

Confidentiality is important, and this term connects up to a section entitled ‘the secrets of keeping secrets’. Concepts such as hashes, asymmetric and symmetric key cryptography are introduced, enabling students to answer the question: ‘how can you shop securely on sites such as Amazon?’ Mike also mentioned AES encryption, Bitcoin and the Blockchain, and this leads us to an important question: ‘what does this technology do for us, or do to us?’ (I think I have noted this down correctly!) Students step towards understanding the concept of the dark web and are also introduced to key bits of legislation in computer law: the Computer Misuse Act and the Data Protection Act (as well as a new bit of EU legislation called the GDPR).

The final bits that Mike spoke to us about were connected to an important and profound question: what is technology doing to our society? There were two other follow on questions that I noted down whilst Mike talked: is there such a thing as search engine bias? And, should we allow social media organisations to dictate the content of our news?

Reflections

If I wasn’t so busy tutoring on another module, I would love to be a tutor on TM112; it seems to have a fabulous mix of practical skills development, important theoretical knowledge, and debate that encourages critical thinking. From my perspective as a staff tutor, I’m very much looking to working with the London region TM112 associate lecturers who I will be supporting. I hope they love the module, and their students love it too.

One thing that is very clear from this TM112 briefing day was that every single member of the TM112 module team did some bloody good teaching.

They did a bloody good job because it is what they do, and what they have always done. 

During my time as an associate lecturer and as a staff tutor I’ve come to realise the obvious; that teaching is about communication. Module teams are communicating all the time; they talk about their subject, and they talk endlessly about teaching and learning. Module team members teach each other and learn from each other. They go on to teach students through module materials, they learn about what works and doesn’t work, and what students like and don’t like.

Teaching isn’t just about standing up in front of a classroom; it’s also about being thoughtful, it’s about planning, it’s about writing, and it’s also about listening.


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