• University of Reading

Begin Programming: Build Your First Mobile Game

Learn basic Java programming by developing a mobile game that you can run on your computer, Android phone or tablet.

203,332 enrolled on this course

Hands holding a mobile phone in front of a screen of code, representing how you can learn Java with this online programming course
  • Duration

    5 weeks
  • Weekly study

    4 hours

This course is no longer running but you may be interested in ‘Begin Robotics’ which has been developed by Prof Richard Mitchell from the Department of Computer Science at the University of Reading.

Take your first steps into the world of computer programming and learn how to build your own mobile game in just five weeks.

You’ll be introduced to the basic constructs and the principles behind computer programs, as well as the building blocks that are used to create them.

Using the same tools as industry professionals, you’ll create algorithms to solve problems and translate them into code.

Each week you’ll put into practice your new-found skills by changing the game code provided in the course, creating a game unique to you.

Download video: standard or HD

Skip to 0 minutes and 5 seconds Hi, I’m Karsten Lundqvist. I love gaming. I also like coding. Currently I work a lot on Android programmes. And that’s why we’re here.

Skip to 0 minutes and 16 seconds I started out with an Amstrad and I coded on it. And I learned to code that way. Code is everywhere, in dishwashers, in cars, in space shuttles. But it’s actually not rocket science. Everyone can learn. When you write a programme, you rarely start with a blank canvas. Instead, you bring together ideas that you’ve met before, quite often from seeing other people’s code. Seeing how they worked, modify them, adding extra functions. Didn’t necessarily understand the whole programme, but we could concentrate on one particular bit. In this course, we we’ll be developing a game together. We’ll start out with a ball in the middle of the screen. We’ll move it around. We’ll introduce a few programming constructs that will control the ball.

Skip to 1 minute and 5 seconds In that way we’ll get a real game. But through that process, we will actually learn different programming constructs. You will be part of a bigger community, who is helping you to do the learning. So that, if you don’t understand something, you can go on, for instance, to our frequently asked questions page. So let’s get started. I hope you enjoy the course.


  • Week 1

    Welcome to Begin programming

    • Welcome to the course!

      Here you will find out what we have in store for you over the next few weeks and how you can use the platform to make the most out of your learning experience.

    • Setting up the software

      Download and install the essential tools you will need to create the game.

    • Running the game

      Take a look at what goes on behind-the-scenes as you create a game to test in the android emulator.

    • End of the first week

      It may not feel like you've acheieved a huge amount this week, but you've taken the first steps on your programming adventure! Now is a time to quickly reflect before we go to the next stage!

  • Week 2

    Code Constructs, and Conditionals

    • Getting started

      An overview of what you will be learning in week 2.

    • Data Types and Variables

      These tell the system what each element of the game is and what is possible for it to do. You will learn how to describe and use them in the code.

    • Operators and precedence

      We can use operators to perform functions on the data we have entered into our variables. This activity will introduce what the different operators do and how they are used.

    • Variables and operators in the game

      Now you have learnt about some basic code constructs in Java, you can make some changes to the game.

    • Share your experience

      Share your thoughts about the course. What features would you like to see in the game? Take some time to think about how you got on, what you've learnt, can you help anyone else and what's coming up next.

  • Week 3

    Arrays and loops

    • Getting Started in Week 3

      This week's topics will expand on what you've learnt so far, and introduce some exciting new functionality. Watch the video to find out what this week will cover.

    • Conditional Statements

      Programs make 'decisions' by testing data against certain conditions. Using conditional statements you can make your game react to different inputs in the way that you want it to.

    • Conditional statements in the game

      Find out how you can put your new found knowledge of conditional statements to good use, by using them to add awesome functionality to your game!

    • Arrays

      Like variables, arrays are containers that hold data. However, arrays are able to hold more than one value. In this activity you will find out more about how arrays work and how they can be used.

    • Loops

      Find out how loops can be used to repeat tasks until conditions are met.

    • Arrays and loops in the game

      Apply what you learnt this week to the game, and add some new functionality!

    • Share your experience

      We're more than halfway through the course now and we'd like to get your feedback on what you've learnt so far

  • Week 4

    Algorithms and Functions

    • Getting Started in Week 4

      Find out what we'll cover this week and how this will affect the game

    • Algorithms

      Find out what algorithms are and how you can use them to combine the programming constructs you've learnt so far.

    • Solving Complex Problems

      Now that you understand what algorithms are and how they can be used, you can start applying this knowledge to solve more complex problems, programmatically, using the constructs you have learnt so far.

    • Functions

      Functions, also known as methods, combine different constructs to perform tasks within a program. Find out more about what they are and how they can be used.

    • Apply your knowledge

      Time to think about what you've learnt so far and apply this to the game.

    • Use your imagination

      Get creative and come up with your own ideas for using functions in the game.

  • Week 5

    Consolidate, reflect and celebrate

    • Welcome to Week 5

      Find out what's in store for the final week.

    • Deconstructing video games

      Put what you've learnt into action by working out how some of your favourite games are made.

    • Challenge Yourself

      Challenge yourself and test your knowledge of what you've learnt with an exercise and a quiz.

    • Celebration time!

      Time to congratulate yourself and share your success with others.

    • Time to Reflect

      Take some time to think about how you've done, what you've learnt, and what's next.

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

  • Compile and run a java application on a mobile phone or emulator
  • Modify java code
  • Identify and use different data types and Java programming constructs
  • Develop a simple program in Java to run on a mobile phone

Who is the course for?

This beginners’ course teaches the basics of programming and you don’t need any knowledge of coding to take part. You may find it challenging at times, but we hope it’ll be fun too. However, the course does require you to be comfortable downloading, unzipping and installing software to your computer. If you think that you may find this difficult, you may like to have someone with a good knowledge of IT on hand to help you – particularly in Week 1.

The 4 hours per week is an estimate based on past participants’ experiences, however some previous participants have reported taking much less time, while others take considerable longer to complete some weeks. This will depend on your experience and to some extent how powerful your computer is.

This course includes video content and other visual teaching methods. As such, blind and visually impaired students may need a helper.

What software or tools do you need?

The course will give you an opportunity to write and edit your own programming code using specific software. To run this software effectively, we recommend a computer (Windows, Mac or Linux) that has a dual-core processor and a minimum of 2GB of RAM — though this may vary. For information on operating system support see the Android developers’ site.

We do recommend using a computer to complete the practical coding exercises in this course, but if you just want to watch the videos and read the tutorials, you should be able to access these on most web connected devices, such as smartphones, tablets and consoles.

We recommended that you have an Android device (such as a phone or tablet) running at least Android 2.2 on which you can test and run your game. If you don’t have an Android device you can use an emulator on your computer, but this is a much slower and more error-prone process.

Who will you learn with?

I am Professor of Cybernetics in the Department of Computer Science at the University of Reading. My interests include Education, Computing, Control, Robotics, AI Gaia Theory and Programming.

A few years ago I had the idea to create the "Begin Programming" course. It was one of my better ideas.

I enjoy games, coding, American Football, and exploring the country I now live in.

Varun Ojha is a Machine Learning and Computational Intelligence researcher. He loves Programming in Java and has been programming in Java for past 15 years.

Who developed the course?

University of Reading

The University of Reading has a reputation for excellence in teaching, research and enterprise.

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 #FLMobiGame to talk about this course on social media.