• 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.

15,700 enrolled on this course

Programming 102: Think Like a Computer Scientist
The CPD Certification Service

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

This course is part of the Start Programming with Python program, which will enable you to in these three short courses you’ll discover how to start programming using Python..

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.


  • 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.

    • 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 learn at your own pace. If the course hasn’t started yet you’ll see the future date listed below.

  • Available now

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.

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.

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

National Centre for Computing Education courses


supported by

Google logo

Learner reviews

Join this course

Start this course for free, upgrade for extra benefits, or buy Unlimited to access this course and hundreds of other short courses for a year.


Join free and you will get:

  • Access to this course for 6 weeks


Upgrade this course and you will get:

  • Access to this course for as long as it’s on FutureLearn
  • A print and digital Certificate of Achievement once you’re eligible

Unlimited (New!)
$279.99 for one year

Buy Unlimited and you will get:

  • Access to this course, and hundreds of other FutureLearn short courses and tests for a year
  • A printable digital Certificate of Achievement on all short courses once you’re eligible
  • The freedom to keep access to any course you've achieved a digital Certificate of Achievement on, for as long as the course exists on FutureLearn
  • The flexibility to complete your choice of short courses in your own time within the year
Find out more about upgrades or Unlimited.