computer assignment programming language

What is a programming language?

At its core, a programming language is a set of instructions that enables humans to communicate with computers—using a series of symbols that serve as a bridge that allows humans to turn our ideas into instructions computers can understand. Like spoken languages, each language has its own unique syntax, structure, vocabulary, and even slang or shortcuts.

In the vast digital landscape, programming languages are the “lingua francas” of software development, facilitating global conversations between machines and developers, wherever they may be. Their importance extends far beyond lines of code—they empower us to use technology to innovate, automate, and bring our imagination to life.

If you've ever wondered how your favorite apps, websites, or software come to life, you're in the right place. In this article, we'll explore the not-so-basic basics of programming languages, their pivotal role in software development, and how they shape the technological landscape we navigate daily.

What is the role of programming languages in software development?

A computer "speaks" in a "language" using strings of the numerals "1" and "0"—known as binary code. A programming language allows us to translate the computer's binary code into something humans can understand and write.

These languages enable us to communicate with computers, build and organize code, specify functionality and behavior, automate and improve efficiency, collaborate and share code, and solve problems creatively.

Here are some examples of how specific programming languages can help you to:

Communicate with computers:

Example: Python

Python is widely used for writing scripts and programs to communicate instructions to computers. For instance, a Python script can automate file operations, manage system tasks, or control hardware components, allowing developers to interact with computers at a low level.

Build and organize code:

Example: Java

Java is known for its object-oriented programming paradigm, making it suitable for building large-scale  enterprise applications.  Developers use Java to organize code into classes and modules, promoting code reusability and maintainability. The language's structure helps in creating well-organized and structured software projects.

Specify functionality and behavior:

Example: JavaScript

JavaScript is commonly used to specify the functionality and behavior of web applications. It runs in web browsers, allowing developers to define how web pages interact with users. JavaScript is essential for client-side scripting, enabling dynamic and interactive web experiences.

Automate and boost efficiency:

Example: Bash (Bourne Again Shell)

Bash scripting is used for automating repetitive tasks in the Linux environment. Developers write bash scripts to automate system tasks, file operations, and other routine processes. This enhances efficiency by reducing manual intervention in day-to-day operations.

Collaborate and code share:

Example: Ruby

Ruby on Rails is a web development framework that facilitates collaboration and sharing of code. It follows the convention over configuration (CoC) and don't repeat yourself (DRY) principles, making it easier for developers to work together on a project. The framework's structure encourages uniformity, easing collaboration among team members.

Adaptability and flexibility:

Example: C++

C++ is known for its adaptability and flexibility, allowing developers to write both low-level and high-level code. It is used in a variety of applications, from system programming to game development. C++ balances performance and abstraction, making it adaptable to different domains and requirements.

Problem solving and creativity:

Example: Python (again)

Python is mentioned twice with good reason—not only one of the most popular languages for beginners to learn, but it's also used for problem-solving and creative tasks due to its clear syntax and extensive libraries. Whether it's data analysis, machine learning, or building web apps, Python's versatility allows developers to approach problem-solving in creative ways. Its readability and expressiveness contribute to a more intuitive and creative coding experience.

How do programming languages work?

Programming languages are used in all areas of the  software development lifecycle (SDLC) , including:

Writing the code : Everything starts with code. Developers write lines of instructions, expressing their logic and intentions in a programming language, using a text editor or an integrated development environment (IDE).

Compilation vs. interpretation : Once code is written, it undergoes either compilation or interpretation, depending on the type of programming language used Compiled languages like C++ convert the entire code into machine-readable binary before execution. Interpreted languages like Python translate code line by line during runtime.

Execution : The compiled or interpreted code is executed by the computer, carrying out the specified instructions and producing the desired output. Code review helps to improve code quality and promote discussion among team members.

Runtime errors : During execution, some instructions may get "lost in translation." Runtime errors can range from logical mistakes in the code to unforeseen issues. Debugging becomes the detective work of identifying and fixing these errors.

Debugging : Debugging is the process of finding and resolving errors in code. Developers use  code review tools  and techniques to trace issues, ensuring the software behaves as intended, as well as to reduce security risks.

Types of programming languages

The most common types of programming languages can be broadly grouped into two families: paradigm-based and application-based.

Paradigm-based languages

Paradigm-based languages are classified based on their programming paradigm, which is a fundamental style of programming. Some examples of paradigm-based languages:

Imperative languages: are designed to express the sequence of steps required to solve a problem. They describe how a program operates using statements that change a program's state. Examples include C, C++, and Java.

Functional languages : Functional languages are designed to express computations as the evaluation of mathematical functions. They emphasize the use of functions and avoid changing state and mutable data. Examples include Haskell, Lisp, Scala, and ML.

Markup languages : Markup languages are designed to annotate text with metadata and are used often in web development to format and present text. Examples include HTML, XML, and LaTeX.

Application-based Languages

Application-based languages are classified based on their application domain. Some examples of application-based languages are:

Web development languages are vital for creating interactive and visually appealing websites and web applications. Examples include HTML, CSS, JavaScript, and PHP.

Mobile app development languages are tailored for building applications on mobile platforms. Examples include Java, Kotlin, and Swift.

Data science languages are designed for statistical analysis, machine learning, and data manipulation. Examples include Python, R, and SQL.

Popular programming languages

Programming languages may wax or wane in popularity—new languages are constantly being developed as new technologies emerge. If you're trying to decide which language to start your coding journey with or which one to use in a new project, check out the  Popularity of Programming Language (PYPL) index  which uses "collective wisdom" to indicate a language's current popularity by analyzing raw data from Google Trends.

Several programming languages are consistently found at the top of any popularity list:

Python : A high-level, general-purpose programming language widely used for web development, data science, artificial intelligence, and automation.

Strengths : Readability, versatility, and extensive libraries.

Weaknesses : Slower execution speed in comparison to lower-level languages.

JavaScript : JavaScript is known for its ability to enable interactive and dynamic content and user interfaces. It supports both client-side and server-side scripting.

Strengths : Ubiquitous in web development, asynchronous programming.

Weaknesses : Single-threaded nature, potential for browser compatibility issues.

Java : An object-oriented, statically typed, and compiled programming language renowned for its portability and platform independence. Java is particularly useful for apps in industries such as finance, healthcare, and entertainment and for Android, web, and  enterprise application development .

Strengths : Platform independence, strong community support.

Weaknesses : Verbosity, slower execution compared to lower-level languages.

C++ : A high-performance, object-oriented language that is used in system programming and scientific computing as well as used to develop operating systems, browsers, and games.

Strengths : High performance, extensive library support.

Weaknesses : Steeper learning curve, manual memory management.

C# : An object-oriented programming language that is used to develop Windows apps and games.

Strengths : Versatile and integrates efficiently with Visual Studio, .NET framework, and Microsoft Azure.

Weaknesses : Steeper learning curve and community size not as large as other popular languages like Java or Python.

Go : A statically typed, compiled programming language that is designed for building scalable and efficient software.

Strengths : Simplicity, concurrency support, and fast compilation.

Weaknesses : Smaller ecosystem compared to established languages.

Other popular programming languages include C, PHP, TypeScript, HTML, and CSS. C is a general-purpose, procedural programming language that is used to develop operating systems, device drivers, and embedded systems. PHP is a server-side scripting language that is used to create dynamic web pages, while TypeScript is a superset of JavaScript that adds optional static typing and other features to the language. HTML and CSS are markup languages that are used to create web pages.

computer assignment programming language

GitHub’s DevOps Solution

Learn why 90% of the Fortune 100 use GitHub to build, scale, and deliver secure software. Start your journey with GitHub

How to learn programming languages

With the rise of generative AI tools like  GitHub Copilot  and  AI code generation , the language of coding has entered our common vocabulary—no matter your chosen profession or field. While large tech companies may seem like the pinnacle of coding achievement, they represent a small fraction of programming languages' impact. Many recruitment professionals predict that soon having a basic understanding of coding will be just as common and just as important as literacy or learning a foreign language. Learning a new programming language opens up numerous opportunities for career advancement.

Here are some steps to help you decide which programming language is best for you to learn:

1. Identify your purpose

Deciding which programming language to learn depends on what you want to do. Some languages, like Python or Java have huge communities of support, are easy to learn and use, and can be used for multiple applications. Others are more niche and designed to perform very specific tasks.

2. Choose a language

Based on your goals, select a language that aligns with your purpose. Python is often recommended for beginners due to its readability and versatility. Check out the resources with  GitHub Learning Pathways  to explore topics relevant to your goals.

3. Online courses and tutorials

Many platforms like Codecademy, Coursera, and Udacity offer interactive courses for various programming languages. Check out the video series,  Python for Beginners , from Microsoft Learn

4. Ebooks and documentations

Explore well-regarded ebooks on programming languages and refer to official documentation and resources of industry leaders like  GitHub  and  Microsoft Learn .

5. Practice and play around

Apply your knowledge by working on real-world projects. Platforms like GitHub provide a welcoming space to collaborate, showcase, and ask practical language questions.

6. Engage with communities of learners

Join online forums and communities to seek help, share experiences, and connect with other learners and experts. Get to know the community and learn what other developers are doing with your chosen language.

Get Started with programming languages

To sum up, programming languages allow us to instruct computers to build platforms for games and play, connect communities physically and virtually, and even create programs that provide life-saving medical interventions.

