OU blog

Personal Blogs

Christopher Douce

Preparing to study TM111 and TM112

Visible to anyone in the world
Edited by Christopher Douce, Sunday, 25 Feb 2024, 10:29

Introduction to computing and information technology 1 and Introduction to computing and information technology 2   are two important modules for students studying for a degree in Computing and IT, and related qualifications. When studied together, they are the equivalent of half a first year of degree level study. (A whole year of study being 120 points of academic credit, and each of these module accounts for 30 credits each).

Level one modules are all about acquiring knowledge and skills that are useful for second and third level (or year) studies, where the scores gained from modules contribute towards a degree classification.

Whilst these two modules are all about skills development, before you start studying either TM111 or TM112 there are some things you can do to give you the best chance of doing well. One of those things is to find some time to work through a number of free Open Learn short courses, and some accompanying study skills materials.

What follows is a summary of modules that could help you to prepare for TM111 and TM112 study. The summaries that are provided are taken directly from each OpenLearn course.

First steps

These first two courses can help you to position yourself in relation to your studies. One course introduces you to what it means to be a distance learner, and the other encourages you to think about your approach to learning and develop your learning skills. When you’re a distance learner, a lot of your study is down to you.

Am I ready to be a distance learner?

Summary: “Distance learning can open up opportunities for study. You might have not studied for a while, you might be returning to education, or you might not have had the chance to study at a higher level before. This free course, Am I ready to be a distance learner?, will help to boost your confidence. You'll explore useful skills so you can discover how ready you are to study and how to develop your study skills in six steps to become a successful distance learner.”

Succeed with learning

Summary: “Succeed with learning is an informal, introductory course for people who want to feel more confident about their learning skills. This free badged course builds on your own qualities, knowledge and skills to develop a deeper understanding of the nature of learning and of your own potential. It introduces some core ideas about learning and academic study, and some planning tools to enable you to take the next step with confidence.”

Courses useful to Computing and IT students

The courses that are introduced in this section can be useful for Computing and IT students. To begin, a section of TM112 has found its way into OpenLearn through this short course: introducing computing and IT. This course touches on a topic called computational thinking, which is all about what it means think algorithmically and how to break problems down into smaller components. This leads onto a short course about coding. Since the universe of computers is numerical, there are three courses which relate to mathematics and working with numbers.

Introducing computing and IT

Summary: “This free course, introducing computing and IT, provides a general overview of how digital technologies have come to dominate virtually every aspect of the modern world and some guidance on how to prepare for this digital life. It raises awareness of the importance of data security and online safety.”

Introduction to computational thinking

Summary: “You will learn about algorithms and abstraction in this free course, Introduction to computational thinking, and encounter some applications of computational thinking in various disciplines, ranging from biology and physics to economics and sport science.”

Simple coding

Summary: “Have you ever wanted to try out simple coding? Want to understand the basics of what it entails? This course introduces you to the skills, concepts and jargon of coding.” This course will help you to: “use programming language Python to produce code”, “understand the sequences of instructions in Python programmes”, and “understand repetition in Python programming language”. Python being the programming language used in TM112.

Another version of this useful resource is available through the link Simple Coding: An Introduction. An interesting element of this resource is that you are able to code directly within a web page. Instructions are presented next to spaces to carry out coding, allowing you to get immediate feedback.

Succeed with maths: part 1

Summary: “Does maths feel like a bit of a mystery to you? Are you looking to improve your confidence in using maths in a variety of everyday situations? If so, this free course, Succeed with maths: part 1, is for you. Beginning with the very foundations of maths, this course will start by looking at how numbers are put together, before guiding you through how to use percentages, fractions and negative numbers.”

Succeed with maths: part 2

Summary: “Following on from Succeed with maths: part 1, this free badged course will continue to develop your mathematical knowledge and skills using everyday examples. The course will guide you through measurement, scientific notation (based upon powers of 10) and roots of numbers, shapes and how to calculate their properties before finally turning to how to construct and read from tables, charts and graphs.”

Numbers, units and arithmetic

Summary: “Do fractions and decimals make you apprehensive about maths? Do you lack confidence in dealing with numbers? If so, then this free course, Numbers, units and arithmetic, is for you. The course will explain the basics of working with positive and negative numbers and how to multiply and divide with fractions and decimals.”

Study skills courses

Not only do you gain knowledge by studying for a degree, you also gain a set of graduate skills. These can include: problem solving skills, critical thinking skills, analysis skills, note taking skills, reading skills, writing skills, and what it means to contribute to academic discussions and debates. An important part of being a student within a discipline is that you learn how to learn. What follows are a set of short courses that help to develop your skills. 

