Code Yourself! An Introduction to Programming

The University of Edinburgh, Universidad ORT Uruguay

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Computer programs are everywhere: from coffee machines and MP3 players, to spaceships and medical robots. But just like astronomy is more than simply using telescopes, Computer Science is more than simply using computers. It’s about programming computers to tell them precisely what to do. Coding is an invaluable skill that helps people think computationally, and hence effectively solve problems within and outside computer science. It is also creative and fun, allowing you, for instance, to build computer games to play with your friends.

This course will introduce you to computer programming with Scratch, one of the easiest to use programming languages. You will create computer programs by plugging graphical coding blocks together, for example to create animations, build games and construct interactive stories.

But this course is much more than an introduction to Scratch. It will teach you how to think like a programmer, a computer scientist, a software engineer! It will introduce you to the fundamental principles of computing, and prompt you to think around topics like algorithm design, user interaction, code reusability and generalisation of solutions.

You will learn all this through in-depth, hands-on examples, interviews with computing experts, fun quizzes and creative projects. By the end of this course you will be equipped with a solid understanding of the foundations of computing, allowing you to move to different programming languages or take a more advanced programming course in the future.

NOTE: This course is also given in Spanish:


  • Week 1: Your first computer program

  • Week 2: Code gone loopy

  • Week 3: Remixing games

  • Week 4: Reusing your code

  • Week 5: Think like a software engineer

Recommended Background

No prior computing experience is needed. This course is intended for people who have never programmed before, and it is designed to work equally well for children and adults.

Suggested Readings

There is no required textbook for this course, as it is meant to be self-contained. For  students that are eager to use a textbook, a useful reference is Computer Science Concepts in Scratch (Weizmann Institute of Science) by Michal Armoni and Moti Ben-Ari or Creative Computing Curriculum Guide (Harvard University) by Karen Brennan, Christan Balch, and Michelle Chung.

Course Format

The course consists of around 1 hour of lecture each week, delivered as short videos supported by slides and code examples. Each video contains optional integrated quiz questions to help you verify that you have correctly understood new concepts. Feature videos of interviews with computer scientists and non-computer scientists reflecting on each week’s topic are also included. Weekly quizzes and peer-graded programming projects will equip you with hands-on programming experience. Finally, you will have the opportunity to use the discussion forum to interact with and learn from each other.


Will I get a certificate after completing this class?
Yes. Students who successfully complete the class will be offered a Statement of Accomplishment signed by the instructors.

Do I earn University of Edinburgh / Universidad ORT Uruguay credits upon completion of this class?
The Statement of Accomplishment is not part of a formal qualification from the universities. However, it may be useful to demonstrate prior learning and interest in Computer Science to a higher education institution.

What resources will I need for this class?
All you need is a computer with web access. You can choose to either download the free programming environment Scratch or to use the online Scratch editor.

I know nothing about programming. Can I still take this class?
Yes. This course is intended for people who have never programmed before, and it is a step-by-step, gentle introduction to programming for everyone.

What will I achieve by the end of this course?
This course will allow you to:

  1. Understand and apply fundamental principles and concepts of computer science.
  2. Analyse problems in computational terms.
  3. Understand and follow basic software engineering practices.
  4. Design, create, debug, reuse and re-purpose computer programs in Scratch.
What is the coolest thing I'll learn if I take this class?
You will be able to design and build your very own computer game, similar to Flappy Bird.

For what age range is this class appropriate?
This class is perfect for ages around 13-15, but people of other ages should also find the course worthwhile. Note that you must be at least 13 to take a course on Coursera.

Is this course only for teenagers?
Even though this course is targeted mainly to teenagers, it is designed to work equally well with adults.

I am a teacher. Can I reuse these course materials in my own teaching?
Yes, as long as you comply with the Creative Commons License (CC BY-NC-ND 4.0) for this course.

  • 9 March 2015, 5 weeks
Course properties:
  • Free:
  • Paid:
  • Certificate:
  • MOOC:
  • Video:
  • Audio:
  • Email-course:
  • Language: English Gb


No reviews yet. Want to be the first?

Register to leave a review

More on this topic:
Chapter1_final Bioinformatics Algorithms (Part 1)
This course was the first in a two-part series covering some of the algorithms...
18370_4037_5 Build iPhone, iPad, and Android Apps with No Coding Required
Build great looking apps with little effort. Like us on Facebook and/or Follow...
10616_69b4_22 How to Make iPhone Apps by Shawn Arney
A Step-By-Step, Three-Day (at your own pace) iPhone and iPad Programming Course...
146156_c2cc_4 Become an Android Developer from Scratch by Adam Lupu (and 1 other)
Learn Java and Android application development using the latest technology...
21890_1f22_6 Teach Yourself to Code by Mattan Griffel
An introduction to learning Ruby on Rails and HTML. Who it's for Complete beginners...
More from 'Computer Science':
2aa9e070-fc03-49b4-9240-b5df5d79cb15-0838bc13b7cd.small Information Security - Authentication and Access Control
Learn more fundamentals of information security, including Introduction to Cryptography...
19bbc9bb-5e0d-4205-ad7c-752a7bd87eac-b9d1304bbc7d.small The Software Architect Code: Building the Digital World
An introductory course aimed at helping you to discover and develop your software...
A0af5b37-e5fb-442f-9b95-910e57674085-a80d8eef9cf6.small Introduction to Java Programming: Writing Good Code
Learn to program in an easy and interactive way and enter the fascinating world...
D3856133-b0c2-49c4-bda9-b00155e0f5de-81a78321f065.small Unreal Engine Interactive 3D: Sequencer-Cinematography, Interfaces, Visual Effects, Pipelines, and Production
Learn techniques in cinematography, Interface design, visual effects, collaboration...
4633ab16-80c5-48c4-a656-564b89bf4349-cc99a1b889e3.small Developing Cloud Applications with Node.js and React
Learn how to develop and deploy web applications with JavaScript frameworks...
More from 'Coursera':
Success-from-the-start-2 First Year Teaching (Secondary Grades) - Success from the Start
Success with your students starts on Day 1. Learn from NTC's 25 years developing...
New-york-city-78181 Understanding 9/11: Why Did al Qai’da Attack America?
This course will explore the forces that led to the 9/11 attacks and the policies...
Small-icon.hover Aboriginal Worldviews and Education
This course will explore indigenous ways of knowing and how this knowledge can...
Ac-logo Analytic Combinatorics
Analytic Combinatorics teaches a calculus that enables precise quantitative...
Talk_bubble_fin2 Accountable Talk®: Conversation that Works
Designed for teachers and learners in every setting - in school and out, in...

© 2013-2019