These languages are not only used by professional developers at big tech companies or Silicon Valley. Self-taught coders across diverse fields such as science, gaming, sports, finance, and healthcare are continually learning new languages. Becoming fluent in a programming language (or several!) is an essential tool in software development. Whether you're a seasoned developer or a curious beginner, learning a new programming language will spark inventive ways to use technology and translates into "happy coding" in any language!

More resources to get started

Write more code by writing less code with GitHub Copilot >

Empowering developers to build secure software faster >

Frequently asked questions

Why are programming languages important in software development.

Programming languages are the foundation of software development. They are used to write instructions that computers can understand and execute. Programming languages are important because they allow developers to create software that can solve complex problems, automate tasks, and improve efficiency. Different programming languages are suited for different types of app development—and these languages are just the useful tools used to envision and build their ideas.

How many programming languages are there?

That may be a trick question! New languages are being developed so quickly—it may not be possible to know an exact total number and it really depends on the source you consult. If you're asking about all languages that have ever existed, some claim the number is over 8,945 historical programming languages. If you just want to know which are in current use, the estimates are around 700 languages. However, only a handful of programming languages are widely used today.

There are certainly a lot of programming languages out there, but most software engineers build a satisfying career by mastering a few of the most popular coding languages.

What is an example of a programming language?

Some of the most popular programming languages include:

Python : A high-level language that is easy to learn and widely used for data analysis and machine learning.

Java : A versatile language that is used for developing mobile apps, web applications, and enterprise software.

JavaScript : A scripting language that is used for creating interactive web pages and web apps.

C++ : A powerful language with applications in system programming, game development, and high-performance apps.

What is the difference between programming and coding?

Coding is the act of writing code, while programming is the process of creating the instructions that code follows.

What is a coding language? Is a coding language the same thing as a programming language?

While the terms coding and programming are often used interchangeably, they don't quite mean the same thing.  Coding  refers to the process of writing code in a language that both humans and machines can understand.  Programming  is the process of creating code instructions that tell a computer how to perform a specific task. A  programming language  is a formal language that specifies a set of instructions for a computer to perform specific tasks. Programming languages are used to write software programs and applications, and to control and manipulate computer systems.

Explore Software Engineering

Delve into the world of software engineering: understand its principles, the role of engineers, and how it shapes the development of reliable, efficient software.

Dive into Software Development

Discover the basics of software development, key concepts, and its impact on industries. A complete guide for beginners to navigate the tech landscape.

Discover Open Source Software

Unveil the world of Open Source Software (OSS): its benefits, community-driven development model, and how it fosters innovation and collaboration.

Browse Course Material

Course info, instructors.

  • Prof. Eric Grimson
  • Prof. John Guttag

Departments

  • Electrical Engineering and Computer Science

As Taught In

  • Programming Languages

Introduction to Computer Science and Programming

Assignments.

facebook

You are leaving MIT OpenCourseWare

GCFGlobal Logo

  • Get started with computers
  • Learn Microsoft Office
  • Apply for a job
  • Improve my work skills
  • Design nice-looking docs
  • Getting Started
  • Smartphones & Tablets
  • Typing Tutorial
  • Online Learning
  • Basic Internet Skills
  • Online Safety
  • Social Media
  • Zoom Basics
  • Google Docs
  • Google Sheets
  • Career Planning
  • Resume Writing
  • Cover Letters
  • Job Search and Networking
  • Business Communication
  • Entrepreneurship 101
  • Careers without College
  • Job Hunt for Today
  • 3D Printing
  • Freelancing 101
  • Personal Finance
  • Sharing Economy
  • Decision-Making
  • Graphic Design
  • Photography
  • Image Editing
  • Learning WordPress
  • Language Learning
  • Critical Thinking
  • For Educators
  • Translations
  • Staff Picks
  • English expand_more expand_less

Computer Programming Basics  - Introduction to Computer Programming

Computer programming basics  -, introduction to computer programming, computer programming basics introduction to computer programming.

GCFLearnFree Logo

Computer Programming Basics: Introduction to Computer Programming

Lesson 1: introduction to computer programming, introduction to programming.

Computer programming is the process of designing and writing computer programs . As a skill set, it includes a wide variety of different tasks and techniques, but our tutorials are not intended to teach you everything. Instead, they are meant to provide  basic, practical skills  to help you understand and write computer code that reflects things you see and use in the real world. 

A computer

What you need to know

Our computer programming tutorials assume that you have no programming experience whatsoever. They do, however, require basic familiarity with the use of computers and web browsers. For example, you should be comfortable downloading and opening files, and using text editing software. If you don't feel confident in those skills, consider spending some time with these tutorials first:

  • Computer Basics
  • Internet Basics

As long as you are comfortable with those basics, you should be prepared to begin learning programming. 

What these tutorials will cover

These tutorials focus on one particular type of programming:  web development . When you visit websites , whether you use a laptop, a smartphone, or anything else, you're actually looking at computer  code , which a web developer likely wrote, and which your web browser is interpreting to show you what you see on the screen. 

These tutorials will show you how to begin writing three common types of code used in web development, which combined make up the average website that you see every day: HTML , CSS , and JavaScript .

Parts of a website

Imagine that every website you visit is a person. Every person is different in how they look, act, and speak, but they're generally made up of  the same basic pieces.

If you imagine a website as a person, you can think of HTML as being the skeleton. 

A skeleton

HTML is at the center of almost everything you see on the Internet. While it doesn't look like much on its own, it forms the building blocks on top of which all the other pieces rest. The HTML for an extremely simple website might look something like this:

And if you loaded that in your browser, you'd see this:

Screenshot of a simple website

Try it yourself!

You can test some HTML yourself. Use this as a starting example:

Try entering that HTML in the input box below, then press the "View HTML" button. Make sure to  type it in exactly  as you see it.

You should see a button with the text you entered appear in the box above. It looks fairly plain, and it doesn't do anything yet, but you will learn about that later! 

Congratulations, you just wrote HTML!

If HTML is the skeleton, you can think of CSS as making up all the muscle, skin, and so on that make a person actually look like a person. 

A person

CSS doesn't do anything on its own. Instead, it takes plain HTML and styles it to look different . It can make what you see in the browser bigger or smaller, reorganize the pieces on the page, add colors, and more. Some CSS for an extremely simple website might look something like this:

If you were to apply the above CSS to the same extremely simple website you saw before, it would look like this:

Screenshot of a simple website with styling

You can test that CSS yourself. Use this as a starting example:

Try entering that snippet of CSS in the input box below, then press the "Update CSS" button. Make sure to  type it in exactly  as you see it.

You should see words in the box to the right become italicized. If you do, then congratulations! You just wrote CSS!

If HTML and CSS have combined to make a person that looks like a person, you can think of JavaScript as being the brain. Without it, a person just sits there, but with it, they are active and alive.

A person being active

JavaScript can change the HTML and CSS of a website in real time after it has loaded. It can hide things, add new things, change what things look like, and more. Any time something on a website changes while you are looking at it, there is a good chance that JavaScript is being used to do it. 

For example, imagine that you wanted the browser to create a pop-up greeting whenever somebody loaded the extremely simple website from before. One way would be to write some code that looks like this:

And when you loaded the website, you would see something like this:

Screenshot of a pop-up greeting on a simple website

You can test that JavaScript yourself. Use this code as an example:

Try entering that snippet of code in the input box below, then press the "Run Code" button. Make sure to type it in exactly as you see it.

You should see a pop-up just like in the example above, only with a different message. Congratulations, y ou just wrote JavaScript!

previous

/en/computer-programming-basics/tools-to-start-programming/content/

Logo for Rebus Press

Want to create or adapt books like this? Learn more about how Pressbooks supports open publishing practices.

Kenneth Leroy Busbee

An assignment statement sets and/or re-sets the value stored in the storage location(s) denoted by a variable name; in other words, it copies a value into the variable. [1]

The assignment operator allows us to change the value of a modifiable data object (for beginning programmers this typically means a variable). It is associated with the concept of moving a value into the storage location (again usually a variable). Within most programming languages the symbol used for assignment is the equal symbol. But bite your tongue, when you see the = symbol you need to start thinking: assignment. The assignment operator has two operands. The one to the left of the operator is usually an identifier name for a variable. The one to the right of the operator is a value.

Simple Assignment

The value 21 is moved to the memory location for the variable named: age. Another way to say it: age is assigned the value 21.

Assignment with an Expression

The item to the right of the assignment operator is an expression. The expression will be evaluated and the answer is 14. The value 14 would be assigned to the variable named: total_cousins.

Assignment with Identifier Names in the Expression

The expression to the right of the assignment operator contains some identifier names. The program would fetch the values stored in those variables; add them together and get a value of 44; then assign the 44 to the total_students variable.

  • cnx.org: Programming Fundamentals – A Modular Structured Approach using C++
  • Wikipedia: Assignment (computer science) ↵

Programming Fundamentals Copyright © 2018 by Kenneth Leroy Busbee is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License , except where otherwise noted.

Share This Book

What is Programming? A Handbook for Beginners

Estefania Cassingena Navone

Welcome to the amazing world of programming. This is one of the most useful and powerful skills that you can learn and use to make your visions come true.

In this handbook, we will dive into why programming is important, its applications, its basic concepts, and the skills you need to become a successful programmer.

You will learn:

  • What programming is and why it is important .
  • What a programming language is and why it is important .
  • How programming is related to binary numbers .
  • Real-world applications of programming .
  • Skills you need to succeed as a programmer .
  • Tips for learning how to code .
  • Basic programming concepts .
  • Types of programming languages .
  • How to contribute to open source projects .
  • And more...

