Tips & Resources

A Students’ Guide to Learning Programming Languages Online

To enhance their opportunities in today’s labour market, many university students are keen to master one or more computer programming languages.

The benefits of acquiring programming skills go beyond job opportunities and attractive salaries. Even if you are not interested in a career as a software developer, learning to code will teach you important skills useful across the labour market, like problem-solving and critical thinking.

Steve Jobs, a co-founder of Apple, once put it this way: “Everybody in this country should learn how to program a computer … because it teaches you how to think.”

This article introduces you to the world of programming and suggests a starting point for learning programming languages through free courses online.

What Is Programming?

Programming, as defined by the specialised website FutureLearn, is how you get computers to solve problems.

To demonstrate the critical importance of programming in our world today, imagine what our life would have been like during the months of the Covid-19 pandemic lockdowns without technology based on programming, such as the Internet, entertainment applications, social media, smartphones, in addition to health, education and security-related technologies.

Arab Interest in Programming

Amid growing interest in programming and coding among Arab students, Sheikh Mohammed bin Rashid Al Maktoum, vice president of the United Arab Emirates and ruler of Dubai, launched the “One Million Arab Coders” initiative in 2017, to provide better opportunities to learn coding languages for Arab students. In a similar step, Egypt in 2020 launched “Future Work Is Digital” (Egypt FWD), an initiative that aims to qualify trainees to join the digital workforce and create job opportunities in the local market.

On your way to learning programming online, you will find a lot of resources. See Al-Fanar Media’s “Guide to Top Platforms for Online Courses” for links to some of the most prominent international and Arab educational platforms that offer free or affordable educational content.

5 Introductory Courses from Harvard

Among the most popular online options for learning about computer science and programming are Harvard University’s CS50 series of beginner-level courses.

Following are descriptions of five courses in that series. The courses are taught on edX, the nonprofit platform founded by Harvard and the Massachusetts Institute of Technology in 2012. All are available free, with an option to upgrade if you want a certificate of completion.

1. Introduction to Computer Science

This is CS50x, Harvard’s entry-level introduction to computer science and programming. It is for majors and non-majors alike, and does not require any prior experience in programming.

CS50x teaches students how to think algorithmically and solve programming problems efficiently. Topics include algorithms, data structures, security, website development, and languages, including C, JavaScript, CSS, and HTML. 

By the end of the 12-week, self-paced course, students will develop a final programming project, reflecting what they have learned. Students should allocate 10 to 20 hours of study time each week to complete all the lessons and exercises.

2. Web Programming with Python and JavaScript

This course is CS50W. It picks up where CS50x leaves off, so students should complete CS50x before enrolling or have prior programming experience. This course takes students more deeply into the design and implementation of web apps with Python, JavaScript, and SQL. Students learn about topics like database design, writing and using APIs (application programming interfaces), and creating interactive user interfaces through practical projects. Upon completion of the course, you will have a good knowledge of languages and tools for designing various applications.

This course lasts 12 weeks and requires six to nine hours of study per week.

3. Introduction to Game Development

This course, CS50G, focuses on how to develop 2D and 3D interactive video games. Students learn through hands-on projects that explore the design of popular games like Super Mario Bros., Legend of Zelda, Angry Birds, and Pokemon.

Students will learn the basic principles of 2D and 3D graphics, animation, and sound, and by the end of the course will have programmed several of their own video games. Like the previous course, this one also requires previous experience in a programming language, so that students can complete the course on time, easily and effectively.

The course lasts 12 weeks and requires six to nine hours of study time each week. Students should complete CS50x as a prerequisite to this course, or have prior programming experience.

4. Mobile App Development 

This course, CS50M, takes students deeper into web programming and mobile app development. Students learn to use React Native, which is considered one of the most important means of developing mobile applications, to enable them to design an entire application. 

The course lasts 13 weeks and requires six to nine hours of study time each week. Students should complete CS50x as a prerequisite to this course, or have a strong background with HTML and CSS, and be comfortable with basic JavaScript.

5- Introduction to Artificial Intelligence with Python

In this course, CS50AI, is an introductory course on artificial intelligence. Students will learn, using Python, the principles and algorithms that underlie modern artificial intelligence, and explore technologies like gaming techniques, handwriting recognition, and machine translation. By the course’s end, students will have gained experience in libraries for machine learning as well as knowledge of artificial intelligence principles that enable them to design intelligent systems of their own.

The course lasts seven weeks, and students will need to devote 10 to 30 hours of study time to it each week. Students should complete CS50x as a prerequisite to this course, or have prior programming experience in Python.

Programming Languages and Their Uses

A programming language is a means of communicating with and controlling a computer, through a set of instructions to complete various tasks, like developing websites, applications, and operating systems, and many other areas of computer use. There are several programming languages, the most popular of which are as follows:


Python is one of the most popular programming languages around the world, being suitable for people who do not have previous experience in coding. While it can be used in all areas of programming, its strength appears in artificial intelligence, machine learning, and data analysis.


JavaScript is one of the main programming languages, which contributed to the creation of the Internet. It is now the best choice in terms of running applications on various devices, such as smartphones and the cloud, and on a large number of browsers. So it is used by thousands of companies all over the world.

C/ C++

C and C++ are distinguished as programming languages with high speed and performance. They combine the characteristics of high-level languages, as well as low-level languages. This has allowed them to last for 40 to 50 years in the world of programming, especially in developing operating systems, games, Internet browsers, banking applications, and database management.


SQL stands for Structured Query Language and takes the lead among all programming languages in allowing fast and efficient access to programs that store huge amounts of data. A majority of activities that continuously deal with large quantities of data use SQL to help them achieve their goals.



Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button