 Welcome to the exciting world of computers and to the equally exciting world of writing computer programs. I am Deepak Phatak, a teacher at IIT Bombay. My colleague, Professor Supratik Chakravarti and I, along with our team at IIT Bombay will be working with you over the next 8 weeks, we hope to provide you with an exciting experience, which is both enriching and empowering. In this short preamble, we will look at machines in general and indicate the peculiar nature of a computer. Making a machine to behave as we directed is a natural human desire. We should remember a few things about using machines or gadgets. In order to make a machine do our bidding, it is not essential to know how the machine was designed or how it was manufactured. What we need to know is what are the basic functions of that gadget and how exactly to make that gadget do what we wish it to do. Indeed, this is the approach we take whenever we learn to use any gadget such as a washing machine or television or even a simple transistor radio. Look at this radio. It is an old radio. I have taken this image from the Wikimedia Commons inserted by Lukas Perney. Now, whenever I wish to use the radio, what exactly do I need to know? Do I need to know how the radio catches electromagnetic waves? Do I need to know how the electronic circuits work? Not at all. What I need to know is what button to push so that power is switched on? How to set the medium wave or short wave selection? How to adjust the frequency now till we get the desired radio station? And finally, how to adjust the audio volume at the desired level? These steps are clearly written in a manual which usually comes along with the radio. Same is true for most machines we use. When we press different buttons or adjust other settings, we are essentially instructing the gadget to do something useful in a manner that we desire. Computers are also machines. Like other gadgets, we need to instruct these machines to perform desired tasks. The tasks which a computer performs are typically of computing nature. Indeed, that is the reason why it is called a computer. In case of a computer, the instructions are not given as we give the instructions to a gadget by pressing buttons and setting up knobs. Instead, instructions to a modern computer are given much like we issue detailed instructions or a written procedure to people. A computer requires a set of such instructions, all of which when executed in the specified order accomplish the desired computation. In case of complex tasks to be performed by people, we have similar instruction sets. These sets are often called procedures and are often written. A person will first read the entire procedure, understand it properly and then carry out the individual steps of the procedure in the specified order. In case of computers, such procedures are called programs. A computer is designed to handle programs in very much the same way that a person carries out steps of a written procedure. Computer first reads the entire program, understands it and then executes instructions of the program. In the week that follows, which is the first week of the course, we will begin by constructing a conceptual model of a computer. To accomplish this, we will introduce you to a caricature whom we have named as Mr. Buddhuram Dhamma O. We will look at the basic architecture of a computer. We will see how the data is stored in bits and bytes and exactly how the primitive data types are handled. We will conclude this week by looking at a simple but complete program in C plus plus. At the end, you will be introduced to the code blocks environment. Code blocks is an open source software tool for writing and running C plus plus program. So, this shall be your tool that you will be using in the course to write and run your own C plus plus programs. You will later download and install this open source software on your own computers and use it for practicing program. So, welcome again to the exciting world of computers. Let us together spend the next 8 weeks and empower each other, empower ourselves to become masters of computer programming.