Are you ready? Let's begin! ✨  

🔹 What is Programming?

main-image

Did you know that computer programming is already a fundamental part of your everyday lives? Let's see why. I'm sure that you will be greatly surprised.

Every time you turn on your smartphone, laptop, tablet, smart TV, or any other electronic device, you are running code that was planned, developed, and written by developers. This code creates the final and interactive result that you can see on your screen.

That is exactly what programming is all about. It is the process of writing code to solve a particular problem or to implement a particular task.

Programming is what allows your computer to run the programs you use every day and your smartphone to run the apps that you love. It is an essential part of our world as we know it.

Whenever you check your calendar, attend virtual conferences, browse the web, or edit a document, you are using code that has been written by developers.

"And what is code?" you may ask.

Code is a sequence of instructions that a programmer writes to tell a device (like a computer) what to do.

The device cannot know by itself how to handle a particular situation or how to perform a task. So developers are in charge of analyzing the situation and writing explicit instructions to implement what is needed.

To do this, they follow a particular syntax (a set of rules for writing the code).

A developer (or programmer) is the person who analyzes a problem and implements a solution in code.

Sounds amazing, right? It's very powerful and you can be part this wonderful world too by learning how to code. Let's see how.

You, as a developer.

Let's put you in a developer's shoes for a moment. Imagine that you are developing a mobile app, like the ones that you probably have installed on your smartphone right now.

What is the first thing that you would do?

Think about this for a moment.

The answer is...

Analyzing the problem. What are you trying to build?

As a developer, you would start by designing the layout of the app, how it will work, its different screens and functionality, and all the small details that will make your app an awesome tool for users around the world.

Only after you have everything carefully planned out, you can start to write your code. To do that, you will need to choose a programming language to work with. Let's see what a programming language is and why they are super important.

🔸 What is a Programing Language?

what-is-a-programming-language

A programming language is a language that computers can understand.

We cannot just write English words in our program like this:

"Computer, solve this task!"

and hope that our computer can understand what we mean. We need to follow certain rules to write the instructions.

Every programming language has its own set of rules that determine if a line of code is valid or not. Because of this, the code you write in one programming language will be slightly different from others.

💡 Tip: Some programming languages are more complex than others but most of them share core concepts and functionality. If you learn how to code in one programming language, you will likely be able to learn another one faster.

Before you can start writing awesome programs and apps, you need to learn the basic rules of the programming language you chose for the task.

💡 Tip: a program is a set of instructions written in a programming language for the computer to execute. We usually write the code for our program in one or multiple files.

For example, this is a line of code in Python (a very popular programming language) that shows the message "Hello, World!" :

But if we write the same line of code in JavaScript (a programming language mainly used for web development), we will get an error because it will not be valid.

To do something very similar in JavaScript, we would write this line of code instead:

Visually, they look very different, right? This is because Python and JavaScript have a different syntax and a different set of built-in functions .

💡 Tip : built-in functions are basically tasks that are already defined in the programming language. This lets us use them directly in our code by writing their names and by specifying the values they need.  

In our examples, print() is a built-in function in Python while console.log() is a function that we can use in JavaScript to see the message in the console (an interactive tool) if we run our code in the browser.

Examples of programming languages include Python, JavaScript, TypeScript, Java, C, C#, C++, PHP, Go, Swift, SQL, and R. There are many programming languages and most of them can be used for many different purposes.

💡 Tip: These were the most popular programming languages on the Stack Overflow Developer Survey 2022 :

Screen-Shot-2022-12-02-at-9.06.50-PM

There are many other programming languages (hundreds or even thousands!) but usually, you will learn and work with some of the most popular ones. Some of them have broader applications like Python and JavaScript while others (like R) have more specific (and even scientific) purposes.

This sounds very interesting, right? And we are only starting to talk about programming languages. There is a lot to learn about them and I promise you that if you dive deeper into programming, your time and effort will be totally worth it.

Awesome! Now that you know what programming is and what programming languages are all about, let's see how programming is related to binary numbers.

🔹 Programming and Binary Numbers

When you think about programming, perhaps the first thing that comes to your mind is something like the below image, right? A sequence of 0 s and 1 s on your computer.

binary

Programming is indeed related to binary numbers ( 0 and 1 ) but in an indirect way. Developers do not actually write their code using zeros and ones.

We usually write programs in a high-level programming language, a programming language with a syntax that recognizes specific words (called keywords), symbols, and values of different data types.

Basically, we write code in a way that humans can understand.

For example, these are the keywords that we can use in Python:

Every programming language has its own set of keywords (words written in English). These keywords are part of the syntax and core functionality of the programming language.

But keywords are just common words in English, almost like the ones that we would find in a book.

That leads us to two very important questions:

  • How does the computer understand and interpret what we are trying to say?
  • Where does the binary number system come into play here?

The computer does not understand these words, symbols, or values directly.

When a program runs, the code that we write in a high-level programming language that humans can understand is automatically transformed into binary code that the computer can understand.

11---binary-diagram

This transformation of source code that humans can understand into binary code that the computer can understand is called compilation .

According to Britannica , a compiler is defined as:

Computer software that translates (compiles) source code written in a high-level language (e.g., C++) into a set of machine-language instructions that can be understood by a digital computer’s CPU.

Britannica also mentions that:

The term compiler was coined by American computer scientist Grace Hopper , who designed one of the first compilers in the early 1950s.

Some programming languages can be classified as compiled programming languages while others can be classified as interpreted programming languages based on how to they are transformed into machine-language instructions.

However, they all have to go through a process that converts them into instructions that the computer can understand.

Awesome. Now you know why binary code is so important for computer science. Without it, basically programming would not exist because computers would not be able to understand our instructions.

Now let's dive into the applications of programming and the different areas that you can explore.

🔸 Real-World Applications of Programming

applications

Programming has many different applications in many different industries. This is truly amazing because you can apply your knowledge in virtually any industry that you are interested in.

From engineering to farming, from game development to physics, the possibilities are endless if you learn how to code.  

Let's see some of them. (I promise you. They are amazing! ⭐) .

Front-End Web Development

1---frontend

If you learn how to code, you can use your programming skills to design and develop websites and online platforms. Front-End Web Developers create the parts of the websites that users can see and interact with directly.

For example, right now you are reading an article on freeCodeCamp 's publication. The publication looks like this and it works like this thanks to code that front-end web developers wrote line by line.

💡 Tip: If you learn front-end web development, you can do this too.

Screen-Shot-2022-12-02-at-9.56.43-PM

Front-End Web Developers use HTML and CSS to create the structure of the website (these are markup languages, which are used to present information) and they write JavaScript code to add functionality and interactivity.

If you are interested in learning front-end web development, you can learn HTML and CSS with these free courses on freeCodeCamp's YouTube Channel:

  • Learn HTML5 and CSS3 From Scratch - Full Course
  • Learn HTML & CSS – Full Course for Beginners
  • Frontend Web Development Bootcamp Course (JavaScript, HTML, CSS)
  • Introduction To Responsive Web Design - HTML & CSS Tutorial

You can also learn JavaScript for free with these free online courses:

  • Learn JavaScript - Full Course for Beginners
  • JavaScript Programming - Full Course
  • JavaScript DOM Manipulation – Full Course for Beginners
  • Learn JavaScript by Building 7 Games - Full Course

💡 Tip: You can also earn a Responsive Web Design Certification while you learn with interactive exercises on freeCodeCamp.

Back-End Web Development

2---backend

More complex and dynamic web applications that work with user data also require a server . This is a computer program that receives requests and sends appropriate responses. They also need a database , a collection of values stored in a structured way.

Back-End Web Developers are in charge of developing the code for these servers. They decide how to handle the different requests, how to send appropriate resources, how to store the information, and basically how to make everything that runs behind the scenes work smoothly and efficiently.

A real-world example of back-end web development is what happens when you create an account on freeCodeCamp and complete a challenge. Your information is stored on a database and you can access it later when you sign in with your email and password.

Screen-Shot-2022-12-02-at-10.07.41-PM

This amazing interactive functionality was implemented by back-end web developers.

💡 Tip: Full-stack Web Developers are in charge of both Front-End and Back-End Web Development. They have specialized knowledge on both areas.

All the complex platforms that you use every day, like social media platforms, online shopping platforms, and educational platforms, use servers and back-end web development to power their amazing functionality.

Python is an example of a powerful programming language used for this purpose. This is one of the most popular programming languages out there, and its popularity continues to rise every year. This is partly because it is simple and easy to learn and yet powerful and versatile enough to be used in real-world applications.

💡 Tip: if you are curious about the specific applications of Python, this is an article I wrote on this topic .

JavaScript can also be used for back-end web development thanks to Node.js.

Other programming languages used to develop web servers are PHP, Ruby, C#, and Java.

If you would like to learn Back-End Web Development, these are free courses on freeCodeCamp's YouTube channel:

  • Python Backend Web Development Course (with Django)
  • Node.js and Express.js - Full Course
  • Full Stack Web Development for Beginners (Full Course on HTML, CSS, JavaScript, Node.js, MongoDB)
  • Node.js / Express Course - Build 4 Projects

💡 Tip: freeCodeCamp also has a free Back End Development and APIs certification.

Mobile App Development

3---mobile-apps

Mobile apps have become part of our everyday lives. I'm sure that you could not imagine life without them.

