1.1

## Raspberry Pi Foundation

Skip to 0 minutes and 2 secondsHello, and welcome to the course. I'm James, and over the next four weeks, I'll be of course leader, helping you think more like a programmer. Together, we'll be building on your existing programming skills, incorporating functions, lists, and other techniques to build more complicated programmes. We'll also look at how programmers develop and represent algorithms and build programmes based upon them, as well as considering the relative strength of different algorithmic approaches. For over 10 years as a teacher and trainer, I've supported people of all ages learning the fundamentals of programming. I've seen learners struggle and succeed with some of the very topics we'll be covering together here.

Skip to 0 minutes and 38 secondsBut I know that once grasped, these concepts will enable you to tackle more complicated projects with ease. This week, we'll recaps some of the basics programming, as well as revisit how and why programmers create functions. We'll make reusable chunks of code that perform common tasks within your program. If you're an educator with students of your own, you might like to reuse the activities in your own lessons, and you'll find that many of the videos are also downloadable and can be used in your classroom. We believe that good learning is social. You'll be learning alongside people from all over the world.

Skip to 1 minute and 12 secondsTo make the most of the course, be sure to join in the regular discussions, ask questions, and help each other out. I'm looking forward to seeing how you adapt and annotate your code, and start thinking more like a programmer. In the next few steps, you'll have an opportunity to meet the rest of the Raspberry Pi learning team, as well as introduce yourself to your fellow learners. I hope you enjoy week one.

# Welcome to the course

Welcome to Programming 102 - Thinking like a computer scientist.

## What will I learn

Over the following four weeks we will be using the Python programming language. You will:

• Create modular programs using functions
• Design and apply algorithms that manipulate data
• Learn to break down problems into smaller parts
• Work with data structures such as lists to store and organise data
• Evaluate the efficiency of algorithms

## Is this course for me?

This course is designed for anyone with some basic experience of programming who is looking to extend their knowledge. Ideally you should be able to write simple Python programs, and know how to:

• Use built in functions such as print() and input()
• Create and use variables
• Make decisions (selection) using if ... elif ... else
• Repeat sections of code with while and for loops
• Define your own simple functions

If you’re unsure, all these topics and more are covered in our Programming 101 course.

## What will I need?

All of the activities presented in the course can be completed online. However, if you want to complete them offline, you will need:

• Python 3 installed on your computer
• A development environment, such as mu, in which to write your programs

## Week 1

In this first week, you will:

• Check your existing Python knowledge
• Define and use functions in your programs
• Understand the benefits of using functions in your programs

A quick note for teachers from England: did you know that this course can be used as evidence for your National Centre for Computing Education certificate? Visit the National Centre for Computing Education for more details.

Have a question? Use the comment link below. A course tutor or even a fellow student will be able to help.