We start with basic concept of Banach spaces and their properties. We introduce some geometric properties of Banach spaces, and theory of norm attainment of functions as a tool to study those geometric properties. Among them, we will see Lindenstrauss type of resutls and Bollobas type of results for varius types of functions. Some recent results and open problems will be also presented.