question: I've seen clips of players im games like Minecraft and others make fully functioning calculators. How is this done/possible?
comment: This is a very good intro to some very approachable CS concepts. If my explanation is confusing, skip to the end for some YouTube links Most computers are made up of assembled "logic gates". They take a set of inputs and produce a set of outputs, the inputs and outputs are either "on" or "off", aka 1 or 0. There's a handful of "basic" logic gates. It's easiest to give examples: The NOT logic gate takes an input and outputs the opposite value; if you feed it a 1 you get a 0 and if you give it a 0 you get a 1. The AND logic gate takes two inputs and produces one output. If both of the inputs are 1, the output is 1. Anything else produces a 0. The OR logic gate takes two inputs and produces one output. If either input is 1 it produces a 1, if both inputs are 0 it products gives you 0. You can plug these logic gates together to do things. With some basic knowledge of binary numbers you can very easily create a simple adder that adds two numbers together. Fun fact: you can create every single kind of logic gate out of one kind, the NAND gate (Not-AND). In these videogames there are mechanics you can use to imitate these logic gates. All I know about Minecraft is that it uses redstone to do this. I've seen similar things in little big planet though. Look up "logic gates" on YouTube for some intro materials. It's one of those concepts that's easy visualise in video form. Once you have that down, look up how to produce a logic gate in your game of choice. URL_0 URL_1
passages: Some of the more recent Casio calculators have come with software that allows the user to link the computer to the calculator, download games already written for the calculators or code their own games and then have the software sync it to the device, from here the user can open up the games on the calculator and play them; all of the games are coded by the community and so feature copies of popular games that could be recoded to work on the device for example Tetris, Pong and Snake; more complex games can also be coded, however there is a size limit to what specific calculators can hold.
   One possibility arising from the above is writing interpreters, compilers, and translator programmes for additional languages for programming the machines; BBC Basic has already been ported to the TI-83 and -84 series and other on-board languages and programming tools discussed by many include Fortran, awk, Pascal, Rexx, perl, Common Lisp, Python, tcl, and various Unix shells.
   The HP programmables and others have an IrDA interface which allows them to interface with the printers specially designed for the calculators, HP's main lines of laser printers, computers, other calculators, and other devices.
   Many programs written for calculators can be found on the internet. Users can download the programs to a personal computer, and then upload them to the calculator using a specialized link cable, infrared wireless link or through a memory card. Sometimes these programs can also be run through emulators on the PC.
   BULLET::::3. At least two main batteries were used and could only be changed one at a time.
  
  Section::::Persistent memory.:PC-connection.
   Companies often had both device types in their product portfolio. Casio, for example, sold some BASIC-programmable calculators as part of their "fx-" calculator series and pocket computer the dedicated "pb-" series while Sharp on marketed all BASIC-programmable devices as pocket computers.
  
  Section::::Related tools.
  
  Some programmable calculators have one or more methods of connecting to a PC for interchange of data, programmes, and software. These methods include IrDA, other wireless, serial ports -including USB or RS-232 via.125 inch or other size audio plugs, etc.
  
  Some of the latest programmable calculators contain cellular modems as an additional channel of connectivity.
   The actual programming can often be done on a computer then later uploaded to the calculators. The most common tools for this include the PC link cable and software for the given calculator, configurable text editors or hex editors, and specialized programming tools such as the below-mentioned implementation of various languages on the computer side.
  
  Earlier calculators stored programs on magnetic cards and the like; increased memory capacity has made storage on the calculator the most common implementation. Some of the newer machines can also use memory cards.
   Programmable calculator
  
  Programmable calculators are calculators that can automatically carry out a sequence of operations under control of a stored program, much like a computer. The first programmable calculators such as the IBM CPC used punched cards or other media for program storage. Hand-held electronic calculators store programs on magnetic strips, removable read-only memory cartridges, flash memory, or in battery-backed read/write memory.
   The band were instrumental in organising a series of gigs named "Little Band nights", where hastily formed bands would play for 15 minutes each; this led to the recording of a compilation EP. They became known for their use of a screeching Mosrite Ventures model guitar, primitive synthesizers (a Wasp and Roland SH2), an electronic organ played through effects pedals and an extra fast drum machine (Roland CR-78).
   Commonly available programs for calculators include everything from math/science related problem solvers to video games, as well as so-called demos. Much of this code is user-created freeware or even open source, though commercial software, particularly for educational and science/engineering markets, is also available. Programmable calculators have major web sites with information, documentation, message boards, tools for download, and other things useful for this pursuit; the main sites for each manufacturer's calculators are run by third parties with varying degrees of collaboration from the companies themselves: namely HPCalc.org, TICalc.org, and CasioCalc.org, (qqv.) with the SharpCalc.org domain being recently purchased by an organisation which indicated intent to produce a site similar to the other three, plus information on Sharp pocket computers. The companies themselves also have sites such as TIEducation.com with information and tools for the machines.
   The programmable calculators can in many cases, via these connections, be used with peripherals such as data loggers and interfaces for instruments like thermometers, pH meters, weather instruments of all kinds, light meters, audio probes and microphones, dynamometers, pressure gauges, voltmeters, ammeters, ohm meters, atmospheric electricity measurement apparatus, ion counters, Geiger counters and scintillometers, altimeters, scales, accelerometers and many others. Some machines can be used with oscilloscopes and their peripherals as well. Others can be configured—for example, collecting bio-feedback data by connecting devices for pulse, blood pressure, oxygen saturation, galvanic skin resistance, body temperature, and even EKG and EEG probes to a data logger which is then connected to the calculator and, then or later, a PC.
   Programmable calculators allow the user to write and store programs in the calculator in order to solve difficult problems or automate an elaborate procedure.
   Some software calculators directly simulate one of the hardware calculators, by presenting an image that looks like the calculator, and by providing the same functionality.
  
  Section::::History.:Software calculators on the Internet.
  
  There is now a very wide range of software calculators, and searching the Internet produces very large numbers of programs that are called "calculators".
  
  The results include numerical calculators that apply arithmetic operations or mathematical functions to numbers, and that produce numerical results or graphs of numerical functions, plus some non-numerical tools and games that are also called calculators. 
   In the USA Network legal drama "Suits", the main character, Mike Ross, is asked to multiply considerably large numbers in his head to impress two girls, and subsequently does so.
  
  In Haruki Murakami's novel "Hard-Boiled Wonderland and the End of the World", a class of mental calculators known as "Calcutecs" perform cryptography in a sealed-off portion of their brains, the results of which they are unable to access from their normal waking consciousness.
   In another Fox television show, "Fringe", in the third episode of the third season, Olivia and her fellow Fringe Division members encounter an individual with severe cognitive impairment who has been given experimental nootropics and as a result has become a mathematical genius. The individual is able to calculate hundreds of equations simultaneously, which he leverages to avoid being returned to his original state of cognitive impairment.
  
  In the 2012 film "Safe", a female child math genius is kidnapped to be used by the Chinese Triad.
   One important feature of programmable calculators is the availability of some form of persistent memory. Without persistent memory, programs have to be re-entered whenever power is lost, making the device cumbersome. Persistent memory can be internal or on a separate device. Some programmable calculators employ both schemes.
  
  Section::::Persistent memory.:Magnetic card reader / writer.
   Mechanical calculator
  
  A mechanical calculator, or calculating machine, is a mechanical device used to perform the basic operations of arithmetic automatically. Most mechanical calculators were comparable in size to small desktop computers and have been rendered obsolete by the advent of the electronic calculator.
   Programmes and toolkits to allow on-board assembly-like programming (often Intel 80*86 even if the actual processor in the calculator is something completely different like a Zilog or Motorola chip) are in the beta stage in at least two implementations—the native Basic variant can be enhanced by user-defined functions and procedures as well as assembly and C modules developed on a computer and uploaded to the calculator which allow for writing and running "pseudo assembly" programmes just as one would the Basic type ones. Other languages like Rexx, awk, Perl, and Windows NT and some Unix shells can also be implemented in this fashion on many calculators of this type.
   Programming these machines can be done on the machine, on the PC side and uploaded as source code, or compiled on the PC side and uploaded as with Flash and some C/C++ implementations. In addition to computer-side language packages such as tigcc, hpgcc, and others, the PC link software available for TI, HP, Casio, and Sharp calculators contain program editors; there are also SDKs, emulators, and other tools for use on the computer side, and other manufacturer and third-party tools like the TI++ editor. Programs, data, and so forth can also be exchanged among similar machines via the same ports on the calculator used for PC connectivity. On-board programming tools which use non-native language implementations include the On-Board C Compiler for fx series Casio calculators and the TI-83 BBC Basic port.
   Section::::Calculators.
  
  Roberts's first real experience with computers came while at Oklahoma State University where engineering students had free access to an IBM 1620 computer. His office at the Weapons Laboratory had the state of the art Hewlett-Packard 9100A programmable calculator in 1968. Roberts had always wanted to build a digital computer and, in July 1970, Electronic Arrays announced a set of six LSI integrated circuits that would make a four-function calculator. Roberts was determined to design a calculator kit and got fellow Weapons Laboratory officers William Yates and Ed Laughlin to invest in the project with time and money.
   Machine language programming was often discouraged on early calculator models; however, dedicated platform hackers discovered ways to bypass the built-in interpreters on some models and program the calculator directly in assembly language, a technique that was first discovered and utilized on the TI-85 due to a programming flaw in a mode-switching key. By the time the TI-83 came out, TI and HP had realized the need to address the support needs of homebrew programmers, and started to make assembly language libraries and documentation available for prospective developers. Software, particularly games, could now be nearly as fast and as graphical as their Game Boy counterparts, and TI in particular would later formalize assembly programming into support for packaged applications for future calculators such as the TI-83 Plus and TI-89; HP includes some onboard support for assembler programming on the HP-50g, its current top-of-the-line calculator model.
   The calculator used three "AA"-sized NiCd batteries assembled into a removable proprietary battery pack. Replacement battery packs are no longer available, leaving existing HP-35 calculators to rely on AC power, or their users to rebuild the battery packs themselves using available cells. An external battery charger was available and the calculator could also run from the charger, with or without batteries installed.
  
  Internally, the calculator was organized around a serial (one-bit) processor chipset made under contract by Mostek, processing 56-bit floating-point numbers, representing 14-digit BCD numbers.
   In the 2006 film "Stranger than Fiction", the main character, Harold Crick, is able to perform rapid arithmetic at the request of his co-workers.
  
  In the 2009 Japanese animated film "Summer Wars", the main character, mathematical genius Kenji Koiso, is able to mentally break purely mathematical encryption codes generated by the OZ virtual world's security system. He can also mentally calculate the day of the week a person was born, based on their birthday.
   "Maths Training", designed to be played daily, uses a method called "The Hundred Cell Calculation Method" that focuses on repetition of basic arithmetic. This method was developed by Professor Kageyama who works at the Centre for Research and Educational Development at Ritsumeikan University, Kyoto. Utilizing a 10 x 10 grid of blank squares lined with rows of numbers along the top and side of the grid, the player has to match up each top number with each side number and add or subtract or multiply them. They then fill in the appropriate square with the appropriate answer.
   Since any particular component might require the use of a number of different tools – drills, saws, etc. – modern machines often combine multiple tools into a single "cell". In other installations, a number of different machines are used with an external controller and human or robotic operators that move the component from machine to machine. In either case, the series of steps needed to produce any part is highly automated and produces a part that closely matches the original CAD.
  
  Section::::History.
  