Computer Programming

What is computer programming (or coding)? how are computer programs written? what are compilers? what are interpreters? and what languages are used to write these programs? All these concepts are discussed in simple language with examples and applications.