Think about your favorite mobile app. What do you love about it?

Our favorite apps help us with our daily tasks, they entertain us, they solve a problem, and they help us to achieve our goals. They are always there for us.

That is the power of mobile apps and you can be part of this amazing world too if you learn mobile app development.

Developers focused on mobile app development are in charge of planning, designing, and developing the user interface and functionality of these apps. They identify a gap in the existing apps and they try to create a working product to make people's lives better.

💡 Tip: regardless of the field you choose, your goal as a developer should always be making people's lives better. Apps are not just apps, they have the potential to change our lives. You should always remember this when you are planning your projects. Your code can make someone's life better and that is a very important responsibility.

Mobile app developers use programming languages like JavaScript, Java, Swift, Kotlin, and Dart. Frameworks like Flutter and React Native are super helpful to build cross-platform mobile apps (that is, apps that run smoothly on multiple different operating systems like Android and iOS).

According to Flutter 's official documentation:

Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase.

If you would like to learn mobile app development, these are free courses that you can take on freeCodeCamp's YouTube channel:

  • Flutter Course for Beginners – 37-hour Cross Platform App Development Tutorial
  • Flutter Course - Full Tutorial for Beginners (Build iOS and Android Apps)
  • React Native - Intro Course for Beginners
  • Learn React Native Gestures and Animations - Tutorial

Game Development

4---games

Games create long-lasting memories. I'm sure that you still remember your favorite games and why you love (or loved) them so much. Being a game developer means having the opportunity of bringing joy and entertainment to players around the world.

Game developers envision, design, plan, and implement the functionality of a game. They also need to find or create assets such as characters, obstacles, backgrounds, music, sound effects, and more.

💡 Tip: if you learn how to code, you can create your own games. Imagine creating an awesome and engaging game that users around the world will love. That is what I personally love about programming. You only need your computer, your knowledge, and some basic tools to create something amazing.

Popular programming languages used for game development include JavaScript, C++, Python, and C#.

If you are interested in learning game development, you can take these free courses on freeCodeCamp's YouTube channel:

  • JavaScript Game Development Course for Beginners
  • Learn Unity - Beginner's Game Development Tutorial
  • Learn Python by Building Five Games - Full Course
  • Code a 2D Game Using JavaScript, HTML, and CSS (w/ Free Game Assets) – Tutorial
  • 2D Game Development with GDevelop - Crash Course
  • Pokémon Coding Tutorial - CS50's Intro to Game Development

Biology, Physics, and Chemistry

5---biology-and-science

Programming can be applied in every scientific field that you can imagine, including biology, physics, chemistry, and even astronomy. Yes! Scientists use programming all the time to collect and analyze data. They can even run simulations to test hypotheses.

In biology, computer programs can simulate population genetics and population dynamics. There is even an entire field called bioinformatics .

According to this article "Bioinformatics" by Ardeshir Bayat, member of the Centre for Integrated Genomic Medical Research at the University of Manchester:

Bioinformatics is defined as the application of tools of computation and analysis to the capture and interpretation of biological data.

Dr. Bayat mentions that bioinformatics can be used for genome sequencing. He also mentions that its discoveries may lead to drug discoveries and individualized therapies.

Frequently used programming languages for bioinformatics include Python, R, PHP, PERL, and Java.

💡 Tip: R is a programming "language and environment for statistical computing and graphics" ( source ).

An example of a great tool that scientists can use for biology is Biopython . This is a Python framework with "freely available tools for biological computation."

If you would like to learn more about how you can apply your programming skills in science, these are free courses that you can take on freeCodeCamp's YouTube channel:

  • Python for Bioinformatics - Drug Discovery Using Machine Learning and Data Analysis
  • R Programming Tutorial - Learn the Basics of Statistical Computing
  • Learn Python - Full Course for Beginners [Tutorial]

Physics requires running many simulations and programming is perfect for doing exactly that. With programming, scientists can program and run simulations based on specific scenarios that would be hard to replicate in real life. This is much more efficient.

Programming languages that are commonly used for physics simulations include C, Java, Python, MATLAB, and JavaScript.  

Chemistry also relies on simulations and data analysis, so it's a field where programming can be a very helpful tool.

In this scientific article by Dr. Ivar Ugi and his colleagues from Organisch-chemisches Institut der Technischen Universität München, they mention that:

The design of entirely new syntheses, and the classification and documentation of structures, substructures, and reactons are examples of new applications of computers to chemistry.

Scientific experiments also generate detailed data and results that can be analyzed with computer programs developed by scientists.  

Think about it: writing a program to generate a box plot or a scatter plot or any other type of plot to visualize trends in thousands of measurements can save researchers a lot of time and effort. This lets them focus on the most important part of their work: analyzing the results.

Screen-Shot-2022-12-04-at-10.40.43-AM

💡 Tips: if you are interested in diving deeper into this, this is a list of chemistry simulations by the American Chemical Society. These simulations were programmed by developers and they are helping thousands of students and teachers around the world.

Think about it...You could build the next great simulation. If you are interested in a scientific field, I totally recommend learning how to code. Your work will be much more productive and your results will be easier to analyze.

If you are interested in learning programming for scientific applications, these are free courses on freeCodeCamp's YouTube channel:

  • Python for Data Science - Course for Beginners (Learn Python, Pandas, NumPy, Matplotlib)

Data Science and Engineering

6---engineering-2

Talking about data...programming is also essential for a field called Data Science . If you are interested in answering questions through data and statistics, this field might be exactly what you are looking for and having programming skills will help you to achieve your goals.

Data scientists collect and analyze data in order to answer questions in many different fields. According to UC Berkeley in the article " What is Data Science? ":

Effective data scientists are able to identify relevant questions, collect data from a multitude of different data sources, organize the information, translate results into solutions, and communicate their findings in a way that positively affects business decisions.

There are many powerful programming languages for analyzing and visualizing data, but perhaps one of the most frequently used ones for this purpose is Python.

This is an example of the type of data visualizations that you can create with Python. They are very helpful to analyze data visually and you can customize them to your fit needs.

image-6

If you are interested in learning programming for data science, these are free courses on freeCodeCamp's YouTube channel:

  • Learn Data Science Tutorial - Full Course for Beginners
  • Intro to Data Science - Crash Course for Beginners
  • Build 12 Data Science Apps with Python and Streamlit - Full Course
  • Data Analysis with Python - Full Course for Beginners (Numpy, Pandas, Matplotlib, Seaborn)

💡 Tip: you can also earn these free certifications on freeCodeCamp:

  • Data Visualization
  • Data Analysis with Python

Engineering

Engineering is another field where programming can help you to succeed. Being able to write your own computer programs can make your work much more efficient.

There are many tools created specifically for engineers. For example, the R programming language is specialized in statistical applications and Python is very popular in this field too.

Another great tool for programming in engineering is MATLAB . According to its official website:

MATLAB is a programming and numeric computing platform used by millions of engineers and scientists to analyze data, develop algorithms, and create models.

Really, the possibilities are endless.

You can learn MATLAB with this crash course on the freeCodeCamp YouTube channel .

If you are interested in learning engineering tools related to programming, this is a free course on freeCodeCamp's YouTube channel that covers AutoCAD, a 2D and 3D computer-aided design software used by engineers:

  • AutoCAD for Beginners - Full University Course

Medicine and Pharmacology

7---medicine-an-pharmachology

Medicine and pharmacology are constantly evolving by finding new treatments and procedures. Let's see how you can apply your programming skills in these fields.

Programming is really everywhere. If you are interested in the field of medicine, learning how to code can be very helpful for you too. Even if you would like to focus on computer science and software development, you can apply your knowledge in both fields.

Specialized developers are in charge of developing and writing the code that powers and controls the devices and machines that are used by modern medicine.

Think about it...all these machines and devices are controlled by software and someone has to write that software. Medical records are also stored and tracked by specialized systems created by developers. That could be you if you decide to follow this path. Sounds exciting, right?

According to the scientific article Application of Computer Techniques in Medicine :

Major uses of computers in medicine include hospital information system, data analysis in medicine, medical imaging laboratory computing, computer assisted medical decision making, care of critically ill patients, computer assisted therapy and so on.

Pharmacology

Programming and computer science can also be applied to develop new drugs in the field of pharmacology.

A remarkable example of what you can achieve in this field by learning how to code is presented in this article by MIT News. It describes how an MIT senior, Kristy Carpenter, was using computer science in 2019 to develop "new, more affordable drugs." Kristy mentions that:

Artificial intelligence, which can help compute the combinations of compounds that would be better for a particular drug, can reduce trial-and-error time and ideally quicken the process of designing new medicines.

Another example of a real-world application of programming in pharmacology is related to Python (yes, Python has many applications!). Among its success stories , we find that Python was selected by AstraZeneca to develop techniques and programs that can help scientists to discover new drugs faster and more efficiently.

The documentation explains that:

To save time and money on laboratory work, experimental chemists use computational models to narrow the field of good drug candidates, while also verifying that the candidates to be tested are not simple variations of each other's basic chemical structure.

If you are interested in learning programming for medicine or health-related fields, this is a free course on freeCodeCamp's YouTube channel on programming for healthcare imaging:

  • PyTorch and Monai for AI Healthcare Imaging - Python Machine Learning Course

8---education

Have you ever thought that programming could be helpful for education? Well, let me tell you that it is and it is very important. Why? Because the digital learning tools that students and teachers use nowadays are programmed by developers.

