Martin O'Hanlon

Martin O'Hanlon

I love technology and creating projects and learning resources for Raspberry Pi. As a child I wanted to be either a computer scientist, astronaut or snowboard instructor.

Location UK


  • Hi, my name is Martin and I am an educator at the Raspberry Pi foundation. I will be around until the 3rd March to help answer any questions and provide support. I hope you enjoy the course.

  • >Education is key to protection!


  • Thank you Matt. I enjoyed reviewing your lesson plan. I think the final activity to note possible alternatives is an important one.

  • Phishing is really important but there are lots of other initial attacks we should be cautious of.

  • > Also be wary of where you store the USB

    Yes, we often dont think about the physical security of our devices.

  • More effort and time is absolutely a factor.

  • 2. Im not sure its Lazy, but I agree that inconvenience creates a barrier. The perception is that security is less important than ease of use.

  • Hi, I am Martin an educator at the Raspberry Pi Foundation and I will be around until the 27th Jan to help or answer any questions. I hope you enjoy the course.

  • Hi, I’m Martin and I work for the Raspberry Pi Foundation. I will be around until the 23rd December to answer any questions and offer any support. I hope you enjoy the course.

  • >If all code were to run in ring 0, any coding error will affect the smooth running of the system as a whole. It may lead to crashes.

    Indeed, it also represents a security risk if all software has access to the lowest level.

  • Welcome Victoria

  • Welcome

  • Hi Miems, is there any help I can give here? Was there something specific you didnt understand? Do you have any questions?

  • I think that change has already happened. Certainly for consumer computing.

  • You dont have to worry about getting an answer wrong. These are mostly fun questions, designed to get people thinking about how the demands for data storage have increased.

  • Welcome Margaret

  • I hadnt really thought about the need for a CT scanner to have a GPU, but I think you are right, the need to do image manipulation and analysis will undoubtedly be a requirement.

  • I think they are both good ideas / thoughts. There is obviously no right or wrong answer here.

  • Hi Muhammad, was there something specific you wanted more information or help on?

  • Hi, I'm Martin and educator from the Raspberry Pi Foundation. I will be around until the 2nd December to help answer any questions or provide support. I hope you enjoy the course.

  • Welcome Dawn

  • @TonyMo thanks I will take a look.

    As you are getting the same result from different IDEs it suggests to me that the root cause is probably your food.txt file. I suspect it has “windows style” line endings (/r/n) in it.

    If this is true, how did they get there? Did you copy and paste the data for the file from the browser when taking the course? I…

  • @DavidRaguin Thank you :)

  • @TonyMo I see. What environment (operating system, python editor, etc) are you using? I surprised you saw that.

  • Welcome David, you may also be interesting in our Introduction to Databases and SQL course -

  • Absolutely, a tree structure can be represented in a CSV file but it would be a lot less intuitive.

  • What were you expecting Tony?

  • It is. Thoughts on why this might no always be desirable?

  • With 0 in the file seems to force python to regard the highscore.txt as containing numbers, not a string.

    I suppose it is a little simpler than that. If the file had nothing there would be no highscore at the start of the game.

  • You may find it helpful to have a look at our programming 101 and 102 courses, maybe skim through and recap.

  • Welcome Tony

  • Hi, I’m Martin and educator from the Raspberry Pi Foundation and will be around until the 28th October helping to facilitate the course. I hope you enjoy the course and learn something new.

  • >Not consciously; but do when using bank cards and online banking so that the connection is secure

    Indeed, in recent times most of our interactions online are encrypted.

  • Hi, how can I help? Is there something you are struggling with? How can I point you in the right direction?

  • Welcome

  • > No i do not use encryption.

    You will find later on in the course that encryption is a part of modern life but most of the time you are using it passively.

  • Hi, I am Martin, I work as an educator at the Raspberry Pi Foundation and I will be around until the 30th September to help answer any questions and offer support.

  • That is a great example.

  • @TinaHagar Hi Tina, as an alternative which may help you here is a video lesson we created for Oak National Academy on number bases which includes a section on converting denary to binary.

  • @StephTsang @DianeDowling Unfortunately I couldnt find a link to the original paper, but I have updated the course to link to Pam Hook's website and inparticular the section on SOLO taxonomy which includes the same information and resources.

  • I’m here :)

  • Hi Tina, how can I help? Was there something specific you struggled with? The process of converting number bases (e.g. denary to binary) can be a little daunting the first time.

  • Hi Tina, I have fixed the link to the survey form. Apologies.

  • Welcome to the course. Im Martin, an educator from the Raspberry Pi Foundation, and will be joining you until the 16th August to help facilate the course.

  • it got me thinking about decisions that have to be made about what tables you will choose to have, and there are different choices you could make.

    Indeed. Database design would be a complete course in itself. The database concepts on Isaac Computer Science has some content you might find interesting.

  • my craft supplies e.g sewing patterns, knitting patterns, fabric, wool, threads etc, .

    I need a database to store my tools and spare parts. I have lost count of the numbers of time I have purchased something new because I forgot I already had one.

  • Once the sale_id record 1 had been deleted there was no existing primary key with the id of 1 so you were able to use it again. In this particular database the only constraint is that the primary key should be unique.

  • Welcome

  • @RichardNicholls I have finished now, we facilitate courses 1 month in every 3. I keep an eye on notifications though, so if you need support please feel free to @ me.

  • Why can’t a primary key be modified once it’s created?

    It comes down to the database managing consistency. The primary key identifies an individual row and may also be used in other tables to reference this row.

    or re-used in case we deleted the record in which it was used ?

    This tends to come down to the DBMS being used. Some do allow primary…

  • I find myself pondering “what is the database”? Is it the software you use to access it? Is it the file where the data is stored? Both? Or an abstract concept!

    Anyway… enough of that.

    Almost all relational databases consist of 2 component parts:

    • the data and
    • the RDMS (relational database management system)

    … you may remember this being…

  • does this mean that if i was buidling a database and i realised i had a field which would end up having repeated information in it that this information should always be stored in a different table?

    The process of removing duplicate data is known as “normalisation”. This introductory course doesnt cover normalisation or the complexities of database design…

  • Great examples. In practice a RRP (recommended retail price?) would probably use a real rather than an integer so decimal points could be stored.

  • Hi Rosemary, Is there anything I can help you with? Did you manage to download and open the database?

  • For the Manufacturer table you could add whether it’s a publicly traded company or not. You could use an integer as the type.

    Is your thinking here that you would use a 1 for “it is a publicly traded company” and 0 for it isnt? If so a boolean could also be used. The benefit of a boolean is that the database would only accept a True or False, whereas…

  • The database does also includes the information which will tell you whether the company is still trading. Have a look at the manufacturer table.

  • Great example.

    My initial thoughts were “would it have been better expressed as”:

    WHERE cores > 0;

    … but I think this is just the defensive programmer in me. I cant think of a scenario where a computer would have 0 or negative cores!

  • Hi, I have just downloaded the latest version of DB Browser from and installed it without an errors. This issue isnt something I have seen reported before, other than redownloading and trying again, I dont know what else to suggest.

    You can of course use if you arent able to install DB Browser.

  • Hi, I am Martin and a member of the Raspberry Pi team. I will be facilitating this course from 4th July 2022 to the 1st August. I hope you enjoy the course and learning about Databases and SQL.

  • Great insights, thank you for sharing.

  • > The question for me is how to excite the teachers to be confident about a subject they have had very little (if any) contact with.

    I think exposure is really important, giving teachers an opportunity to see how the subject can be taught and how to engage student.

  • Thank you. We had failed to update the backlink in the course. I have updated it now. We have got your survey. Apologies

  • Thank you. We had failed to update the backlink in the course. I have updated it now. We have got your survey. Apologies

  • Great examples, thank you for sharing.

  • Hi Andy, welcome. I would be really interested in hearing more about your work.

  • > to a child who’s not familiar with a certain technology and creates a fear

    I think this is important to break down. I have experienced many children who are worried they will "break it".

  • > communication is totally different from 15 years ago

    Communication is the big change I recognise

  • > sharing pictures instantly, video calling friends and family all over the globe

    great examples which are particularly relevant since the pandemic.

  • Thanks for sharing, great insight.

  • Youre welcome.

  • > I think it is brilliant that the children have a free reign of what kind of project that create.

    Me too

  • I also think it can be really helpful to draw comparisons between algorithms and coding and the processes in their life.

  • Thanks for sharing. Hopefully we can support you in gaining confidence. Feel free to call out if you feel you need anything.

  • > it can make the maths "come to life".

    This is something I have seen many learners struggle with too.

  • Thank you for your insight.

  • I really like your example. It feels like an activity which could be extended for those student who wish to learn more.

  • Great examples, thank you

  • Hi Tim.

  • Welcome Sara

  • Welcome Tracey

  • Hi, I am Martin, I will be around to help facilate this course from now until the 1st July. I hope you enjoy the course.

  • Hi Kimberly, this course would definetly increase your knowledge around programming, networking and protocols. If you are looking for a networking fundamentals course I would recommend our “An Introduction to Computer Networking for Teachers” course ( - you can sign up and take the course now.

  • Interesting. I just downloaded the PDF and tested the link and was successfully taken to

  • @MurrayBelchamber John was referring to the draughts board

  • Was this deliberate to see if anyone was awake?

    No, just a mistake. It has never been reported before. Thank you for letting us know. I have updated the content.

  • Thats a great example. Thank you

  • Welcome Mark

  • @MarkWeddell I really like the idea of offering users a choice

  • I have found weather examples work quite well too. I find that its important to move onto “digital” examples relatively quickly though to give more concrete examples.

  • Looks great, thank you for sharing

  • I just followed the link. Yes it goes to the FutureLearn knowledge bank which includes an example.

  • @CraigBrewer

    I quietly talked this through to myself, in the same way I understand that some programmers talk through code to a plastic bath duck!

    I think this is a great strategy. How did it work for you?

  • Thanks for sharing.

  • You could upload it to a cloud storage site like dropbox, google drive or onedrive and share a link.

  • Welcome Craig.

  • I like your selection of Animals.

  • Thats a great example.

  • Not sure why specifying ‘left’ align for box1 - it is appearing on the right hand side… any suggestions?

    I ran your program and box1 - the slightly smaller box is appearing on the left.

    You can see a screenshot of what I see here -

  • I really like your example.

  • Yes, it is an over simplified example and circuit to give an example of an XOR. Obviously a full implementation would be more complex and cater for exceptions.