Numerical control (NC) is a form of programmable automation in which the mechanical movements of machine parts are controlled by a program that contains alphanumeric codes. These coded data control the amount and sequence of the motion of the cutting tool relative to the part being processed. This chapter provides an overview of numerical control and programming. Manual and computer-assisted programming also will be presented. Metal cutting operations are emphasized in this chapter, but it should be noted that the concepts are valid for other applications. NC systems may be classified as open-loop systems and closed-loop systems. The type of control system determines the accuracy of the NC machine. In open-loop systems, normally the machine table does not provide feedback about its position status. In other words, open-loop systems do not provide positioning feedback to the machine control unit (MCU). Open-loop systems normally use stepping motors. Closed-loop systems use various feedback devices, such as transducers and sensors for positioning error detection or correction. Compiler programs are available that enable computers to take simple statements of specifications and convert them into detailed instructions for NC machines. The big drawback of NC is its initial cost. NC machines cost from around 1.5–5 times as much as conventional machines of like size, depending upon the capacity of the control and accessories. Maintenance of the NC equipment requires a high order of skill and trained personnel, although this is being alleviated by diagnostic systems and replaceable circuit boards for controls. Programmers are needed for most NC machines.