Essay and report writing skills

Summary: “Writing reports and assignments can be a daunting prospect. Learn how to interpret questions and how to plan, structure and write your assignment or report. This free course, Essay and report writing skills, is designed to help you develop the skills you need to write effectively for academic purposes.”

Extending and developing your thinking skills

Summary: “Diagrams, mind-maps, tables, graphs, time lines, flow charts, sequence diagrams, decision trees: all can be used to organise thought. This free course, Extending and developing your thinking skills, will introduce you to a variety of thinking skills. Asking and answering questions is at the heart of high-quality thinking.”

Developing good academic practice

Summary: “Developing good academic practice, is intended to help you develop good academic practices in your studies and when producing assignments and completing assessments. Although designed as a course to work through, the content can also be used to dip in and out of, if you feel you need to improve your skills in a particular area.”

All my own work: exploring academic integrity

Summary: “The aim of this short course is to help you explore the issues around producing your own work for academic purposes. This course goes beyond the ‘nuts and bolts’ of referencing styles to enable you to understand what is meant by ‘good academic conduct’ and to explore why it is so important. Along the way, you will consider how you can avoid common pitfalls and difficulties.”

Study skills pages

In addition to these study skills courses, there are a set of useful study skills webpages that are worth exploring.

The Study skills: one-minute tips pages are described as a “series of one-minute animations exploring revision tips, beating procrastination, what’s involved in a remote exam and other study skills”. The Core skills pages summarise some useful topics.

TM111 and TM112 students may find the following resources helpful:

If you are a current OU student, you can access a set of useful study booklets, including a textbook called The Good Study Guide which offers some really helpful advice.

Other resources

OpenLearn isn’t the only useful resource for Computing and IT students. Another useful resource is the Learn to program in Python page from the Raspberry Pi foundationA useful resource is W3Schools which provide a Python Introduction page.

Learning to code isn’t easy. To help students who were learning M250 Object-oriented programming I prepared the following blog article: Object-oriented programming: seven tips. Although I wrote these tips whilst thinking of the Java programming language, they also apply to the languages used in TM111 and TM112.

Our TM112 module team chair has also identified the following Python resources that may be helpful:

Whilst all these resources can be useful to help you to prepare for TM111 and TM112, there is another way to find your way to study, and that is through something called an access module. An access module not only helps you to develop your skills, it also enables you to get a feel of what university study feels like. If you are draw towards STEM disciplines (Science, Technology, Engineering and Mathematics), which includes Computing and IT, you might want to have a look at the Science, technology and maths Access module.

Reflections

Although all the introductory courses that I’ve mentioned here are free to access, you can also gain something tangible from them; free doesn’t necessarily mean without value. After completing each course you can download a certificate of participation. You can, of course, mention each course on your CV. Although they are not a formal qualification, they can evidence an interest and a commitment to learning.

One final thing to bear in mind is this: study isn’t easy. It can be difficult, and it can be uncomfortable. It can be uncomfortable since it can be transformative in the sense that it can change how you see things. It can also take a lot of time, and time can sometimes be hard to find. I have tutored on a second level programming module, and I currently tutor on a third level software engineering module. Programming didn’t come easy to me. I puzzled over a lot of programming problems. I spent a lot of time being frustrated. I spent a lot of time feeling uncomfortable. When you enrol on a module, course, or programme, you’re not just ‘taking a module’, you’re participating in a process.

Acknowledgements

Many thanks to the OpenLearn team who have put together a great set of resources. I would also like to thank Nigel Gibson, module chair of the ‘mighty’ TM111 module, for his suggestion to look to OpenLearn. I would also like to thank Paul Piwek, production and presentation chair of TM112 for his help and for sharing further useful resources, and Michel Wermelinger for his Simple Coding resource.

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

Raspberry Pi : suited and booted

Visible to anyone in the world
Edited by Christopher Douce, Tuesday, 5 June 2018, 09:34

I received delivery of my Raspberry Pi computer from RS components about two and a half months ago.  It's taken a bit of time to finally 'get it together' to create a setup that enables me to learn more about what it can do and what I could potentially use it for.  This blog is all about the steps that I took to arrive at a working setup.

When I made my original order I decided on the lazy option - I chose to buy a number of key components at the same time.  Along with my Raspberry Pi board I bought a power supply (which connects to the micro USB port of the device), a HDMI cable and a memory card which contains an operating system.  When you're starting with something new, there's something to be said for going with a standard distribution or setup.  There's the fundamental question of 'will it do stuff when I turn the power on?'  Going with a default or standard setup is a way to get going quickly.

