• raspberry pi
  • National Centre for Computing Education logo

Programming 102: Think Like a Computer Scientist

Take your Python skills further in this online course, guided by the Raspberry Pi Foundation and supported by Google.

25,059 enrolled on this course

Programming 102: Think Like a Computer Scientist

25,059 enrolled on this course

  • 4 weeks

  • 2 hours per week

  • Accreditation available

  • Digital certificate when eligible

  • Intermediate level

Find out more about how to join this course

The CPD Certification Service

This course has been certified by the CPD Certification Service as conforming to continuing professional development principles. Find out more.

Find out what else you can do with Python

On this course, you’ll explore Python programming at an intermediate level.

You’ll discover how to break down problems into smaller parts, and then design and apply algorithms to data. You’ll also explore list structures and their various uses.

Ultimately, what you learn will build upon your foundational Python skills - preparing you to progress onto more advanced programming.

Download video: standard or HD

Skip to 0 minutes and 2 seconds Are you looking to develop your Python programming skills? Then Programming 102 is the course for you. You’ll incorporate functions, lists, other techniques to build more complicated programs. You’ll also learn how programmers develop and represent algorithms, as well as considering the relative strengths of different searching and sorting methods. This free course contains peer-led discussions and trainer interaction. You’ll also get feedback on your knowledge as you progress. You can learn whenever and wherever you want. If you’re an educator with students of your own or simply want to boost your own programming skills, this course will prepare you for more advanced programming. I’m looking forward to seeing how you adapt and annotate your code, and start thinking more like a professional programmer.

Skip to 0 minutes and 46 seconds Sign up now at rpf.io/programming102. [MOUSE CLICK]


  • Week 1

    Function as units of code

    • About this course

      Learn more about what you'll be learning over the course, and meet our educators and the other participants who will accompany you.

    • Preparing to learn

      This course assumes some Python knowledge, so in this activity we'll check that this course is suitable for you. We'll also make sure your programming environment is set up, and introduce comments in code.

    • Functions with parameters and returns

      Learn how to use functions with parameters (inputs) and return values (outputs).

    • Teaching functions

      Expand your understanding of functions and how to teach them

    • Week review

      Look back over what you've learnt this week.

  • Week 2

    Algorithms, lists & counting

    • Algorithms

      Explore algorithms, what they are for and how we represent them.

    • Lists

      Learn about ways to create and manipulate list and string data structures.

    • Algorithms and counting

      Computers need to be told how to count, so what does that algorithm look like?

    • Recap of week 2

      A summary of week 2 and looking forward to week 3.

  • Week 3


    • Welcome to week 3

      An introduction to the topic of the week: sorting.

    • Bubble Sort

      Learn about and implement a bubble sort - one of many possible sorting algorithms.

    • Insertion Sort

      Meet the second of the sorting algorithms - insertion sort - and have a go at coding one for yourself.

    • Merge Sort

      Exploring another sorting algorithm - merge sort.

    • Week 3 recap

      Reviewing your learning from the week.

  • Week 4


    • Welcome to week 4

      An introduction to the week, as well as a chance to reflect on the course so far.

    • Linear Search

      Explore and implement a linear search algorithm.

    • Binary Search

      Explore binary search, another search algorithm, and implement it too.

    • Embedding your learning by teaching

      Check your learning by creating a lesson plan, and reviewing material from the course.

    • End of the Course

      Congratulations on completing the course!

Who is this accredited by?

The CPD Certification Service
The CPD Certification Service:

The CPD Certification Service was established in 1996 and is the leading independent CPD accreditation institution operating across industry sectors to complement the CPD policies of professional and academic bodies.

When would you like to start?

Start straight away and join a global classroom of learners. If the course hasn’t started yet you’ll see the future date listed below.

  • Available now

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • Produce your own functions to break down problems into more manageable parts
  • Apply several common search and sort algorithms to data
  • Compare the efficiency of algorithms
  • Modify functions to take parameters and output return values
  • Interpret algorithms expressed in plain English, in pseudocde and as flowcharts

Who is the course for?

This course would suit teachers with some Python experience, who are able to write simple programs demonstrating sequencing, selection, iteration and data types.

What software or tools do you need?

To take part in this course you’ll need to download Python, or use an online IDE.

What do people say about this course?

Also challenges you to implement these concepts with your students.

"A great course that not only shows you the concepts but also challenges you to implement these concepts with your students. Thank you so much."

Who will you learn with?

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.

Laura creates and maintains Raspberry Pi educational resources. Aside from computers, she loves cats, cakes, board games and making jam.

Michael helps produce courses on FutureLearn for the Raspberry Pi Foundation. In his spare time he enjoys walking and performing stand-up comedy.

Who developed the course?

Raspberry Pi Foundation

The Raspberry Pi Foundation works to put the power of digital making into the hands of people all over the world, so they are capable of understanding and shaping our increasingly digital world.

National Centre for Computing Education

This course is part of the National Centre for Computing Education (NCCE). Funded by the Department for Education and partners, we aim to change the way computing is taught in schools across England, and enable more young people to benefit from studying this important subject.

If you are a teacher in England you can get free upgraded access to this course, and use it towards NCCE certification. To do this, you must join the course through the Teach Computing website

Endorsers and supporters

supported by

Google logo

Ways to learn

Buy this course

Subscribe & save

Limited access

Choose the best way to learn for you!

$44/one-off payment



Automatically renews


Fulfill your current learning needDevelop skills to further your careerSample the course materials
Access to this courseticktick

Access expires 1 Jan 2023

Access to 1,000+ coursescrosstickcross
Learn at your own paceticktickcross
Discuss your learning in commentstickticktick
Certificate when you're eligiblePrinted and digitalDigital onlycross
Continue & Upgrade

Cancel for free anytime

Ways to learn

Choose the best way to learn for you!

Subscribe & save

$27.99 /month

Automatically renews

Develop skills to further your career

  • Access to this course
  • Access to 1,000+ courses
  • Learn at your own pace
  • Discuss your learning in comments
  • Digital certificate when you're eligible

Cancel for free anytime

Buy this course

$44/one-off payment

Fulfill your current learning need

  • Access to this course
  • Learn at your own pace
  • Discuss your learning in comments
  • Printed and digital certificate when you’re eligible

Limited access


Sample the course materials

  • Access expires 1 Jan 2023

Find out more about certificates, Unlimited or buying a course (Upgrades)

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Learner reviews

Learner reviews cannot be loaded due to your cookie settings. Please and refresh the page to view this content.

Do you know someone who'd love this course? Tell them about it...

You can use the hashtag #RPiLearn to talk about this course on social media.