22 Best Free Online Programming Courses

Learning to program?

Online you can learn it for free with excellent, high-quality courses at all levels.

Here are:

Our Favorite Free Online Programming Courses

Programming for Everybody (Getting Started with Python)

Programming for everybody

The course is a beginners level in English with subtitles in 11 different languages. You can learning programming of computers using Python, the basics of how one can construct a program using a series of simple instructions. There is no need for any prior programming experience and it avoids all except the simplest mathematics. The course covers chapters 1-5 of the text book Python for Everybody. You can download the book. This course covers Python 3 and you will learn how to install Python and write your first program, use variables to store, retrieve and calculate information and you will also learn how to use programming tools like functions and loops. This course forms part of the Python for Everybody Specialization. The syllabus covers: Why we program, installing and using Python, Why we program continued, Variables and Expressions, Conditional Code, Functions, and Loops and iteration. Skills Acquired: Python Syntax and Semantics, Basic Programming Language, Computer Programming, and Python Programming. Duration: Approx 19 hours over 7 weeks. Rating: 4.8/98%

What are the Top Free Online Programming Courses

After much research on all online Programming Courses on offer, we have found the top 22 Programming courses to make it easier for you to choose

22 Date Processing Using Python

Data processing using Python

This course is beginner level in English with subtitles in 8 different languages. This course starts with basic Python and progresses to, How to acquire data in Python locally and from a network to, How to present data then How to conduct basic and advanced statistics and visualization of the data and finally, How to design a Graphic User Interface (GUI) to present and process data. As the course progresses you will feel the simpleness, the elegance and power of Python. You will explore the speed, convenience and efficiency of the data processing capacity of Python. Python has a very broad application and can be used to process data in sociology, journalism, mathematics and biology, as well as business applications. This course is recently updated to Python 3, a manual page has been added, and the content order and details has been vastly improved. Skills Acquired: Python Programming, Numpy, Pandas, and Wxpython.Duration: Approx 29 hours over 5 weeks. Rating :4.1/92%

21 Biology Meets Programming: Bioinformatics for Beginners

Biology meets programming

The course is a beginner level in English with subtitles in 9 different languages. If you need to learn Python programming with a scientific bent, then this course is the right course to do. You will cover algorithms for solving biological problems along with some programming challenges which will assist you in using these algorithms within Python. Each of the 4 weeks will consist of 2 components. Firstly, a text book provides Python programming challenges arising out of biological problems, and secondly each week has a summary quiz. There is no requirement to having worked with Python before and you will be provided with (just-in-time) from the Codecademy Python track https://www.codecademy.com/learn/python

Lecture videos which are optional are also included. This course covers: in weeks 1 and 2: Where in the Genome Does Replication Begin; week 3 and 4: Which DNA Patterns Play the Role of Molecular Clocks?. Skills Acquired: Bioinformatics, Bioinformatics Algorithms, Biology, and Python Programming

Duration: Approx 19 hours over 4 weeks. Rating: 4.2/95%

20 Problem Solving, Python Programming, and Video Games

Problem solving, Python programming, and video games

This course is a beginner level in English with subtitles in 9 different languages. This course will introduce you to Computer Science and Python programming. At the conclusion of the course you will be able tot develop a plan to solve a computational problem through understanding and decomposition. You will follow the process of design creation that will include specification, algorithms and testing, and be able to code, teat and debug Python programme based on your design. You will learn Computer Science like problem solving (Computational thinking), problem decomposition, algorithms, abstraction and software quality. Python programming language and video games will demonstrate the Computer Science concepts in a fun way but you can apply the same knowledge and skills from this course to non-gaming problems, other programming languages , and other Computer Science courses. No previous Python or Video game experience is needed in order to do this course, however some computer skills are required as well as basic algebra, and these will be the keys to your success. This course is not about computer games but will still ;provide knowledge and skills for non-game problems. The interactive learning objects (ILO), provide automatic guidance and feedback like a virtual assistance as you develop the problem descriptions, algorithms and test plans. All videos, assessments, and IOL’s are available for free.

Skills Acquired: Python Syntax and Semantics, Video games, Python Programming, Problem Solving, and Computer Science with Shareable Certificate. Duration:Approx 80 hours over 12 weeks
Rating: 4.3/90%

19 Python for Data Science, AI & Development

Python for data science, AI & development

This course is in English and has subtitles in 2 other languages. In this course you will learn Python on for data science and programming in general with this introduction to Python. No previous programming experience is required and you will learn the fundamentals of Python programming including data structure and analysis through exercises throughout the modules and create a project demonstrating your skills. By the conclusion of this course you will be creating basic programs working with data and solving problems, further you will be gaining a strong foundation for more advanced learning in the field. You will work with data in Python using Pandas and Numpy libraries. 

