Hi. In this module, we'll study hashing, and hash tables. Hashing is a powerful technique with a wide range of applications. In this video, we will learn about some examples of those applications, just to have a taste of it. The first example that comes to mind is, of course, programming languages. In most of the programming languages, there are built-in data types or data structures in the standard library that are based on hash tables. For example, dict or dictionary in Python, or HashMap in Java. Another case is keywords of the language itself. When you need to highlight them in the text editor or when the compiler needs to separate keywords from other identifiers in the problem to compile it. It needs to store all the keywords in the set. And that set is usually intuitive using the hashtag. Another example is file system. When you interact with a file system as a user, you see the file name, maybe the path to the file. But to actually store the correspondence between the file name and path, and the physical location of that file on the disk. System uses a map, and that map is usually implemented as a hash table. Another example is password verification. When you use some web service and you log into that and you type your password, actually if it is a good service, it won't send your password in clear text through the network to the server to check if that's the correct password or not, because that message could be intercepted and then someone will know your password. Instead, a hash value of your password is computed. On your client side and then sent to the server and the server compares that hash value with the hash value of the stored password. And if those coincide, you get authenticated. Special cryptographic hash functions are used for that. It means that it is very hard to try and find another string which has the same hash value as your password. So you are secure. Nobody can actually construct a different string which has the same hash value as your password and then log in as you in the system, even if he intercepted the message with the hash value of your password going to the server. Another example, storage optimization for online cloud storages, such as Dropbox, Google Drive or Yandex.Disk. Those use a huge amount of space to store all the user files and that can actually be optimized using hashing. We will discuss this example further in the lectures of this module.