Every time a student opens an educational app, browses an educational platform like freeCodeCamp, writes on a digital whiteboard, or attends a class through an online meeting platform, programming is making that possible.

As a programmer or as a teacher who knows how to code, you can create the next great app that will enhance the learning experience of students around the world.

Perhaps it will be a note-taking app, an online learning platform, a presentation app, an educational game, or any other app that could be helpful for students.

The important thing is to create it with students in mind if your goal is to make something amazing that will create long-lasting memories.

If you envision it, then you can create it with code.  

Teachers can also teach their students how to code to develop their problem-solving skills and to teach them important skills for their future.

💡 Tip: if you are teaching students how to code, Scratch is a great programming language to teach the basics of programming. It is particularly focused on teaching children how to code in an interactive way.

According to the official Scratch website:

Scratch is the world’s largest coding community for children and a coding language with a simple visual interface that allows young people to create digital stories, games, and animations.

If you are interested in learning how to code for educational purposes, these are courses that you may find helpful on freeCodeCamp's YouTube channel:

  • Scratch Tutorial for Beginners - Make a Flappy Bird Game
  • Computational Thinking & Scratch - Intro to Computer Science - Harvard's CS50 (2018)
  • Android Development for Beginners - Full Course

Machine Learning, Artificial Intelligence, and Robotics

9---robotics

Some of the most amazing fields that are directly related to programming are Machine Learning, Artificial Intelligence, and Robotics. Let's see why.

Artificial Intelligence is defined by Britannica as:

The project of developing systems endowed with the intellectual processes characteristic of humans, such as the ability to reason, discover meaning, generalize, or learn from past experience.

Machine learning is a branch or a subset of the field of Artificial Intelligence in which systems can learn on their own based on data. The goal of this learning process is to predict the expected output. These models continuously learn how to "think" and how to analyze situations based on their previous training.

The most commonly used programming languages in these fields are Python, C, C#, C++, and MATLAB.

Artificial intelligence and Machine Learning have amazing applications in various industries, such as:

  • Image and object detection.
  • Making predictions based on patterns.
  • Text recognition.
  • Recommendation engines (like when an online shopping platform shows you products that you may like or when YouTube shows you videos that you may like).
  • Spam detection for emails.
  • Fraud detection.
  • Social media features like personalized feeds.
  • Many more... there are literally millions of applications in virtually every industry.

If you are interested in learning how to code for Artificial Intelligence and Machine Learning, these are free courses on freeCodeCamp's YouTube channel:

  • Machine Learning for Everybody – Full Course
  • Machine Learning Course for Beginners
  • PyTorch for Deep Learning & Machine Learning – Full Course
  • TensorFlow 2.0 Complete Course - Python Neural Networks for Beginners Tutorial
  • Self-Driving Car with JavaScript Course – Neural Networks and Machine Learning
  • Python TensorFlow for Machine Learning – Neural Network Text Classification Tutorial
  • Practical Deep Learning for Coders - Full Course from fast.ai and Jeremy Howard
  • Deep Learning Crash Course for Beginners
  • Advanced Computer Vision with Python - Full Course

💡 Tip: you can also earn a Machine Learning with Python Certification on freeCodeCamp.

Programming is also very important for robotics. Yes, robots are programmed too!

Robotics is defined by Britannica as the:

Design, construction, and use of machines (robots) to perform tasks done traditionally by human beings.

Robots are just like computers. They do not know what to do until you tell them what to do by writing instructions in your programs. If you learn how to code, you can program robots and industrial machinery found in manufacturing facilities.

If you are interested in learning how to code for robotics, electronics, and related fields, this is a free course on Arduino on freeCodeCamp's YouTube channel:

  • Arduino Course for Beginners - Open-Source Electronics Platform

Other Applications

There are many other fascinating applications of programming in almost every field. These are some highlights:

  • Agriculture: in this article by MIT News, a farmer developed an autonomous tractor app after learning how to code.
  • Self-driving cars: autonomous cars rely on software to analyze their surroundings and to make quick and accurate decisions on the road. If you are interested in this area, this is a course on this topic on freeCodeCamp's YouTube channel.
  • Finance: programming can also be helpful to develop programs and models that predict financial indicators and trends. For example, this is a course on algorithmic trading on freeCodeCamp's YouTube channel.

The possibilities are endless. I hope that this section will give you a notion of why learning how to code is so important for your present and for your future. It will be a valuable skill to have in any field you choose.

Awesome. Now let's dive into the soft skills that you need to become a successful programmer.

🔹 Skills of a Successful Programmer

skills

After going through the diverse range of applications of programming, you must be curious to know what skills are needed to succeed in this field.

A programmer should be curious. Whether you are just starting to learn how to code or you already have 20 years of experience, coding projects will always present you with new challenges and learning opportunities. If you take these opportunities, you will continously improve your skills and succeed.

Enthusiasm is a key trait of a successful programmer but this applies in general to any field if you want to succeed. Enthusiasm will keep you happy and curious about what you are creating and learning.

💡 Tip: If you ever feel like you are not as enthusiastic as you used to be, it's time to find or learn something new that can light the spark in you again and fill you with hope and dreams.

A programmer must be patient because transforming an initial idea into a working product can take time, effort, and many different steps. Patience will keep you focused on your final goal.  

Programming can be challenging. That is true. But what defines you is not how many challenges you face, it's how you face them. If you thrive despite these challenges, you will become a better programmer and you could create something that could change the world.

Programmers must be creative because even though every programming language has a particular set of rules for writing the code, coding is like using LEGOs. You have the building-blocks but you need to decide what to create and how to create it. The process of writing the code requires creativity while following the established best practices.

Problem-solving and Analysis

Programming is basically analyzing and solving problems with code. Depending on your field of choice, those problems will be simpler or more complex but they will all require some level of problem-solving skills and a thorough analysis of the situation.

Questions like:

  • What should I build?
  • How can I build it?
  • What is the best way to build this?

Are part of the everyday routine of a programmer.

Ability to Focus for Long Periods of Time

When you are working on a coding project, you will need to focus on a task for long periods of time. From creating the design, to planning and writing the code, to testing the result, and to fixing bugs (issues with the code), you will dedicate many hours to a particular task. This is why it's essential to be able to focus and to keep your final goal in mind.

Taking Detailed Notes

This skill is very important for programmers, particularly when you are learning how to code. Taking detailed notes can be help you to understand and remember the concepts and tools you learn. This also applies for experienced programmers, since being a programmer involves life-long learning.

Communication

Initially, you might think that programming is a solitary activity and imagine that a programmer spends hundreds of hours alone sitting on a desk.

But the reality is that when you find your first job, you will see that communication is super important to coordinate tasks with other team members and to exchange ideas and feedback.

Open to Feedback

In programming, there is usually more than one way to implement the same functionality. Different alternatives may work similarly, but some may be easier to read or more efficient in terms of time or resource consumption.

When you are learning how to code, you should always take constructive feedback as a tool for learning. Similarly, when you are working on a team, take your colleagues' feedback positively and always try to improve.

Life-long Learning

Programming equals life-long learning. If you are interested in learning how to code, you must know that you will always need to be learning new things as new technologies emerge and existing technologies are updated. Think about it... that is great because there is always something interesting and new to learn!

Open to Trying New Things

Finally, an essential skill to be a successful programmer is to be open to trying new things. Step out of your comfort zone and be open to new technologies and products. In the technology industry, things evolve very quickly and adapting to change is essential.

🔸 Tips for Learning How to Code

tips

Now that you know more about programming, programming languages, and the skills you need to be a successful programmer, let's see some tips for learning how to code.

💡 Tip: these tips are based on my personal experience and opinions.

  • Choose one programming language to learn first. When you are learning how to code, it's easy to feel overwhelmed with the number of options and entry paths. My advice would be to focus on understanding the essential computer science concepts and one programming language first. Python and JavaScript are great options to start learning the fundamentals.
  • Take detailed notes. Note-taking skills are essential to record and to analyze the topics you are learning. You can add custom comments and annotations to explain what you are learning.
  • Practice constantly. You can only improve your problem-solving skills by practicing and by learning new techniques and tools. Try to practice every day.

💡 Tip: There is a challenge called the #100DaysOfCode challenge that you can join to practice every day.  

  • Always try again. If you can't solve a problem on your first try, take a break and come back again and again until you solve it. That is the only way to learn. Learn from your mistakes and learn new approaches.
  • Learn how to research and how to find answers. Programming languages, libraries, and frameworks usually have official documentations that explain their built-in elements and tools and how you can use them. This is a precious resource that you should definitely refer to.
  • Browse Stack Overflow . This is an amazing platform. It is like an online encyclopedia of answers to common programming questions. You can find answers to existing questions and ask new questions to get help from the community.
  • Set goals. Motivation is one of the most important factors for success. Setting goals is very important to keep you focused, motivated, and enthusiastic. Once you reach your goals, set new ones that you find challenging and exciting.
  • Create projects. When you are learning how to code, applying your skills will help you to expand your knowledge and remember things better. Creating projects is the perfect way to practice and to create a portfolio that you can show to potential employers.

🔹 Basic Programming Concepts

basic-concepts

Great. If reading this article has helped you confirm that you want to learn programming, let's take your first steps.

