Free Courses That Are Actually Free: Programming Edition

Learn how to program for free and at your own pace, with these curated free programming courses.



Free Programming Courses
Image by Author

 

We are now on the 3rd edition of free courses that are actually free. We have covered AI and ML as well as Computer Science. We are now moving on to programming. Programming is very similar to computer science, therefore you might see very similar courses.

We already know that Python is one of the most popular programming languages out there. However, just because it is popular and its syntax is simpler to read and write, it doesn’t mean it's the right programming language for you. You need to take into consideration a lot of factors, such as the job you want, what it requires in terms of programming languages, etc.

Programming is literally learning a new language and in order to master it don't expect to wake up one day and you'll be a programming whiz. It take's time, patience and a lot of practise.

 

Introduction to Computer Science and Programming Using Python

 
Link: Introduction to Computer Science and Programming Using Python
Duration: 9 weeks, 14–16 hours per week

The first of a two-course sequence. In this introductory course offered by MIT, students will use computer science as a tool to help them solve real-world analytical problems using Python. You will dive into the notion of computation, the Python programming language, simple algorithms, as well as learning the elements of testing and debugging. With all that knoweldge, you will then move onto an informal introduction to algorithmic complexity as well as data structures.

 

Introduction to Computational Thinking and Data Science

 
Link: Introduction to Computational Thinking and Data Science
Duration: 9 weeks, 14–16 hours per week

This is the second course of the two-course sequence above. In this course, learning from your introduction from the previous course, you will dive into computation and how you can use it to accomplish a variety of goals. You will also be provided a brief introduction to a variety of topics within computational problem-solving. This course is aimed at students with some prior programming experience in Python as well as knowledge of computational complexity. During this course, you will spend time writing programs to implement the concepts covered in the course.

 

C++ Programming: Basic Skills

 
Link: C++ Programming: Basic Skills
Duration: 5 weeks, 2–3 hours per week

This course is designed for learners with no coding experience, so for all my non-coders out there who are looking into learning C++ - this is for you. The modules in this course cover the following: printing, operators, iteration, selection, and vectors.

In order for yo to have a truly hands-on, self-paced learning experience, this course is video-free. Your designated assignments contain short explanations with images and runnable code examples, that will also provide you with suggested edits to explore code examples further, and help build a deeper understanding.

 

Python Programming: Basic Skills

 
Link: Python Programming: Basic Skills
Duration: 5 weeks, 2–3 hours per week

Maybe you don’t want to learn C++, and Python is up your route. This course is designed for learners with no coding experience. However, in this course you will not only get a solid foundation of Python, but you will also learn about the core Computer Science and software development topics that can be transferred to other languages.

This course provides instant feedback from a variety of assessment items along the way, which will take you from gently progressing your understanding with multiple choice, fill-in-the-blank, and un-scrambling code blocks to small, approachable coding exercises.

 

R Programming Basics for Data Science

 
Link: R Programming Basics for Data Science
Duration: 5 weeks, 1–2 hours per week

R is a very popular language and this course covers common data structures, programming techniques, and how to manipulate data with the use of the R programming language. You'll be happy to know that no prior knowledge of R or programming is required.

In this course you will get hands-on and practical learning, where you will eventually be able to write a simple program using RStudio, manipulate data, and complete a final project as a data analyst using Watson Studio and Jupyter Notebooks that will help you to produce data-driven insights.

 

Java Programming: Basic Skills

 
Link: Java Programming: Basic Skills
Duration: 5 weeks, 2–3 hours per week

No experience and want to learn Java? No problem. This course is for newbies and provides a solid foundation of not just Java, but core Computer Science topics that can be transferred to other languages. Similar to the other courses offered by Codio, you will learn through a hands-on, self-paced learning experience. As mentioned above, your assignments will be short explanations with images and runnable code examples and suggested edits to explore code examples further.

 

CS50's Introduction to Programming with Python

 
Link: CS50's Introduction to Programming with Python
Duration: 10 weeks, 3–9 hours per week

Another course from CS50! In the Introduction to Programming with Python, you will learn the most popular language for general-purpose programming, data science, and web programming. It's popular for a reason, so if you're considering learning it - give it a go with this course.

You will learn how to read and write code, find and fix bugs, extract data, and write unit tests. But that's not all, you will also learn about functions, arguments, variables, types, conditionals, Boolean expressions and more. Exercises included in this course are real-world programming problems, so you can get a realistic idea of the world as a Python programmer.

 

CS50's Web Programming with Python and JavaScript

 
Link: CS50's Web Programming with Python and JavaScript
Duration: 12 weeks, 6–9 hours per week

If you’re looking to enter the tech industry but you’re more interested in the design and implementation of web apps - this entry-level course is for you. You will learn about different aspects of web programming such as database design, security, and user experience. With this knowledge, you will then go into hands-on projects where you will put your knowledge to the test and write and use APIs, as well as create interactive UIs.

 

CS50's Introduction to Computer Science

 
Link: CS50's Introduction to Computer Science
Duration: 12 weeks, 6–18 hours per week

How about a mix of programming languages? Python? JavaScript? Maybe both? CS50's Introduction to Computer Science has the highest enrollment on Harvard's campus and is one of edX's top 100 courses of all time.

In this Introduction to Computer Science course, you will learn about the art of programming and computer science. You will open up your mind and learn how to think algorithmically to solve programming problems. You will go over concepts such as abstraction, algorithms, data structures, software engineering, web development and more. You will also become familiar with programming languages such as C, Python, SQL, JavaScript, and HTML.

 

Wrapping up

 

Starting to learn a new programming language is something that requires dedication and practice. You won’t learn it overnight but if you practice enough, you will master it like it felt like it was overnight. Make use of all the free resources during this stage as it will save your pocket whilst you’re going through a difficult learning stage.

 
 

Nisha Arya is a data scientist, freelance technical writer, and an editor and community manager for KDnuggets. She is particularly interested in providing data science career advice or tutorials and theory-based knowledge around data science. Nisha covers a wide range of topics and wishes to explore the different ways artificial intelligence can benefit the longevity of human life. A keen learner, Nisha seeks to broaden her tech knowledge and writing skills, while helping guide others.


Get the FREE ebook 'KDnuggets Artificial Intelligence Pocket Dictionary' along with the leading newsletter on Data Science, Machine Learning, AI & Analytics straight to your inbox.

By subscribing you accept KDnuggets Privacy Policy


Get the FREE ebook 'KDnuggets Artificial Intelligence Pocket Dictionary' along with the leading newsletter on Data Science, Machine Learning, AI & Analytics straight to your inbox.

By subscribing you accept KDnuggets Privacy Policy

Get the FREE ebook 'KDnuggets Artificial Intelligence Pocket Dictionary' along with the leading newsletter on Data Science, Machine Learning, AI & Analytics straight to your inbox.

By subscribing you accept KDnuggets Privacy Policy

No, thanks!