There were, of course, three other things I needed: a mouse, a keyboard and a screen.  For the screen I figured out that I might be able to test my Pi out using my TV (since it had a HDMI port). For a keyboard and mouse, I visited a popular on-line hardware retailer and bought a cheap mouse and a keyboard.  (To get an idea of how cheap they were, both items together cheaper than the price of a single pint of beer; it's astonishing how the price of hardware continues to drop).

I wanted something else, though.  A quick search on eBay using the term 'Raspberry Pi' revealed a number of small companies that had started to make cases for the Pi.  After about ten minutes of searching I found a company called ModMyPi.  Although I didn't strictly need a case, I thought it would be a sensible thing to do.  I could easily imagine myself putting my Pi on the floor and haplessly treading on it whilst carrying a hot cup of tea. 

After ten minutes of agonising decision making I had finally decided that my Pi needed a red case.  Why red?  Well, for two reasons: firstly, to signify that this little box is important (i.e. the red box is where number crunching takes place), and secondly, to make it pretty visible when it's sitting on my beige carpet (so I don't tread on it).

The trouble with buying something new is that things don't always arrive on time, and this was the situation with my tiny Pi case.   Although I soon had my keyboard and mouse, the case took quite a few weeks to arrive due (apparently because I didn't read the small print which said that I was making a pre-order - note to self: read the small print!)

Boot day 1 : Trouble

I had everything: my newly suited (or encased) Raspberry Pi, a power supply, a USB keyboard, a USB  mouse, a HDMI cable and an operating system (a version of Linux) on a memory card.  I attached the USB devices, connected the Pi to my temporary display (my living room telly) and powered everything up.  Through the case I could see that a LED came on and my TV changed display mode - things were happening!  The screen started to fill with boot messages and then suddenly... everything stopped.  I squinted, looked at the screen and I could see that there had been something called a Kernal Panic.

When faced with weird technical stuff going wrong what I tend to do is check all the connections and try again.  Exactly the same thing happened, so I powered down, and scratched my head.  Then, I unplugged the USB device and the USB keyboard and powered up; this time I got a lot further.  I was eventually presented with a Linux login prompt but did not have any way of entering a user id.  This told me that (perhaps) there might have been something wrong with either the mouse of the keyboard.  I plugged both devices, one at a time, into my Windows laptop to see if they were recognised.  The mouse was recognised straight away but Windows had to search for an eternity to find a device driver before the device was recognised, suggesting that there was something special about its design.

Every techie knows that Google is their friend, especially when it comes to weird error messages. I searched for the terms, 'raspberry pi', 'panic' (or dump) and 'keyboard' and quickly found a site called elinux.org that contained a Wiki page which listed keyboards that were known to cause mischief.  I soon figured out that I had ordered the Xenta HK-6106 which was known to cause a kernel panic on a Debian distribution (I obviously had either the same one or a distribution very similar to it).  Mystery solved!

Ordering more stuff

I ordered a new keyboard.  This time I bought one (which cost the price of a half  pint of beer) that was on the 'working peripherals' list.

One of my biggest worries (if you could call it that) is that the screens that I use for my desktop PC are both pretty old (I have a dual screen setup).  One of them only has a VGA input, which is useless for the Pi.  The other screen has a DVI input.  A quick search revealed that it was possible to get HDMI to DVI cables.  I didn't know you could do this, and I have to confess that I don't know much about DVI other than my main PC has got one of these as a video output (in addition to a VGA port).  Still, I decided to buy a cable from eBay and hope for the best.

Boot day 2 : Success

