James Robinson

James Robinson

James is an experienced Computer Science teacher who runs the Raspberry Pi Foundation's teacher training Programme called Picademy. He still plays with LEGO and drinks lots of tea.

Location Cambridge UK


  • Which aspects did you find most challenging, articulating those ideas or using the template?

  • Nice question!

  • No reason you couldn't combine them

  • Adding a process to it can make it feel more daunting, however we're simple formalising elements that you probably do in your regular teaching practice anyhow.

  • Great to have you join us

  • These should be fixed now, instead of going direct to the PDF (which times out) they go to the Google scholar search results where you can click on PDF

  • Are these directed tasks something that are set and completed remotely / online?

  • What do you think are the barriers to them engaging at present?

  • Welcome to the course, hopefully we can help you plan you Action research project

  • I suspect that in tidying up your code you’ve changed the indentation of 4-8, this would explain the behaviour you describe?

  • What error are you getting?

  • Yep this works, you’ve just used “add” rather than “total”

  • I think yours works fine and counts the first guess as 1, other programs here don’t count that guess

  • @CarolWareing

    if howmany >= 5:
      discount_price = total * 0.9
  • No currency isn’t a standard type

  • Great application of a for loop :-)

  • @RebeccaPhillips your numbers are being stored in input1 and input2 yet your result is calculated by:

    result = Number1+Number2

  • Is it these fixed length loops in particular? Were you happy with previous steps and while loops?

  • Everyday examples are great, just be aware that tea making isn’t universally understood across cultures etc

  • The print function can some converting for you, but this is a bit of an oddity of Python. Best to either convert to string beforehand or in the print function like this:

    print("The number of items in the shopping list is: " + str(count))

    rather than comma separate the outputs

  • @KiyanaRohbani your first elif is always triggered as the line:

    elif command == "minus" or "subtrac":

    should be

    elif command == "minus" or command == "subtrac":

  • What is meant here is that you much always write each condition in full like this:

    if phrase == "hi" or phrase == "hey":


    if phrase == "hi" or "hey":

    In the second example the if statement will always evaluate True, no matter what the user inputs

  • You can either check for both:

    if day == "wednesday" or day == "Wednesday":

    Or for the variable to lower case before comparing it:

    if day.lower() == "wednesday":

  • Each item you want to check needs a separate condition, so rather than:

    if question == "no" or "nah" or ... or ...

    it should be

    if question =="no" or question=="nah" ...etc

    if you have lots of options you could use:

    if question in ("no","nah","no thanks"):

  • @SärahShaw good spot ;-)

  • Yes their ASCII value is being compared

  • @DebraC It is challenging, I hope you continue. I find using task to make something that I want to make helps me

  • You can convert the string input to a integer using the the int() function.

    num = int(input("enter a number")

  • Yes it would, did you try this?

  • You can convert the string input to a integer using the the int() function.

    num = int(input("enter a number")

  • I would avoid copying all together, give them the digital file and work with them to adapt. There’s more to be gain this way that writing out someone else’s code :-)

  • Do you mean the games and jokes? You can of course use this code in any way you like

  • Can you share the exact line of code you used? What editor are you using?

  • This is because the program treats the numbers as strings which the + operator joins together. In order to convert a variable (string_input) to an integer you would use the int function:

    num = int(string_input)

  • This might work in the mobile chrome browser but probably not ideal

  • I think those two course will pair nicely

  • Discount=total_price*0.90 calculate 90%

  • Let’s say you wanted to test whether a users age was between 18 and 25. You could write:

    if age>18 and age<25:
        print("some response")
  • Nice system shock ref

  • I suspect you were missing a bracket / parenthesis at the end of the last line

  • Evidence that Paired programming supports confidence, especially amongst girls

  • There is a reason an it relates to how strings are written, it’s a little beyond the scope of this course but I’ll explain:

    Strings can be quoted using the double quote symbol or the apostrophe so these lines function in the same way:

    print("My name is James")
    print('My name is James')

    If my string included an apostrophe this would end my…

  • That’s really great, you could also convert to upper or lower case before comparing:

    answer = input("How are you?")
    if answer.lower() == "fine":
  • Your statement should result in False as symbols will be compared according to their numeric value in ASCII. = is number 61 and ! is 33 hence:

    >>> "="<"!"
  • The console is like a conversation with the computer and each line you type is handled 1 at a time. It therefore can’t be saved and run like a program. If you are in the console you should see a prompt like ~»>~ and each line you type should result in some output. Does that help?

  • @AlanPhoenixHolland Great explaination, thank you

  • @OmoniyiAkintola if you run your program and enter 3 and 4 what does it print?

  • Yes, the input function results in a string. You will then need use another function to convert (or cast) that variable to a number. For example to convert to integers:

    num_string = input("Enter a number")
    num = int(num_string)


    num = input("Enter a number")
    num = int(num)


    num = int(input("Enter a number"))


  • Great idea, perhaps just give them the code so they don’t introduce their own errors

  • I would suggest giving students the text, get them to predict what it does, testing it, changing it before making something new. This will help develop their programming comprehension before focusing on their program writing


  • Mu is really great for learners

  • Thanks Helen

  • Great that should save you some time

  • Sounds like a well thought our project

  • Helen, that is a super clear plan

  • Thanks Helen, great reflection

  • Yes it would be qualitative

  • Keen to hear how it goes

  • Really good point, getting the focus right can be really challenging

  • Really great summary Helen

  • Welcome Sally-anne

  • Welcome Chito, did you get any feedback on your proposal?

  • Welcome Clare

  • Welcome!

  • Sounds like a sensible approach

  • Hi John, welcome. I did my first 7 years in teaching in middle school so can relate to the challenges (as well as benefits). Which part of the country are you based in? What does physical computing look like at present in your school?

  • Thanks Sam, the resources (prompt and example analysis) became part of the step during development. I've amended the text thank you. Do you have enough information to be able to try this task with learners?

  • Sounds like a good idea

  • Hi Joyce, thanks for highlighting. All fixed now :-)

  • Thanks Sam, not sure what happened there. All fixed now. As for opening in a new tab, I'm afraid we can't change that behaviour. However Ctrl + click opens link in a new tab (in chrome at least)

  • Hi Joyce, welcome. Are there any particular aspects of computing where you want to provide additional support?

  • Welcome Helen!

  • Welcome to the course Sam, are there any particular aspects of PRIMM you'd like to investigate further?

  • Welcome to the course, I'm really excited to work with you all over the next few weeks and hopefully beyond to devise and eventually run your own action research projects. You will get the most from this course through engagement with the activities and discussions, please spend the time reading other learners' contributions a submit a project plan at the end...

  • PRIMM definitely adds structure to a lesson but is also about more, the quality of the questions, tasks are discussion are critical.

  • Hi everyone, I'm James a Learning manager here at the Raspberry Pi Foundation. I'm really interested to hear your experiences and ideas related to computing pedagogy. Make sure to introduce yourself and learn from others on the course.

  • You've broken up the content nicely, perhaps you could use white space to chunk the content more?

  • I like the way you've broken the text up and made use of the white space, how might you add emphasis to the key words or improve the contrast of the doc?

  • This approach sounds a lot like concept mapping http://ncce.io/qr07

  • You can read more about cognitive load here : http://ncce.io/qr01

  • Great reflections!

  • Welcome! Like Rebecca I'm really keen to share this course with you, hear about your SEND experiences and challenges, and help you make you computing classroom more inclusive

  • Great! You may want to look at the TIPEC framework to help identify potential barriers your target learners might face. HTTP://ncce.io/qr08

  • Ah, you've answer my previous question here :-). In your context are you school providing continuing remote learning even when school return in September or are you thinking in the event of a local lockdown?

  • Is this a retrospective review of live lessons that have taken place already or an intervention you are planning to deliver and measure in future?

  • Consider how you might measure the impact of the new curriculum, is it measure by engagement, achievement?

  • How might you apply what you learn going forward, what change in your practice might this research lead to

  • This sounds really interesting, in planning the Teach Computing curriculum we discussed the notion of "exit tickets". Milestone that secondary teachers might reasonably expect learners to be capable of that primary colleagues could aim towards and feedback on.
    You could explore what (if any) expectations primary / secondary teachers have and how aligned they...

  • The feedback is indeed pleasing!

  • I'd be keen to see your diagram, can you share it please?

  • I and many others find this process challenging too as there are so many areas that are of interest. Over the next few steps hopefully we'll help you hone in on a small, focused objective for your research

  • I think you've hit the nail on the head there

  • Don't worry you can complete the course at your own pace

  • Small scale, focused adaptations is exactly right!

  • Welcome Kiaia, hopefully the course will help prepare you

  • Welcome Ana, great that you're planning to explore action research through your NQT year