These are some basic programming concepts that you should know:

  • Variable: a variable is a name that we assign to a value in a computer program. When we define a variable, we assign a value to a name and we allocate a space in memory to store that value. The value of a variable can be updated during the program.
  • Constant: a constant is similar to a variable. It stores a value but it cannot be modified. Once you assign a value to a constant, you cannot change it during the entire program.
  • Conditional: a conditional is a programming structure that lets developers choose what the computer should do based on a condition. If the condition is True, something will happen but if the condition is False, something different can happen.
  • Loop: a loop is a programming structure that let us run a code block (a sequence of instructions) multiple times. They are super helpful to avoid code repetition and to implement more complex functionality.
  • Function: a function helps us to avoid code repetition and to reuse our code. It is like a code block to which we assign a name but it also has some special characteristics. We can write the name of the function to run that sequence of instructions without writing them again.

💡 Tip: Functions can communicate with main programs and main programs can communicate with functions through parameters , arguments , and return statements.

  • Class: a class is used as a blueprint to define the characteristics and functionality of a type of object. Just like we have objects in our real world, we can represent objects in our programs.
  • Bug: a bug is an error in the logic or implementation of a program that results in an unexpected or incorrect output.
  • Debugging: debugging is the process of finding and fixing bugs in a program.
  • IDE: this acronym stands for Integrated Development Environment. It is a software development environment that has the most helpful tools that you will need to write computer programs such as a file editor, an explorer, a terminal, and helpful menu options.

💡 Tip: a commonly used and free IDE is Visual Studio Code , created by Microsoft.

Awesome! Now you know some of the fundamental concepts in programming. Like you learned, each programming language has a different syntax, but they all share most of these programming structures and concepts.  

🔸 Types of Programming Languages

types-of-programming-languages

Programming languages can be classified based on different criteria. If you want to learn how to code, it's important for you to learn these basic classifications:

  • High-level programming languages: they are designed to be understood by humans and they have to be converted into machine code before the computer can understand them. They are the programming languages that we commonly use. For example: JavaScript, Python, Java, C#, C++, and Kotlin.
  • Low-level programming languages: they are more difficult to understand because they are not designed for humans. They are designed to be understood and processed efficiently by machines.

Conversion into Machine Code

  • Compiled programming languages: programs written with this type of programming language are converted directly into machine code by a compiler. Examples include C, C++, Haskell, and Go.
  • Interpreted programming languages: programs written with this type of programming language rely on another program called the interpreter, which is in charge of running the code line by line. Examples include Python, JavaScript, PHP, and Ruby.

💡 Tip: according to this article on freeCodeCamp's publication:

Most programming languages can have both compiled and interpreted implementations – the language itself is not necessarily compiled or interpreted. However, for simplicity’s sake, they’re typically referred to as such.

There are other types of programming languages based on different criteria, such as:

  • Procedural programming languages
  • Functional programming languages
  • Object-oriented programming languages
  • Scripting languages
  • Logic programming languages

And the list of types of programming languages continues. This is very interesting because you can analyze the characteristics of a programming language to help you choose the right one for your project.

🔹 How to Contribute to Open Source Projects

Screen-Shot-2022-12-04-at-4.53.42-PM

Finally, you might think that coding implies sitting at a desk for many hours looking at your code without any human interaction. But let me tell you that this does not have to be true at all. You can be part of a learning community or a developer community.

Initially, when you are learning how to code, you can participate in a learning community like freeCodeCamp. This way, you will share your journey with others who are learning how to code, just like you.

Then, when you have enough skills and confidence in your knowledge, you can practice by contributing to open source projects and join developer communities.

Open source software is defined by Opensource.com as:

Software with source code that anyone can inspect, modify, and enhance.

GitHub is an online platform for hosting projects with version control. There, you can find many open source projects (like freeCodeCamp ) that you can contribute to and practice your skills.

💡 Tip: many open source projects welcome first-time contributions and contributions from all skill levels. These are great opportunities to practice your skills and to contribute to real-world projects.  

Screen-Shot-2022-12-04-at-5.01.58-PM

Contributing to open source projects on GitHub is great to acquire new experience working and communicating with other developers. This is another important skill for finding a job in this field.

Screen-Shot-2022-12-04-at-5.06.54-PM

Working on a team is a great experience. I totally recommend it once you feel comfortable enough with your skills and knowledge.

You did it! You reached the end of this article. Great work. Now you know what programming is all about. Let's see a brief summary.

🔸 In Summary

  • Programming is a very powerful skill. If you learn how to code, you can make your vision come true.
  • Programming has many different applications in many different fields. You can find an application for programming in basically any field you choose.
  • Programming languages can be classified based on different criteria and they share basic concepts such as variables, conditionals, loops, and functions.
  • Always set goals and take detailed notes. To succeed as a programmer, you need to be enthusiastic and consistent.

Thank you very much for reading my article. I hope you liked it and found it helpful. Now you know why you should learn how to code.

🔅 I invite you to follow me on Twitter ( @EstefaniaCassN ) and YouTube ( Coding with Estefania ) to find coding tutorials.

Developer, technical writer, and content creator @freeCodeCamp. I run the freeCodeCamp.org Español YouTube channel.

If you read this far, thank the author to show them you care. Say Thanks

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

  • Trending Now
  • Foundational Courses
  • Data Science
  • Practice Problem
  • Machine Learning
  • System Design
  • DevOps Tutorial

Assignment Operators in Programming

  • Binary Operators in Programming
  • Operator Associativity in Programming
  • C++ Assignment Operator Overloading
  • What are Operators in Programming?
  • Assignment Operators In C++
  • Bitwise AND operator in Programming
  • Increment and Decrement Operators in Programming
  • Types of Operators in Programming
  • Logical AND operator in Programming
  • Modulus Operator in Programming
  • Solidity - Assignment Operators
  • Augmented Assignment Operators in Python
  • Pre Increment and Post Increment Operator in Programming
  • Right Shift Operator (>>) in Programming
  • JavaScript Assignment Operators
  • Move Assignment Operator in C++ 11
  • Assignment Operators in Python
  • Assignment Operators in C
  • Subtraction Assignment( -=) Operator in Javascript

Assignment operators in programming are symbols used to assign values to variables. They offer shorthand notations for performing arithmetic operations and updating variable values in a single step. These operators are fundamental in most programming languages and help streamline code while improving readability.

Table of Content

What are Assignment Operators?

  • Types of Assignment Operators
  • Assignment Operators in C++
  • Assignment Operators in Java
  • Assignment Operators in C#
  • Assignment Operators in Javascript
  • Application of Assignment Operators

Assignment operators are used in programming to  assign values  to variables. We use an assignment operator to store and update data within a program. They enable programmers to store data in variables and manipulate that data. The most common assignment operator is the equals sign ( = ), which assigns the value on the right side of the operator to the variable on the left side.

Types of Assignment Operators:

  • Simple Assignment Operator ( = )
  • Addition Assignment Operator ( += )
  • Subtraction Assignment Operator ( -= )
  • Multiplication Assignment Operator ( *= )
  • Division Assignment Operator ( /= )
  • Modulus Assignment Operator ( %= )

Below is a table summarizing common assignment operators along with their symbols, description, and examples:

Assignment Operators in C:

Here are the implementation of Assignment Operator in C language:

Assignment Operators in C++:

Here are the implementation of Assignment Operator in C++ language:

Assignment Operators in Java:

Here are the implementation of Assignment Operator in java language:

Assignment Operators in Python:

Here are the implementation of Assignment Operator in python language:

Assignment Operators in C#:

Here are the implementation of Assignment Operator in C# language:

Assignment Operators in Javascript:

Here are the implementation of Assignment Operator in javascript language:

Application of Assignment Operators:

  • Variable Initialization : Setting initial values to variables during declaration.
  • Mathematical Operations : Combining arithmetic operations with assignment to update variable values.
  • Loop Control : Updating loop variables to control loop iterations.
  • Conditional Statements : Assigning different values based on conditions in conditional statements.
  • Function Return Values : Storing the return values of functions in variables.
  • Data Manipulation : Assigning values received from user input or retrieved from databases to variables.

Conclusion:

In conclusion, assignment operators in programming are essential tools for assigning values to variables and performing operations in a concise and efficient manner. They allow programmers to manipulate data and control the flow of their programs effectively. Understanding and using assignment operators correctly is fundamental to writing clear, efficient, and maintainable code in various programming languages.

Please Login to comment...

Similar reads.

  • Programming

Improve your Coding Skills with Practice

 alt=

What kind of Experience do you want to share?

This Core Programming Language Just Turned 60: Here's Why It Mattered

You may not use it anymore, but BASIC helped turn a generation onto computer programming.

Quick Links

What is basic, what made basic a great programming language at the time, basic’s legacy and what it inspired, key takeaways.

  • BASIC was a beginner-friendly, free, and simple language that promoted computing literacy.
  • BASIC was widely used in the 1970s and 1980s due to its accessibility and interactivity.
  • Despite its decline in the 1990s, BASIC's legacy lives on in modern languages like Python and Java.

There are many programming languages in use today, but only a few can claim to have revolutionized computing. The BASIC programming language is one of them. It turned 60 years old on the 1st of May 2024.

Find out why BASIC has been one of the most important and influential programming languages.

BASIC is an acronym for Beginner’s All-purpose Symbolic Instruction Code. It launched in an era of low-level languages—mostly used by scientists and mathematicians—as a simpler, high-level programming language .

The language had its origins at Dartmouth College. It resulted from a collaboration between the then-chairman of the Mathematics department, Jordan G. Kemeny, and Professor Thomas E. Kurtz. Their vision was to promote computer and programming literacy among students in all fields.