After rummaging in a box that contained an indeterminate number of cables (hasn't every geek got one of these boxes?), I found a network cable.  I took every bit of my Pi setup upstairs to my study area and connected everything together; keyboard, mouse, power supply, screen and network cable (which I physically connected to the back of my router, after dragging it half way across the room since my network cable wasn't quite long enough, and still isn't quite long enough).

I powered up.  A kernel panic didn't occur.  I was presented with a login prompt.   I typed the user id: pi, followed by the password: raspberry.  I then entered 'startx' at the shell prompt.  The screen changed and I was presented with a gui.  My aged screen was working!  I soon discovered an internet browser (accessed through the menu located at the bottom left of the screen).  Within a minute or so I was able to navigate to my favourite news site and open Wikipedia.  Success!

Now that I've got everything working, I asked the question, 'what can I do with it?'  I guess this question has two key answers: you can use it to learn about computing, or you could use it to do stuff.  If I find the time I hope to do both!

Learning with the Pi

Considering the learning aspect, it's obvious that there are loads of things going on from the moment that you turn on the Pi.  There are a couple of pages of screens of mysterious messages which currently don't make much sense to me (it's been a while since I've had a Linux distribution on one of my computers).  When you login to the Pi environment there are loads of menu items, applications and tools that I've never heard of before.  There's also a version of a windowing system that I've never heard of before.  There's also a weird sounding browser which seems to render things pretty well, judging from a brief ten minute play. 

There are also a set of programming tools and utilities.  The learning can go from the low levels of computing (from the level of the operating system) through to higher level applications (that can help to teach fundamentals of programming).  Being a bit of a geek, the most interesting question for me is 'what exactly does the Pi Linux distribution contain?'  This, I think, is going to be my first learning task.

Another geeky question is: how do you build software for the Pi?  My main computers are Intel based desktops or laptops.  The Pi is based around an ARM processor.  How do I take existing Open Source software and compile them up so they work on that ARM chip?  Going down a level even further, how do you get USB peripherals to work with the Pi?  Do I have to write a device driver?  Is the world of ARM device drivers different to Intel device drivers?  I have so many questions!

One thing that I have heard of (in passing, through a quick Google search) is that you can use what is known as a cross compiler.  This means that you can compile software using one processor architecture for another.   Of course, this is getting impossibly deeply technical for a first blog about the Pi so I'm going to stop asking myself difficult questions and wondering (for now) what is and what is not possible!

On another note there are a couple of Open University modules that are tangentially connected to (or might be useful with regards to) the Pi.  The Pi Linux distribution contains an environment called Scratch.  This is a graphical programming language developed by MIT that introduces the fundamentals of computer programming.  The Open University makes use of a derivative of Scratch called Sense, which is used with the TU100 My Digital Life module.  The other module that could be useful is T155 Linux: an introduction.   

Doing stuff with the Pi

So, it boots up.  That's pretty cool.  But what might I practically be able to do with it?  I've heard one of my colleagues talking about potentially using a Pi to create a digital video recorder, which sounds like a fun project.  You can also use it as an embedded system to control other hardware. In fact, looking at the Raspberry Pi blog presents a veritable array of different projects and ideas.

About six or so years ago, perhaps even longer, when I worked in industry, in a company that made educational products that could be used to help teach engineering subjects, I suggested creating a device that could (potentially) be used to help teach the fundamentals of computer networking.  The idea was to make use of an inexpensive embedded microcontroller to create something called a 'computer cube'.  Each cube would have simple input and output (perhaps a couple of switches and a LCD display), as well as a network connection (either a standard network connection, or a proprietary interface that can be easily accessed through software).   The idea was that you could connect a set of computer cubes them together on a desk; you could create your own mini internet and also have the ability to look at the signals transmitted between devices and begin to understand the principles of protocols.

Of course, such an idea was hopelessly ambitious, plus there were increasing numbers of network simulators that did a pretty good job of helping learners to explore the principles of networking.  Fundamentally, at the time, it was a bad idea.

But then the Pi arrived.  The Pi is cheap, small, has its own peripherals and is open.  You can run whatever software you want on it.  A Pi is a web client, but there is no reason why it can't also become a web server.  A Pi could also (potentially) become everything in between too.  You could connect them together using relatively cheap switches and hubs, and explore (in a practical sense) computer networking and the software that supports networking works.  You could set one to transmit data, and perhaps use the general purpose IO ports to indicate output of some kind.

Would it be possible to have a network of Pi devices on a desk?  Possibly.  What software would be useful to learn more about the fundamentals of networking?  I'm not sure.  Could we create some useful curriculum or pedagogic materials to go with this?  I've no idea.  All this sounds like a project that is a bit too big for just one person.  If you accidentally discover this blog post and you think this may be a useful idea (or hold the view that it remains a bad idea), then please do get in touch!

Final notes

There is one clear certainty in computing.  It isn't Moore's Law.  It's that there is always an opportunity to learn new stuff.  As well as looking at the Pi operating system and learning about what the various bits are, I've also heard it mentioned that the language of the Pi is Python (Wikipedia).  This isn't a language that I've used before.  It's certainly about time that I knew something about it!

If you scratch the surface of anything technical you find a set of subjects and technologies that are both interesting and challenging.  Not only is the Raspberry Pi device interesting and challenging in its own right, but I'm sure that the situations in which it can be used and applied will be interesting and challenging too.

Permalink 1 comment (latest comment by Alex Little, Tuesday, 21 Aug 2012, 20:35)
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: 2376511