• FutureLearn logo

Software Development with Python and Java: Understanding Python

Get an introduction to software development and learn the basics of Python.

Two people working at a computer that has code on the screen.
  • Duration

    4 weeks
  • Weekly study

    4 hours

If you want to start a career in software development, it’s important to build your programming skills.

This course focuses on two of the most popular programming languages – Python and Java – which are widely used in scientific and numeric computing.

Get started building your software development skills

This course will introduce you to the world of software development, starting with the basics.

It provides a foundation for the rest of this Software Development with Python and Java ExpertTrack so that you can understand the theory and basic practices of using these programming languages before you move on to review the career paths and certifications available.

Explore how to use Python

You’ll be guided through using Python from the very beginning – install it onto your own computer, create a basic calculation, and look at the common use cases for the language. This will get you thinking about when and where you may use Python, and prepare for those scenarios.

You’ll also look at its dynamic semantic, and key aspects of the code syntax. By the end of this course, you should feel confident with a number of basic processes before moving on to the next course in this ExpertTrack.


  • Week 1

    Introduction to Python

    • Welcome to the course!

      Introduction to the course, information about the optional project tasks, and an overview of Week 1.

    • Python in context

      To get started with Python, you’ll first learn about its history and how it compares to other programming languages.

    • Wrap-up

      To complete the week, let’s recap the key points covered so far.

  • Week 2

    Python working environments, writing code, and basic troubleshooting

    • Introduction

      Welcome to Week 2! Let's first introduce the week's topics and outcomes.

    • Installations and working environments

      Get started by installing the correct version (based on the type of machine you are using), understand the importance of file paths, and be introduced to the most popular Python distribution platform, Anaconda.

    • Writing code and troubleshooting

      Understand how programming is problem-solving, see how Python code is written, and learn the basics of one of the most crucial activities in software development: debugging.

    • Wrap-up

      Let's wrap up what we covered this week and reflect on the learning so far.

  • Week 3

    Variables, data types, and data structures

    • Introduction

      Welcome to Week 3! Let's first introduce the week's topics and outcomes.

    • Variables and Data Types

      Get familiar variables in Python – specifically text, numeric and Boolean data types – and understand why it's so important to label your code.

    • Data structures

      Learn how to create variables and use in-built data structures in Python.

    • Wrap-up

      Let's wrap up what we covered this week and reflect on the learning so far.

  • Week 4

    Conditionals, loops, and functions in Python

    • Introduction

      Welcome to Week 4! Let's first introduce the week's topics and outcomes.

    • Conditionals and loops

      Learn about comparison operators, which are crucial for using conditionals and loops, to understand how decision-making works in programming in Python.

    • Functions in Python

      Learn how a single function can trigger a related action, how to attach values to return statements, and how functional arguments can be used to personalise your output.

    • Wrap-up

      Now it's time to reflect on your learning throughout the course, complete the final assessment, and look to 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...

  • Explain common use cases for Python
  • Describe variables, data types, data structures, conditionals, loops and functions in Python
  • Create a basic calculation using Python

Who is the course for?

This ExpertTrack will provide you with the foundations to start your development career. It’s best suited to:

  • Career-starters or career-changers looking for an entry level role as a software developer.
  • Established technology professionals looking to better understand software development.
  • Entrepreneurs who need to understand how to translate an idea for a new product or service into a finished digital one.
  • Project, product, or general managers looking to gain experience of developer activities.

What software or tools do you need?

During the course we’ll be using Python, Jupyter Notebook and Java. We recommend you use a computer to access this course.

Who will you learn with?

Lewin delivers high quality, scalable software that behaves predictably and fails gracefully. He understands how to make effective tradeoffs between new features, system complexity and technical debt.

Who developed the course?


FutureLearn is a leading social learning platform and has been providing high quality online courses for learners around the world over the last ten years.

In collaboration with

GitHub logo

Endorsers and supporters

endorsed by

Coventry University logo

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