Skills Acquired: Data Science, Python Programming, Data Analysis, Panda, and Numpy. Duration: Approx 21 hours over 4 weeks. Rating: 4.6/92%

18 Introduction to Python Programming

Introduction to Python programming

This course is in English. It is a beginner level in Python programming. Through this course you will receive an introduction to programming and using the Python language. You will explore concepts like data structure, conditionals, loops, variables, and functions. The course includes an introduction to various tools which are available for writing and running python and will set you up to begin coding quickly. You will receive coding exercises using commonly used data structures, it covers writing custom functions, and reading and writing to files. This course may be a little more challenging as it goes deeper into some essential programming topics. The modules include: An introduction to programming and the Python language, Variables, Conditionals, Jupyter, Notebook and Idle.; the 2nd week introduces Lists, Loops and Functions which are blocks of organized code used to perform a single, related action. The 3rd module looks at Lists, Stings, Tuples, Sets and PyCharm. Skills Acquired: Python Tools, Python Syntax and Semantics, Programming Principals, Python Programming, Computer Programming. Module 4 covers Dictionaries and files. Duration: Approx 28 hours over 4 weeks

Rating: 4.4/95%

17 Java Programming: Principles of Software Design

Java programming

This course is a beginner level in English with subtitles in 9 different languages. You will learn to solve problems with Java using multiple classes and through creating programming solutions. You will also see that software engineering involves writing code coupled with logical thinking and design. By the end of the course you will have written a program that analysis and sorts earthquake data and develop a predicative text generator. On completion of the course you will use sorting correctly to solve problems, develop classes that use Comparable Interface, timing data to analysis performance, break problems into different classes, each with their own methods. You will learn to determine if a class from the Java API can be used successfully in solving a particular problem: Implement programming solutions using different ways and recognize the trade offs between them, be able to hide utilization decisions so they are not visible, and recognize the limitations of algorithms and Java in solving problems and finally, recognize Java classes and idioms including exception-handling, static methods, Java.net, and Java.io packages. Skills Acquired: Programming Principals, Interfaces, Software Design, and Java Programming

Duration: Approx 13 hour over 4 weeks. Rating: 4.6/92%

16 Java Programming: Solving Problems with Software

Java programming: solving problems with software

This course is in English and is a beginner level with subtitles in 9 different languages. In this course you will learn to code in Java to improve your programming and problem-solving skills along with design algorithms and develop and debug programs. Using open- source classes you will write programs to access and transform images, websites, and other items. By the end of the course you will build a program to determine the popularity of baby names in the US by analyzing comma separated value (CSV) files. On completion of the course you will be able to edit, compile, and run Java program, use Conditionals and Loops, use Java API documentation, Debug a Java program, write a Java method to solve a problem, develop test cases as part of the program develop, create a class with different methods that work together to solve a problem, and finally use Divide-ans-conquer design techniques for a program that uses different methods.Skills Acquired: Algorithms, Problem Solving, String (Computer Science), and Java Programming. Duration: Approx 17 hours over 4 weeks. Rating: 4.6/92%

15 Computer Science: Programming with a Purpose

Computer science: programming with a purpose

The course is in English and is a beginner level with subtitles in 8 other languages. Learning to program it has gone from an exercise done by few to become an essential part of the education of everyone, in the sciences and engineering, in the arts, social science, and humanities. As well as being applied in direct applications this is the first step to understand the impact of computer science in the modern world and the course covers the first half of of the book Computer Science: An Interdisciplinary Approach and the course is designed to teach programming to those who need or want to learn it. The course introduces basic programming elements like variables, conditionals, loops, arrays, and I/O. Thereafter your attention will be turned to functions, recursion, modular programming, and code reuse. This course uses the Java programming language and teaches basic skills for computer problem solving that is applicable in many computing environments. In week 1 the syllabus covers: Basic Programming Concepts; week 2 covers Conditionals and Loops; week 3 covers Arrays, week 4 covers Input and Output, week 5 covers Functions and Libraries, week 6 covers Explores Recursion, week 7 covers performance, week 8 explores Abstract Date Types, week 9 is about Creating Data Types, and week 10 concludes the course with an overview of important issues surrounding programming languages. Skills Acquired: Programming Principals, Computer Science, Algorithms, and Java Programming. Duration: Approx 88 hours over 10 weeks. Rating: 4.7/94%

14 Object Orientated Java Programming: Data Structures and Beyond Specialization

Object orientated java programming

