• FutureLearn logo

Software Development Fundamentals: Programming Languages and HTML

Learn about software architecture and programming languages in this software development course.

Woman smiling in front of screens showing lines of code
  • Duration

    4 weeks
  • Weekly study

    4 hours

Starting a career in software development can be daunting - but it doesn’t have to be. Learn the basics and understand the languages, expectations, and processes involved in a software development job with this course.

You’ll cover common patterns in software architecture, different programming languages, and basic HTML to get you started in learning the building blocks of any development career.

Understand and define software architecture patterns

Software architecture refers to the fundamental structures of any software system, and the process of creating these structures. You’ll look at common patterns within software architecture, and be introduced to popular programming languages, including Java and Python.

There are 700 programming languages currently in existence, but you don’t need to learn everything from ABAP to Zig for a successful career in software development. This course will cover the different language types and discuss some of the most popular ones - like JavaScript, Python, and C++ - in more detail. This information will help you decide where to specialise and which languages you’d like to study further.

Learn basic HTML tags and elements

HTML is at the core of any career in digital technology. It’s the standard markup language used for every document that’s designed to be displayed on a web browser.

Find out how to use basic HTML tags and elements. You’ll learn about the importance of creating meaningful wireframes and web layouts, and how to review simple HTML elements that can be applied to basic web layouts.


  • Week 1

    Introduction to the course and software development

    • Introduction

      Here we'll introduce you to the second course in this ExpertTrack. We also have a look at the optional project and the assessment criteria for this course.

    • Designing applications

      In this section, you’ll be introduced to the concept of software architecture and learn about APIs as a way to connect applications.

    • Programming languages

      In this topic, you’ll learn about different levels of abstraction in programming languages and find out how developers choose which language to use for a project.

    • Weekly wrap-up

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

  • Week 2

    Setting up a development environment

    • Introduction

      This introduction will present you with the content and learning outcomes for Week 2.

    • Frameworks and language choice

      Understand frameworks in programming, their advantages and disadvantages, and what to consider when choosing a programming language.

    • Setting up a development environment

      Now we’ll look at the tools software developers use and you’ll get set up to start developing software.

    • Wrap-up

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

  • Week 3

    Introduction to HTML and designing for the web

    • Introduction

      This introduction will present you with the content and learning outcomes for Week 3.

    • Designing for the web

      In this topic, you’ll learn about the process of designing websites and create a wireframe for your prototype.

    • Getting started with HTML

      In this topic, you’ll learn about the history of HTML markup and how to use it correctly to structure a web page.

    • Weekly Wrap-up

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

  • Week 4

    Advanced HTML elements and building your first application

    • Introduction

      This introduction will present you with the content and learning outcomes for Week 4.

    • Advanced HTML elements

      In this topic, you’ll learn more ways to style text, how to handle user input and how to embed multimedia on your pages. You’ll also spend time exploring the debugging tools built into your web browser.

    • Course Wrap-up

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

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

  • Examine software architecture and common patterns
  • Define types of programming languages
  • Demonstrate the use of basic HTML tags and elements

Who is the course for?

This ExpertTrack will grow your confidence in working with development teams and understand the challenges they face. It’s suitable for:

  • Someone aiming to enter the digital sector
  • Anyone looking to change careers into an entry-level role as a developer, or to establish foundations for a development career
  • Established technology professionals looking to better understand software development and round out their skill set
  • An entrepreneur with a business or product idea that needs some basic understanding of software development to assess the viability of their idea

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

MuleSoft 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