A programmable calculator is a calculator that can automatically carry out a sequence of operations under the control of a stored program. Most are Turing complete, and as such, are theoretically general-purpose computers. However, their user interfaces and programming environments are specifically tailored to make performing rather than general-purpose use. 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, and later in non-volatile semiconductor memory. Programming capability appears most commonly (although not exclusively) in graphing calculators, as the larger screen allows multiple lines of source code to be viewed simultaneously.