Join us on Wednesday, January 27th at 2 p.m. for a fun filled session of Advanced STEM Club where we will learn even more about object programming and get to do a fun project together! 

How can you program a robot to show emotion? 

To understand how to program emotional reactions in a robot, we first need to cover some programming concepts. Programs are sequences of instructions that, when followed, lead to something happening, like a robot showing different emotions. Computer instructions are really low-level codes. Programming languages use high-level commands to make programs easier to write – this uses abstraction to hide the detail of the low level codes. We can take a program of high level commands and compile it to a program that is used to actually operate the machine. Or we can use an interpreter that translates the instructions as we get to them.

Low-level Programming Language or Code

A low-level programming language or code is one that is made to be easily understood by the computer. They include machine code and assembly language, both of which instruct computer hardware components to carry out instructions directly. However, low-level programming languages are difficult to learn and time-consuming to code.

High-level Programming Language or Command

A high-level programming language or command is made to help human programmers communicate easily to the computer. These languages can have gentler learning curves and be very powerful. Good examples of high-level programming languages include C, Java, LISP, Smalltalk, PASCAL, LOGO, Visual Basic and Python. These languages are usually compiled, or converted into low-level programming languages so that they can be executed directly. The person who invented the concept of a compiler was Grace Hopper. A compiler converts high-level commands into low-level code for the computer, or in our case robot, to carry out. 

However, some programming languages are designed to be interpreted by another computer application, such as JavaScript, which is interpreted by web browsers which is interpreted by web servers.

An important subject in programming is abstraction. Abstraction is the process of hiding or ignoring detail so as to make something clearer. With our robot, we are using high-level commands to abstract the complexity of the low-level code. 

To participate in the session you will need the following supplies: