Challenge 5-2: User Interfaces

What is an Interface?

Interfaces are a very important part of any computer system. An interface, generally speaking, is anything that bridges the gap between the computer world and the human world. If you had a supercomputer crunching numbers and performing calculations, but it had no way to output those answers, then the entire computer would be nearly useless!

In the modern world, interfaces usually take the form of a screen, which can display all the information you need. Inputs to computers are most usually given through a keyboard and mouse, and these are another example of interfaces, as they allow you to input data to the computer. Again, to go back to our example, if you had the most powerful computer in the world but no way to tell it what problems you wanted it to solve, then what would be the point?

Interfaces can also take other forms. A game controller is an interface to the console it's connected to; a printer is an interface that allows a computer to output data on paper; even something as simple as the speaker in your computer is an interface that lets the computer play music or beep at you if something goes wrong.

In this challenge, we'll discuss two main types of interface that you're likely to find on modern computers - the Graphical User Interface (GUI) and the Command Line Interface (CLI). Then, you'll have a chance to make your own GUI using a Python module called TKinter!