This is an intermediate course in English with subtitles in 19 other languages. This course will teach you object-orientated programming principals therefore giving you the capabilities to use Java to its full potential, and you will utilize data structures and algorithms for organizing bulk amount of data in a way that simplifies the work and creates efficiency. You will learn to critically valuate your code and you will build technical communication skills that will prepare you for collaborative work ad a software engineer. In the final course you will apply your skills to analyse data from a social network.

You can choose any one fo the courses in the Specialization to begin with and you can follow on in any particular order that suits you. Course 1 covers: Object Orientated Programming in Java; Course 2: Delves into data structures and performance; Course 3 covers: Advanced Data Structures in Java; Course 4: Mastering the Software Engineering Interview and Course 5 is the final course analyzing (Social) Network Data. Skills Acquired: Data Structure, Problem Solving, Java Programming, Object-oriented programming (OOP), Logic programming, Sorting Algorithms, Trees (Data Structures), Linked List, Binary Tree, Graphs, Search Algorithm, and Graph Algorithms. Duration: Approx 7 months at around 5 hours per week – 5 courses. Rating: 4.7

13 Introduction to Data Science Specialization

Introduction to data science specialization

This course is a beginner level in English with subtitles in 10 different languages. This 4 course specialization will give you the foundational skills a data scientist needs to launch your career as a data scientist. You will discover what data science is and what the data scientists actually do. In learning how data analysis helps people make data driven decisions, you will discover how data science is applied across diverse fields. You will be introduced to big data, statistical analysis and relational data bases using open source tools and data science programs like Jupyter, Notebooks, RStudio, Github, and SQL. You will try your hand at projects so learning the methodology involved in tackling data science problems and apply your new skills to actual data sets. You can start with any of the 4 courses and continue in no specific order. On completion of the courses and hands-on project you will receive a completion certificate from Coursera and a digital badge from IBM. The courses include: What is Data Science?, Tools for Data Science, Data (SQL) for Data Science with Python.

Skills Acquired: Data Science, Relational Database Management System (RDBMS), Cloud Database, Python Programming, SQL, Deep Learning, Machine Learning, Big Data, Data making, and Github

Duration: Approx 4 months at around 5 hours per week – 4 courses. Rating: 4.7

12 Learn to Program: The Fundamentals

Learn to program:the fundamentals

This course is in English and is a beginner level with subtitles in 11 different languages. This course introduces you to the basic routes of programming and will teach you how to write fun and useful programs using Python. In this course you will cover: Python, Variables, and functions, which is an overview of the course and serves as an introduction of fundamental Python concepts; Strings and designing functions where Strings are a data type used to represent text, and the process to follow when creating a function; Next you will cover Booleans (which are logical values true and false) import, name spaces and if statements which selectively run code; Loops and fancy String manipulation and how to use a debugger to watch a program execute step=by-step. Instruction of medium is by way of videos and readings. Skills Acquired: Python Syntax and Semantics, Computer Programming, Python Programming, and Idol (Python). Duration: Approx 25 hours over 7 weeks. Rating: 4.7/94%

11 Introduction to Web Development

Introduction to web development

The course is a beginner level in English with subtitles in 8 different languages. This course will lead you to further studies in web development and design even if you have very little or no knowledge. If you have ever wondered ow websites work, how they are built and how browsers, computers and mobile devices interact with the web, then this course is definitely the right course to do. There are almost 1 billion websites on the net and the answers to these questions could be your first step in developing a new set of skills. At the the conclusion of this course you will be able to explain the structure of the world wide web and be able to create web pages using combination of HTML, CSS, JavaScript, and applying essential programming language when creating HTLM forms and be able to select a web posting service to publish your web pages. Finally, you will be able to develop a model for creating your own websites and be fully prepared to advance in web development and design. 

Skills Acquired: CSS Code, HTML, Javascript, Cascading Style Sheets (CSS). Duration: Approx 24 hours over 4 weeks. Rating: 4.7/96%

10 HTML, CCS, and Javascript for Web Developers

HTML,CCS and Javasripts for web developers

This course is in English with subtitles in 9 different languages. The only functionality of a web application a user interacts with is through the web page. Today’s user expects a great deal from a web page: It should load fast, expose the desired service and be comfortable to view on computers, tablets, and mobile phones. This course teaches the tools required by every web page coder starting from the ground up by learning how to implement web pages with HTML and CSS, advancing to how to code pages such as its components rearrange and resize themselves automatically based upon screen size. Finally, you will get a through introduction to the very powerful of language of the web: JavaScript. Utilizing JavaScript you will build a functional web application that users Ajax to expose server-side functionality and data to the end user. Week 1: Introduction to HTML5. Week 2: Introduction to CSS3. Week 3: Coding the Static Restaurant site. Week 4: Introduction to JavaScript and week 5: Using JavaScript to build web applications. The medium of instruction is through videos and readings and many quizzes. Skills Acquired: HTML, JavaScript, Css Framework, and Cascading Style Sheets (CSS). Duration: Approx 40 hours over 5 weeks. Rating: 4.7/96%

09 Object Orientated Programming in Java

Object orientated programming in Java

This is a intermediate level course in English with subtitles in 10 different languages. This course covers Object Oriented Programming in Java using data visualization. If you are striving to be a professional software developer or just wanting to improve your programming skills to engage with that personal project you have been participating or possibly you are trying to figure out what this course in programming is all about then you have come tot the right place. As this is an intermediate course we recommend that you have some previous experience in software development or some knowledge in computer science. By the time you have complete this course you will be able to create most advanced Java program that you have ever done before. YOU will also learn the basics of Object Oriented Programming, how to utilize the power in existing libraries, building graphically user interfaces, and use of core algorithms for searching and sorting data. This course is project based. YOu will cover: In week 1 An overview of the project which is Visualization Data, in week 2 You will cover Memory Models, Scope, and Starting the project, in week 3 Goes into Graphical Output: Creating GUIs and Displaying Data, in week4 Covers Inheritance, week d Delves into GUIs: Responding to user events, and finally week 6 Covers Searching and Sorting: From Code to Algorithms.

Skills Acquired: Logic Programming, Java Programming, Object-Orientated Programming (OOP), and Sorting Algorithm. Duration: Approx 39 hours over 6 weeks. Rating: 4.7/97%

08 Code Yourself! An Introduction to Programming

Code yourself! An introduction to programming

This beginner level course is in English with subtitles in 9 different languages. If you have ever wanted to write a computer program and had no idea where to begin from then this course will guide you through using the program in Scratch which is an easy visual programming language and will get you into the principals of computing and guide you to think like a software engineer. From this course you will learn Your First Computer Program, Code one Loopy, Remixing Games, Reusing your Code, and finally Think Like A Software Engineer. Skills Acquired: Computer Programming,Algorithms, Programming Language, and Scratch (Programming Language). Duration: Approx 12 hours over 5 weeks. Rating: 4.7/98%

07 Meta Front-End Developer Professional Certificate

Meta front-end developer

This course is a beginner level course in English only. This set of 9 courses will get you started in coding and building stunning websites as a career. This is the work of a front-end developer. Those who complete the program will get access to the Meta Career Programs Job board. In the program you will learn coding, and how to build interactive web pages using HTML5, CSS, and Java script. You will also learn design skills to create professional page layouts using tools such as Bootstrap, React, and Figma. By the end of the course you will, through the application of your new skill set, complete a portfolio project by building a dynamic website and create a responsive website for your portfolio. The program engages you in hands-on activities so that you can practice and implement as you learn. IN total there are 9 projects in which you will be performing tasks such as: Editing your Bio page through HTML5, CSS, and UI Frameworks; Manage a project in GitHub; and you will build a static version of an application using React, UI Frameworks, Routing, Hooks, Bundlers and Data Fetching. The program ends with a Capstone Project. The 9 courses offered in this certificate are: Introduction to Front-end Development, Programming with Java Script, Version Control. HTML and CSS indepth, React basics, Advanced React, Principals of UI/UX Design. Finally the Capstone project.

Skills Acquired: Cascading Style Sheets (CSS), HTML, UI/UX Design, React, Javascript, Web Development Tools, User Interface, Front-End Web Developer, HTML & CCS, Response Web Design, and Test-Driven Development and OOP (Object Oriented Programming) Duration: Approx 7 months pace at 6 hours per week – 9 courses. Rating: 4.8

06 Python for Everybody Specialization

Python for everybody specialization

This is a beginner level course in English with subtitles in 11 different languages. This course introduces programming concepts like data structures, networked application program interfaces, and data bases using Python as the programming language. The intention of the course is to teach you to program and analysis data with Python and to develop programs to gather, clean, analysis, and visualize data. The final project will use all the technologies learnt throughout this specialization to design and create your own application for data retrieval, processing, and creating visualizations. The 5 courses are: Course 1 Programming for Everybody (Getting Stated with Python), Course 2 Covers Python Data Structures, Course 3 is Using Python to access Web Data, Course 4 Is Using Data Bases with Python and Course 5 is the Capstone project, retrieving , processing and visualizing data with Python. Skills Acquired: Json, Xml, Python Programming,Database (DBMS), Python Syntax and Semantics, Basic Programming Language, Computer Programming, Data Structure, Tuple, Web Scraping, Sylite, and SQL. Duration: Approx 8 months averaging 3 hours per week – 5 courses. Rating: 4.8

