 Welcome to an introduction to programming through C++. In this course you will learn to write programs to solve problems using a computer. The programs will be written in the language C++ which we will teach you. The most important goal of the course is as follows. Suppose you know how to solve a certain problem using pencil and paper. By the end of the course you should become able to write a program to solve that problem and similar other problems. For example, you know how to multiply 2,000 digit numbers together or you know how to compute the ranks of students given their marks in various subjects or you know how to draw the graph of a function. By the end of the course you should be able to do all these problems on the computer by writing a program which was them. Note that a task can be long, boring if done manually. But if the task is repetitive, in the program we will just describe the repetitive portions succinctly, thereby the program will be small and actually fun to write. So a lot of programming is really about observing the patterns in your actions and describing those patterns concisely. In the course we will also talk about some specific problem solving strategies, say to find the root of an equation or to compute functions such as sine cosine square root and so on. In addition we will also describe techniques for searching and sorting through data. Some of our problems will also deal with pictures and animations. We will see some of these at the end of the introduction. During the lectures we will develop lots of small programs, say 20 lines long. Towards the end we will develop medium size programs, say about 100 lines long. These will include a graphical circuit editor, a program for gravitational simulation and a program answer queries about ranks and marks of students. These programs will represent diverse uses of computers and in addition they will make you aware about style issues in programming. Before I end I would like to say something about our programming language C++. We will not learn all of C++, we will only learn a carefully chosen subset of it. Just as when you want to learn a new spoken language you do not need to learn the entire dictionary in order to start conversing in that language. We will discuss how to use the chosen subset with proper programming style so that our programs are easy to understand. To conclude this course will provide you excitement and enrich your abilities. I hope I can enthuse you to work hard because after all programming is not a spectator sport. You need to write lots of interesting programs in order to get good at programming. See you in the course and here is a demo of some picture drawing and animations based on the material of the course.