First, they created a time-sharing system, a sort of precursor to modern operating systems that allowed more than one program to run on a single computer at the same time. They then designed BASIC to leverage this new mode of computing.

At 4 a.m. on May 1, 1964, two BASIC programs were compiled and executed simultaneously on a timeshared General Electric GE-225 mainframe. These two innovations—timesharing and a simple but powerful programming language—helped promote computing throughout Dartmouth and the rest of the world.

With the advent of personal computers, there was a need for a simple, portable, and user-friendly programming language. Once again, BASIC fit the bill. In 1975, Bill Gates and Paul Allen created a modified version of BASIC to run on the MITS Altair 8080. Altair BASIC, as it came to be called, was Microsoft’s first product. A year later, Steve Wozniak created Integer BASIC for the Apple I and II computers.

There are certain features of the BASIC programming language that made it the most widely used language of the 1970s and 1980s, including:

  • Simplicity : BASIC was a simple, accessible language that non-technical people could use to write code. Keywords were in plain English and the code syntax was relatively easy to understand. BASIC was much easier to use than Fortran which it was based upon.
  • Free and Open-Source : While open-source programming languages are more or less the norm today, BASIC came out at a time when it was rare to release software free of charge. The makers decided to distribute it for free to encourage widespread use, which turned out to be a very effective strategy. Because it was free and open-source , home computers released at the time often came with a preloaded BASIC variant.
  • Interactive Nature : The original BASIC language was compiled rather than interpreted and this made it a much faster language than later implementations. Also, due to timesharing, users could type BASIC code into a terminal directly, run it, and get results immediately.
  • Tiny : When personal computing started to kick off, BASIC was the only language small enough to run on the limited memory available on computers of the time. For example, Altair BASIC took only 4KB of memory, leaving enough space for the interpreted program.

BASIC continued to develop and spread at a rapid rate until the 1990s when hobby computing declined. More capable programming languages (such as Pascal and C) were needed to take advantage of the powerful computers now on the market.

While it’s declined in popularity, several BASIC dialects such as Visual Basic, QuickBASIC, and FreeBASIC are still in use today. Some of the dialects are “BASIC” in name only, but a few retain the ease of use and simplicity that made BASIC appealing to an entire generation of users.

You may have never heard of the language, but BASIC was quite influential in shaping the computing landscape we have today. It emphasized readability and simplicity, laying the foundation for modern, beginner-friendly programming languages like Python and Java.

BASIC turns 60: Why simplicity was this programming language's blessing and its curse

steven-vaughan-nichols

BASIC is born at Dartmouth University.

Long before you were picking up Python and JavaScript, in the predawn darkness of May 1, 1964, a modest but pivotal moment in computing history unfolded at Dartmouth College. Mathematicians John G. Kemeny and Thomas E. Kurtz, operating a General Electric GE-225 mainframe, executed the first program in a language of their own devising: Beginner's All-purpose Symbolic Instruction Code (BASIC) . 

It wasn't the first popular language. That honor went to COBOL if you were in business or FORTRAN if you made your living in engineering. But, for many beginners from the mid-60s to the early 80s, BASIC was their introduction to computer programming. 

Also: Dell turns 40: How a teenager transformed $1,000 worth of PC parts into a tech giant

BASIC's allure came from its simplicity. Designed as an interpreted language, it allowed programs to be written and executed line-by-line, an approach that resonated deeply with beginners. 

This accessibility was a beacon for a generation of users for whom computing had been a distant, somewhat arcane discipline. Before BASIC, engaging with a computer meant wrestling with cumbersome punch cards or mastering complex codes. Kemeny and Kurtz envisioned a different paradigm -- one where computers were tools for the masses, not just the domain of engineers.

Also:  The Mac turns 40: How Apple's rebel PC almost failed again and again

As Kemeny said later, " Our vision was that every student on campus should have access to a computer , and any faculty member should be able to use a computer in the classroom whenever appropriate." That meant both giving them a language that any liberal arts major, as well as math majors, could use -- computer science as a major doesn't exist yet -- and a system they could work with in something like real-time rather than feeding cards into a centralized machine for slow, batch jobs. That language was BASIC and that system was the Dartmouth Time-Sharing System (DTSS) .

Others, like yours truly, would enter computer science in the 70s by way of Unix, another time-sharing operating system and a far-harder language to learn, never mind master, C. 

In their day though, BASIC and DTSS democratized access to computing power. It allowed developers to run programs concurrently on a central machine -- a radical concept at the time. 

That first version only had 14 commands. They included: PRINT, IF and THEN, and, the soon-to-be infamous GOTO. Thanks to GOTO, the famous Dutch computer scientist Edsger Dijkstra said, "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC : As potential programmers, they are mentally mutilated beyond hope of regeneration."

With GOTO, it was all too easy for would-be programmers to write what would become known as spaghetti code -- a tangled mess of source code that was almost impossible to understand or debug. Yes, BASIC was easy to write simple programs in, but it was awful for writing anything complex. 

Still, the keyword was "easy." So, early developers kept using BASIC and porting it to one computer after another. 

Then, as the years rolled by, another paradigm for computing power emerged: The PC. In 1975, instead of sharing computers, you could have one of your very own with all the power of a 2MHz Intel 8080 processor. 

Also:  At 35, the web is broken, but its inventor hasn't given up hope of fixing it yet

Two young men, Paul Allen, and Bill Gates, proposed to the maker of the first PC, Ed Roberts' Altair 8800 , that they port BASIC to his computer. He agreed, and shortly thereafter, they founded Micro-Soft. You know it better as Microsoft. 

Yes, that's right. Without BASIC, you're not running Windows today. At about the same time, Steve Wozniak was working on porting BASIC to the first Apple computer, the Apple I . BASIC was essential for Apple's early growth as well. 

BASIC also became a staple in home computers like the Atari 400, Commodore 64, and TRS-80. It was featured prominently in early computer magazines, where readers could find and then type in BASIC code all by themselves. Or, you could pay real money and get a cassette tape with such popular games as Lunar Lander. 

Then, when  IBM came out with its first PC , Gates and Allen were ready to take advantage of this new platform. As IBM President of Entry Systems, Don Estridge, said, " Microsoft BASIC had hundreds of thousands of users around the world. How are you going to argue with that?"

Also:  You know Apple's origin story but do you know Samsung's? It's almost too bonkers to believe

Indeed, those first IBM PCs had what was called Cassette BASIC baked into the hardware. When you first booted up an IBM PC, if you didn't have an operating system, it would boot into BASIC from a 32 Kilobyte Read-Only Memory (ROM).

BASIC would still have its fans. Long before Microsoft developers dreamed of .NET or C#, Microsoft kept producing other popular BASIC variants, such as QBasic, GW-BASIC, and Visual Basic. A few non-Microsoft BASIC versions, such as QuickBASIC , also kept chugging along. 

However, other programming languages were beginning to push BASIC aside. Pascal, Java, and Python became the languages that were taught in schools. 

Still, BASIC isn't dead. Microsoft open-sourced GW-BASIC in 2020 . Other BASIC variants are still with us as well, such as the Windows-specific Small Visual Basic ; and the open-source SmallBASIC and QB Phoenix Edition . In fact, hidden inside Microsoft Office, Visual Basic for Applications (VBA) remains the Office worker's power tool set. 

Also:  How I test an AI chatbot's coding ability - and you can too

That said, I can't see anyone ever writing any stand-alone significant program in BASIC again. And, the very idea of someone writing a popular game in BASIC in 2024 is a joke. 

But, never forget that BASIC helped early users engage with computers in a fundamentally new way. The story of BASIC is not just about a programming language. It's about making technology accessible and comprehensible, transforming passive users into active creators. You may never write a line of BASIC, or you may hate the language, but we all live with its influence to this day.  

It's baaack! Microsoft and IBM open source MS-DOS 4.0

Dell turns 40: how a teenager transformed $1,000 worth of pc parts into a tech giant, 9 biggest announcements at google i/o 2024: gemini, search, project astra, and more.

Help | Advanced Search

Computer Science > Machine Learning

Title: program synthesis using inductive logic programming for the abstraction and reasoning corpus.

Abstract: The Abstraction and Reasoning Corpus (ARC) is a general artificial intelligence benchmark that is currently unsolvable by any Machine Learning method, including Large Language Models (LLMs). It demands strong generalization and reasoning capabilities which are known to be weaknesses of Neural Network based systems. In this work, we propose a Program Synthesis system that uses Inductive Logic Programming (ILP), a branch of Symbolic AI, to solve ARC. We have manually defined a simple Domain Specific Language (DSL) that corresponds to a small set of object-centric abstractions relevant to ARC. This is the Background Knowledge used by ILP to create Logic Programs that provide reasoning capabilities to our system. The full system is capable of generalize to unseen tasks, since ILP can create Logic Program(s) from few examples, in the case of ARC: pairs of Input-Output grids examples for each task. These Logic Programs are able to generate Objects present in the Output grid and the combination of these can form a complete program that transforms an Input grid into an Output grid. We randomly chose some tasks from ARC that dont require more than the small number of the Object primitives we implemented and show that given only these, our system can solve tasks that require each, such different reasoning.

Submission history

Access paper:.

  • HTML (experimental)
  • Other Formats

References & Citations

  • Google Scholar
  • Semantic Scholar