05 Google IT Automation with Python Professional Certificate

Google IT automation Python

The course is in English and has subtitles in 13 different languages. The course is designed to give IT professionals in-demand skills like Python Git, and IT Automation. Knowledge on writing problem solving code and automation solutions is crucial for anyone in IT and Python is the most sought after skill needed by employers. This course is designed around programming with Python and using Python to automate common system administration tasks. Further you will learn to use Git and GitHub, how to troubleshoot and debug complex problems and apply automation using configuration management and the Cloud. Google recommend that you have Python installed and where possible, an installation of Git. You will practice your technical skills with projects including capstone project where you will use your new found knowledge to solve a real IT problem. Skills Acquired: Using Version Control, Troubleshooting and Debugging, Python Programming, Configuration Management, Automation, Basic Python Data Structures, Fundamental Programming Concepts, Basic Python Syntax, Object-oriented Programming, Setting up your development environment, Regular expression and Testing in Python. Duration: Approx 10 hours per week over 6 months covering 6 courses. Rating: 4.8

04 Python Programming Essentials

Python programming essentials

This course is a beginner course in English and has subtitles in 10 other languages. In this course you will learn the essentials of programming and construction of basic Python programs. You will cover experiences, variables, functions, logic and conditionals which are foundations in computer programming. You will also be taught the use of python modules so you can benefit from the functionality that is already a part of the language. This will assist you to think like a programmer and understand how to go about writing programs in Python. On completion of the course you will be able to write Python programs which will accomplish real practical tasks. The course uses Python 3 which is the future of python programming language and the course uses a Python 3 version of the CodeSkulptor environment which is designed to help learners achieve their goals faster. You are not required to install any software which allows you to start writing and running programs immediately. 

Skills Acquired: CodeSkulptor, Python Syntax and Semantics, Python Programming, and Debugging. Duration: Approx 10 hours over 4 weeks. Rating: 4.8/96%

03 Crash Course on Python

Crash course on Python

This course is in English and has subtitles in 9 other languages. This course will each you the foundations in Python to write simple programs using the most common structures. You will require no prior experience in programming. By the end of the course you will be able to write simple programs, see how the building blocks of programming work together and combine this knowledge to solve a complex programming problem. The course begins by delving into the basics of writing a computer program during which you will get experience with programming concepts through exercises and examples. You will begin to understand how computers form many tasks as a result of the code that you have written them what to do. Skills Acquired: Basic Python Data Structure, Fundamental Programming Concepts, Basic Python Syntax, Python Programming and Object-Oriented Programming (OOP). Duration: Approx 28 hours over 6 weeks. Rating: 4.8/96%

02 Python Basics

Python basics

This course is in English and is beginner level course and has subtitles in 10 different languages. You will learn the fundamentals of Python 3 including conditional execution and iteration as control structures and Strings and Lists as data structures. You will learn to program an on-screen Turtle which will draw pictures. Further, you will draw reference diagrams as a means to learn and reason program executions to enhance your debugging skills. There are no prior requirement to do this course, but you will be able to access a free text for this course being, “Fundamentals of Python Programming”, Chapters 1 – 9. This course is ideal for those who are new to Python or if you need a refresher. This is the 1st of 5 courses in the Python 3 programming specialization and covers: A General Introduction, Sequences and iteration, Booleans and Conditionals, and finally, Sequence Mutation and Accumulations Patterns. Skills Acquired: Python 3, Stings, Lists,and Debugging

Duration: Approx36 hours over 4 weeks.Rating: 4.8/98%

01 Programming for Everybody (Getting Started with Python)

Programming for everybody

The course is a beginners level in English with subtitles in 11 different languages. You can learning programming of computers using Python, the basics of how one can construct a program using a series of simple instructions. There is no need for any prior programming experience and it avoids all except the simplest mathematics. The course covers chapters 1-5 of the text book Python for Everybody. You can download the book. This course covers Python 3 and you will learn how to install Python and write your first program, use variables to store, retrieve and calculate information and you will also learn how to use programming tools like functions and loops. This course forms part of the Python for Everybody Specialization. The syllabus covers: Why we program, installing and using Python, Why we program continued, Variables and Expressions, Conditional Code, Functions, and Loops and iteration. Skills Acquired: Python Syntax and Semantics, Basic Programming Language, Computer Programming, and Python Programming. Duration: Approx 19 hours over 7 weeks. Rating: 4.8/98%