 Welcome to this session on processing data, which is stored on external devices. You would be familiar with many of these external devices. For example, a hard desk or an external desk. I have a sample here to show you. This is the kind of large capacity hard desk that looks like. We also have smaller versions, which are called portable desk, which we can connect to your laptops or desktops. These store data using magnetic recording. We also have other forms of data storing. For example, you would be familiar with a compact desk, which looks like this. So, this CD can also store data in many files. You also have a version with higher capacity called DVD, which can store larger amount of data. You will also be familiar with data, which is stored on smaller devices, which are traditionally called pen drives. They have a USB port, which can again be connected to your laptop or desktop. The files, which are stored on this small device, can be read from this device into your programs or written onto these devices. The pen drive uses flash memory technology. So we saw very briefly three different types of technologies that are used to store data externally. Symbolically, these are shown here on the board. So this is a typical symbol of an external hard disk. This is a symbol used to represent a CD and this obviously looks like pen drive. All of these, as I said, contain data in the form of files. Obviously, it is necessary for us to be able to write C plus plus programs, which can read data from these files or write data onto these files. Now before we come to our programs and how to handle files within our programs, it is important for us to understand how a computer generally handles the external files and the data stored on the external files. These files are actually handled by operating system. In particular, a component of the operating system called file system. The operating system has enough software to be able to manage the files on the external storage. The operating system has a convention of how the files should be named, what should be their properties and how they have to be organized on external devices. All of this is handled by the file system. You are all familiar with the basic organization of files on external devices. For example, you know that each file has a name. For example, the C plus plus programs which you write themselves are stored in text files which are typically called, let us say my name such as myprog.cpp. It is possible to have a text file. For example, a file which you prepare using a notepad or any text editor, any simple utility would permit you to write lines of text which are all stored in a file and these files are typically named as, for example, mydata.txt. Please note that the names have a name proper and an extension which often describes the type of data that is stored inside the file. There could be special type of files. We know for example that digital images can be stored in files and these digital images could have their own format in which data is stored. For example, a JPEC file could be stored in, let us say, pick.jpg. Not only the files have names and extensions, but the files themselves are organized within an external storage device in different subdirectories or folders. These data files and directories and folders offer a hierarchical organization of all files. So, you are familiar for example of navigating across various folders and subfolders, going to a desired folder or a desired directory and then locating a file. Of course, if it is a text file, you could open it using a text editor, edit, enter text and store that final text in the file again. This is the processing that you do with specialized applications. What we are interested in knowing how exactly are these files handled inside a C++ program. We will look at these details in the next session.