BibTeX formatted citation

BibSonomy logo

Bibliographic and Citation Tools

Code, data and media associated with this article, recommenders and search tools.

  • Institution

arXivLabs: experimental projects with community collaborators

arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.

Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.

Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs .

IMAGES

  1. How Do I Complete My Programming Assignment In Short Time?

    computer assignment programming language

  2. Know All Popular Types of Computer Languages

    computer assignment programming language

  3. What is a programming language assignment

    computer assignment programming language

  4. Computer Programming Languages

    computer assignment programming language

  5. Assignment # 1 c++ computer system and Programming EC-105

    computer assignment programming language

  6. This infographic provides information about top 5 computer programming

    computer assignment programming language

VIDEO

  1. computer assignment #motivationalnasheed #poetry #learning #schoolmemes #future

  2. computer assignment idea ##learnwithaaru#computer assignment #

  3. Computer Assignment File Project For Class 7th

  4. CS201

  5. Std 9 computer Final Exam IMP MCQ

  6. Programming Assignments Guide

COMMENTS

  1. Assignment (computer science)

    Assignment (computer science) In computer programming, an assignment statement sets and/or re-sets the value stored in the storage location (s) denoted by a variable name; in other words, it copies a value into the variable. In most imperative programming languages, the assignment statement (or expression) is a fundamental construct.

  2. What is a Programming Language? Definition and Types

    A computer "speaks" in a "language" using strings of the numerals "1" and "0"—known as binary code. A programming language allows us to translate the computer's binary code into something humans can understand and write. These languages enable us to communicate with computers, build and organize code, specify functionality and behavior ...

  3. Assignments

    Introduction to Computer Science and Programming. Menu. More Info Introductory Programming Courses. Archived DSpace Course. Assignments. pdf. 98 kB Getting Started: Python and IDLE. file. 193 B shapes. file. 3 kB subjects ... Programming Languages; Download Course.

  4. Computer Programming Basics: Introduction to Computer Programming

    If you want to learn the basics of computer programming, this tutorial is for you. You will get a general overview of what programming is, what skills are needed, and what kinds of languages and tools are available. Whether you are interested in a new career, a hobby, or just curious about how computers work, this tutorial will help you get started.

  5. Introduction to C++ Course by Infosec

    Introduction to Computer Programming. This course is part of Introduction to Computer Science and Programming Specialization. Taught in English. 22 languages available. Some content may not be translated. Instructors: Dr Edward Anstead. +1 more. Enroll for Free. Starts May 13.

  6. Introduction to Computer Science and Programming in Python

    6.0001 Introduction to Computer Science and Programming in Python is intended for students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems and to help students, regardless of their major, feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals.

  7. Computer Science: Programming with a Purpose

    This course covers the first half of our book Computer Science: An Interdisciplinary Approach (the second half is covered in our Coursera course Computer Science: Algorithms, Theory, and Machines). Our intent is to teach programming to those who need or want to learn it, in a scientific context. We begin by introducing basic programming ...

  8. Introduction to Programming in Java · Computer Science

    Programming assignments. Creative programming assignments that we have used at Princeton. You can explore these resources via the sidebar at left. Introduction to Programming in Java. Our textbook Introduction to Programming in Java [ Amazon · Pearson · InformIT] is an interdisciplinary approach to the traditional CS1 curriculum with Java. We ...

  9. Code Yourself! An Introduction to Programming

    Welcome to Code Yourself! • 2 minutes • Preview module. About the Course • 2 minutes. Algorithms and Sequence • 2 minutes. Representation of Algorithms • 2 minutes. Precision and Assumptions • 4 minutes. Introduction to Scratch • 2 minutes. Options for Using Scratch • 1 minute. Programming in Scratch • 5 minutes.

  10. Assignment

    Discussion. The assignment operator allows us to change the value of a modifiable data object (for beginning programmers this typically means a variable). It is associated with the concept of moving a value into the storage location (again usually a variable). Within most programming languages the symbol used for assignment is the equal symbol.

  11. What is Programming? A Handbook for Beginners

    💡 Tip: a program is a set of instructions written in a programming language for the computer to execute. We usually write the code for our program in one or multiple files. For example, this is a line of code in Python (a very popular programming language) that shows the message "Hello, World!":

  12. Assignments

    Programming Languages; Software Design and Engineering; Learning Resource Types ... Electrical Engineering and Computer Science; As Taught In ... Learning Resource Types notes Lecture Notes. assignment Programming Assignments. Download Course. Over 2,500 courses & materials Freely sharing knowledge with learners and educators around the world.

  13. PDF Programming Languages Overview & Syntax

    The language is the set of sentences containing only terminal symbols that can be generated by applying the rewriting rules starting from the root symbol (let's call such sentences strings) Consider the following grammar G: N = {S;X; Y} S = S. Σ = {a; b; c} δ consists of the following rules: S -> b.

  14. Introduction to Programming Languages

    A programming language is a set of instructions and syntax used to create software programs. Some of the key features of programming languages include: Syntax: The specific rules and structure used to write code in a programming language. Data Types: The type of values that can be stored in a program, such as numbers, strings, and booleans.

  15. AP Computer Science A

    AP Computer Science A Magpie Lab Student Guide. For this lab, you will explore some of the basics of natural language processing. As you explore, you will work with a variety of methods of the String class and practice using the if statement. You will trace a complicated method to find words in user input. PDF.

  16. What is an Assignment?

    Assignment: An assignment is a statement in computer programming that is used to set a value to a variable name. The operator used to do assignment is denoted with an equal sign (=). This operand works by assigning the value on the right-hand side of the operand to the operand on the left-hand side. It is possible for the same variable to hold ...

  17. 10 Coding Projects for Beginners

    Here are 10 basic coding projects for beginners: 1. Build a chess game. Building a chess game is a great way to hone your ability to think like a developer. It'll also allow you to practice using algorithms, as you'll have to create not only the board and game pieces but also the specific moves that each piece can make. 2.

  18. Computer programming language

    CSS. artificial intelligence programming language. Web script. Java. computer programming language, any of various languages for expressing a set of detailed instructions for a digital computer. Such instructions can be executed directly when they are in the computer manufacturer-specific numerical form known as machine language, after a simple ...

  19. 5 Types of Programming Languages

    Some popular functional programming languages include: Scala. Erlang. Haskell. Elixir. F#. 3. Object-oriented programming languages (OOP) This type of language treats a program as a group of objects composed of data and program elements, known as attributes and methods.

  20. Creative Programming Assignments

    Below are links to a number of creative programming assignments that we've used at Princeton. Some are from COS 126: Introduction to Computer Science; others are from COS 226: Data Structures and Algorithms . The main focus is on scientific, commercial, and recreational applications. The assignments are posed in terms of C or Java, but they ...

  21. Assignments

    Electrical Engineering and Computer Science; ... Undergraduate. Topics Engineering. Computer Science. Algorithms and Data Structures; Programming Languages; Learning Resource Types assignment Problem Sets. notes Lecture Notes. theaters Lecture Videos. assignment_turned_in Programming Assignments with Examples. Download Course. menu. search ...

  22. Assignment Operators in Programming

    Assignment operators are used in programming to assign values to variables. We use an assignment operator to store and update data within a program. They enable programmers to store data in variables and manipulate that data. The most common assignment operator is the equals sign (=), which assigns the value on the right side of the operator to ...

  23. BASIC at 60: How This Simpler Language Impacted Programming

    The BASIC programming language democratized computing — giving almost anyone the tools and skills to write a computer program for school, work, or for their own use. ... Sixty years ago, complex computer programming languages like Fortran, COBOL, and ALGOL were the top developer tools of the day. Using them, however, required huge amounts of ...

  24. This Core Programming Language Just Turned 60: Here's Why It Mattered

    You may not use it anymore, but BASIC helped turn a generation onto computer programming. BASIC was a beginner-friendly, free, and simple language that promoted computing literacy. BASIC was widely used in the 1970s and 1980s due to its accessibility and interactivity. Despite its decline in the ...

  25. Interpreting Latent Student Knowledge Representations in Programming

    Recent advances in artificial intelligence for education leverage generative large language models, including using them to predict open-ended student responses rather than their correctness only. However, the black-box nature of these models limits the interpretability of the learned student knowledge representations. In this paper, we conduct a first exploration into interpreting latent ...

  26. Assignments

    Programming Languages; Software Design and Engineering; Learning Resource Types notes ... Electrical Engineering and Computer Science; As Taught In ... notes Lecture Notes. group_work Projects. assignment_turned_in Programming Assignments with Examples. Download Course. Over 2,500 courses & materials Freely sharing knowledge with learners and ...

  27. BASIC turns 60: Why simplicity was this programming language's ...

    Since the 1960s, BASIC has introduced countless beginners to computer programming. Here's how the language got started, the paths it cleared for Windows and Apple, and where you can still find it ...

  28. Introduction to Software Engineering Course by IBM

    Computer Science; Software Development; ... List different types of programming languages and create basic programming constructs such as loops and conditions using Python. ... Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. ...

  29. [2405.06399] Program Synthesis using Inductive Logic Programming for

    The Abstraction and Reasoning Corpus (ARC) is a general artificial intelligence benchmark that is currently unsolvable by any Machine Learning method, including Large Language Models (LLMs). It demands strong generalization and reasoning capabilities which are known to be weaknesses of Neural Network based systems. In this work, we propose a Program Synthesis system that uses Inductive Logic ...