Hello, I'm JJ Joachim and welcome to this special episode of Philosophy and What Matters, where we discuss things that matter from a philosophical point of view. Now today, we will start a series of episodes that focus on philosophies in Southeast Asia and why they matter. For this episode, we will look at philosophy in Thailand. Now Thailand is the land of the free and it's the only country in Southeast Asia that has not been colonized by a Western power. It was established as the Kingdom of Siam in 1238 C.E. And it's known for its culture, tourist attractions and of course, it's excellent PCs. But what of its philosophy? What sorts of philosophical ideas are found in Thailand? To discuss philosophy in Thailand, we have my good friend, Sarajan Bladeram, Professor of Philosophy and the Director of the Center for Science and Technology in Society at Shulalongkorn University Bangkok, Thailand. Professor Saraj is also the President of the Philosophy and Religion Society of Thailand. So hello, Professor Saraj, welcome to Philosophy and What Matters. Hi JJ, nice to meet you again. Okay, before getting into our main topic, let's first discuss your philosophical background. How did you get started in philosophy? No. How did you get started in philosophy? Oh, it's a long story, but to make it short, I did not major in philosophy in college at the bachelor's level. I started out studying English language and literature. So you can hear me well, right? I started out majoring in English and then my minor was in philosophy. At first I intended, I thought that I would be teaching English, both language and literature to students. That was my first kind of aspiration, first. And then after I finished college, I went to the US to further my studies for the master's degree in English. And then there was kind of a, you can call a fortunate turn of events. My father contacted me and then he told me that there was an opening for a scholarship for a professor in philosophy. So my university at that time, they offered a scholarship for students to study abroad for the PhD. And the opening at that time was in philosophy, not in English. But my father thought that they were kind of the same or whatever. My father asked me whether I was interested in applying, sitting for an examination for this scholarship. And then at that time my father was supporting me for my study in the US. And I thought, oh, that would be a good chance to support myself. And I didn't have to bother my parents too much. So I said, okay. Because my minor was in philosophy anyway. And then luckily I got the scholarship. So I went back to Indiana University where I had studied earlier. And then I applied for a change of major. It was possible to do that in the US. It's still not possible to do that in Thailand. You have to resign and then reapply in order to change your major. But it was possible. So I transferred all my credits that I had studied in English to the philosophy program. So it was not like I was interested in philosophy so much from the beginning that I intended to be a professional philosophy from the beginning. No, but there was something that I did not intend and something for to reach us, so to speak, that happened. However, it does not mean that I did not have any interest at all in philosophy. As I told you, I minored in philosophy. But in high school I was also interested in philosophy together with literature. I read some of the books which were available in Thai language at that time. Not very many of them, but I got hold of some of them. And then I became interested also in philosophy. So the two subjects kind of intertwined and they still do. Even right now I am still teaching a course in philosophy and literature. Okay. So who influenced you to pursue a career in academic philosophy? Who influenced you? Oh, many. When I was a high school student, I read something about Plato and I think this was through to many people who became professors or became interested in philosophy afterwards. And I was hooked by the theory of forms. And I actually believe, believe it or not, at that time I still remember when I was in high school, a teenager, I actually believed that there was such a heaven. And the heaven was populated by the forms like form of white, form of black and so on. And I actually believe that in a, you know, kind of thought that the world that people live in and in which people perceive and do business was not the real world and the real world was in the heavens, you know, as Plato described. I started to change my mind about this and not very long after I started teaching the university after I finished my PhD. And I thought that, oh, this is just, you know, kind of a fairy tale or something, but... But I cannot deny that Plato was one of the most influential figures in my development. So was Emmanuel Kahn because I wrote my PhD dissertation about Kant's theory of imagination, which is a key concept in the critique of theories and in his ideology. Good. Okay, so now onto our main topic. So could you give us an overview, a brief overview of Thailand, its history, culture, religion and intellectual heritage? Yeah, this topic alone can take like, you know, a whole course, you know, a whole semester. But to make a long story short, the culture was, has been, I'm sorry, influenced quite a lot, very significantly by Indian culture. So the language, many of the words are borrowed from Pali and Sanskrit, which are the main languages in India. Pali is the main language of Buddhism and Sanskrit is the main cultural high society language, Brahmin language from India. So the culture was influenced quite a lot by Indian culture. So the art and especially Buddhism the intellectual tradition, the worldview and you know, many such things have been heavily influenced by India. And that is also influenced from China because Thai people according to the most recent kind of archeological and ethnographic research originated from the south of China. And they migrated downwards because during the, as you said, during the 13th century, the Mongols came to China and they defeated the Chinese dynasty of the Song and then they established their own dynasty, they ruled all of China. And due to that pressure, Thai people migrated southward from the south of China from the provinces of Yunnan. And there is a province, the province, which is beyond Hong Kong right now populated mostly by Thai people, but they migrated downwards. So they came to the area where they live today that we can see on the map. The area had already been populated by other people, especially the Khmer and the Mong. So they mixed together quite a lot and they were a lot of exchanges in many ways. And we borrowed many words from Khmer also because they had a very advanced civilization at that time. So, and then the Thai people managed to drive out the Khmer and the Mongs and they were successful at setting, establishing their own kingdoms and those kingdoms developed into the modern nation state of Siam that you see on the map. And the country's name was changed to Thailand during World War II, I think in 1942 because at that time, there was kind of a movement of ethno nationalism. The land that you see on the map belonged to the Thai people. So we should not call the country Siam because Siam refers to the land, not the people. As far as I was told in history lessons. So in order to emphasize the fact that this land belonged to our people, to us, the government decided to change the name of the country to Thailand. So it reflects kind of the nationalistic mindset that were prevalent at that time. So you have the beginning of World War II and at that time World War II was still being fought all over the world, as we know. And then after, oh, by the way, the country became an ally of the Japanese. I don't know if you had already known about this during World War II because Japan came and they would like to attack Singapore and Malaysia. Malaysia nowadays was called Malaya at that time via Thailand, so they would like to come from the north of Malaysia, Malaya down to Singapore. And they asked the Thai government for a permission for them to pass through the land in the south of the country. The government, the people themselves fought the Japanese for a few hours because they suddenly appeared on the beaches and they tried to invade the people. And then there was an negotiation between the Thai government and the Japanese government. And the Thai government just, they didn't want to fight. Even though the people wanted to fight, the government did not. So they signed a deal and they decided to become an ally of the Japanese and they had a big ceremony signing treaty of friendship and so on. However, in the end, at the end of World War II, after the Japanese surrendered, there was a change in government in Thailand. And the new government did not recognize the declaration of war that the previous government declared. So they declared, the new government said that the previous government did all this under duress, under, you know, they were forced to do so by the Japanese. So the treaty of friendship with Japan and the declaration of war against the allies, the US and the UK became null and void. And the US bought this, I mean, they accepted our, this government's version. The UK did not, but the UK had to listen to the US anyway. So we were not treated as a defeated country after World War II, because of this incident. And the Japanese did not like this quite a bit.  And after World War II, things became quite normal. So we developed and there were a lot of national development plans and then things, especially the economy, but, you know, quite advanced, you know, at least more advanced than at the beginning or at the end of World War II. So basically that is the story. And of Thailand, okay. But what is it like being a philosopher in Thailand? How many universities offer philosophy courses? How many professional philosophers do you have? Yeah, this is a very good question. As of now, philosophy is kind of being threatened and I could say that by many factors, one of which is the movement of neoliberalistic thinking that is sweeping all over the world. I'm sure in the Philippines also. The universities, instead of regarding themselves as, you know, the repository of thinking and knowledge and wisdom, they start to think of themselves as corporations and that's true, especially here. They start to think of themselves as, you know, enterprises, business enterprises. So they have to do their own accounting and, you know, expenses and income and they have to report how much they make or how much they lose in a year to the governing body of the university. We call them the university council. I think you might call them differently, the highest governing body of the university. And this has put pressure on philosophy because according to the administrators, philosophy does not make money. We have the same problem.  And this has resulted in, for July, for July for my university is still okay. I mean, we are still here. The department is still here. The programs are still here. But for other universities, especially the smaller ones in the countryside, they are having a hard time because philosophy departments have been kind of dissolved and lumped together with other departments, for example, literature and history and psychology and whatnot. So they were put together under the same department, the same organizational unit in order to save cost. And many programs have been kind of shut down. So the association, as you mentioned, I am president of the PARST, the main philosophy association in the country. We have listened to our colleagues talk about this a lot. And we are looking for ways to kind of promote philosophy among the public. So that could be a right spot if you think of it because due to the pressures that I have talked about, many teachers in philosophy, including many students in philosophy, you know, on the very encouraging side, they are trying to bring philosophy out of the academia, out of the university. And they try to start movements of discussion, debates, talks about philosophy in philosophy through the social media and through kind of the various venues of meetings, for example, in coffee shops and things like that. And they advertise their activities through like Facebook or Twitter. And many groups are opening up YouTube channels where they talk about the content. I mean, the content is quite good. In fact, philosophy. And this is mostly done by students. Okay, that's interesting. The professors kind of, you know, they are more quiet. Okay, but what sort of philosophy can be found in Thailand? What significant philosophical ideas have Thai philosophers offered? Yeah, most of us would like to compare Buddhism and other aspects in Western philosophy. So this is because Buddhism is professed by 95% of the people, 94 to 95% of the people. The rest are Christians, Muslims, and a very small number of Hindus and Sikhs. So if you talk about the most outstanding characteristic of, you know, if you talk about the most outstanding characteristic of, you know, it's a controversial matter whether there is such a thing as Thai philosophy. I wrote a paper about this, as you see on screen. The title is How is Thai Philosophy Possible? So I bypassed the question of whether there is Thai philosophy and I titled the paper how Thai philosophy is possible and I said, you know, put out the conditions of possibility for there being Thai philosophy and it's characterized. If you talk about the content by Buddhism, but not only Buddhism, otherwise Thai philosophy would be indistinct vegetable from Buddhist philosophy and thus it would lose its identity. So there has to be such a thing as Thai philosophy but it's kind of controversial or fluid as you said. So on the one hand, Thai philosophy could be regarded as whatever philosophy done by Thai people. And, you know, not only myself talking like that, but we can certainly talk about like Polish philosophy because, you know, there's certainly philosophy in Poland, for example, and of course there is Polish philosophy and you have to interpret what it really means by talking about Polish philosophy. We know about German philosophy, of course, it's a very large, very strong tradition in Western philosophy. So it's French philosophy. So perhaps in the same vein, we can talk about Thai philosophy. Only that the number, I'm sorry, only that the number of people working in philosophy in Thailand is very small, especially when compared with those in Germany. And this is something that I am thinking about because if you look at the number of population, Thailand has about 66 million. So I think it's a bit more than the population of France and a bit less than the population of Germany. However, there are numerous, you know, very many philosophical associations in Germany, a lot of them and much more people in philosophy in Germany and France in each country than people working in philosophy in Thailand. So the big question is how that is the case and in order to be able to answer this question, it will help us a lot when we think about how to develop the infrastructure of education and research. Not only in philosophy, but when we talk about the works of the university and research institutes as a whole and the academic life as part of culture. So what do the rest of the Thai people do? I mean, the members of the AISD of the Thai Philosophy Association is only 150 and the other main organization of philosophy in the country. There are so many, I don't know how many, but much more associations in Germany, each of which I think has more than 150 or 200. And a lot more people are working in philosophy, teaching, studying in Germany and France than in Thailand. So what are Thai people doing? The number of farmers are dwindling and it's not like in the past because we can use the technologies and so on. So this is a big problem that could be a research proposal. Yeah, but what are some unique features or salient features of Thai philosophy? Yeah, you can see on the slide that I put connection with Buddhism and as I have said, this is... Well, there is a kind of Buddhism in Thailand which is rather unique and people call it Thai Buddhism and it is very much connected with the peculiar aspects of Thai culture. In that sense, we might be able to call it a unique feature of Thai philosophy. So it's imbued with Buddhism, but it's not the same kind of Buddhism that you have in India or Sri Lanka or Burma. It's unique to Thailand. In one way, that is rather hard to say. It has more to do with how the thinking is done and how many of my colleagues are working. What I have in mind is that the last point on the screen, they tend to be parochial and this can be a negative aspect because philosophy is the same as other academic disciplines. We have to get in touch with one another and otherwise we may think that we are the best but some of my colleagues, not all, not all, I have to emphasize this, some of my colleagues don't know much English and their horizon is kind of limited because when they write any research work, 90%, 80%, at least, of their cited works in Thai language. As I said earlier, the whole scene of Thai philosophy or philosophy in Thailand is not so large to begin with. So the number of literature in philosophy in Thai language is very limited and these people, my colleagues, a portion of them do not cite English literature. So it's something that can be improved later on and this is tied up with the proposal to improve or to expand the infrastructure of research and teaching, academic atmosphere in general. So, yeah. Yeah, so where do you think is philosophy in Thailand heading in the near future? Yeah, very good point. And you can see on the screen here, more openness and I'm not saying this as a wish. I am reporting a changing fact of fact there has been more openness, especially among the students. In what way? The culture itself is opening up instead of confining oneself as my colleagues are doing, as I said earlier, the younger generations of philosophy students and students in general are trying to break through and this can be a literal meaning to break through the lid whatever that encloses the space of Thai culture that has been there for a long, long time. So they are trying to find a breakthrough and you can see this structure for breakthroughs in the various protest movements and I am sure that you have come across news reports of what is happening in Thailand when a lot of protests has been so far. Many years, but this year is special in that the students have joined the protests and we are not talking about only university students. We are talking about high school students or even middle school students. That's interesting. 14-year-olds come to the protests and they join the protestants and they are creating a lot of disruptions in their schools.  This is a no-no has been when I was young. It's unthinkable to argue with your teacher. Whatever the teacher tells you, you have to accept it. But not so for this generation of students so it can be a good sign for including, you know, for philosophy and other subjects as a whole. And the future is also very much connected to globalization of higher education. What I mean is that well for philosophy, it means that more, or I think there should be more. I mean, I'm putting my wish into what I am reporting. There should be more professors and students presenting their findings, their research works in English to international audience. And there are two factors, one of which is the pressure from the administration as I have said. And the other direction is from the internal logic of academic work in the country. What I mean is that in order to excel, in order to become excellent at what you are doing, you cannot just limit yourself to Thai language, writing and reading and sighting. You have to open yourself. And more people realize that and then they try to improve themselves. So they try to become more globalized. So influence of neoliberalism. And we have talked about philosophy being squeezed out. There is a profound demographic change. I don't know about the Philippines, but in Thailand, more, no fewer, fewer children are being born. So as a result, because of the demographic change, the shape of the population is like this, where people at my generation, 40 and 50 years old, represent the largest percentage of population. And then population of Thailand from zero to 10 years old, like 70% of people 50 or 60 years old. So a lot of gap between the younger generations and much fewer of them when compared to people of my age. So as a result, fewer students apply to the primary schools and the secondary schools. And many schools have found a hard time looking for students and they have to close. And this has already affected the university. So in the past, when I was a student, there were more students than seeds, available seeds in the university in the country. But right now there are more seeds than students. Yes, yes, yes. So students can choose. And they're supposed to go to more prestigious schools. So my university, as of now, is still doing quite okay. But the smaller ones in the countryside are struggling. Used to accept 100 students in their program. But right now they have to do with like 15 or 20 students only. But the program is designed to accommodate 100 students each year. So you can see the picture. And so as a result of this, there has been a movement, conscious movement, and I think including kind of spontaneous movement of bringing, taking philosophy out of the academy, as I have said. So in the future, we can see something like how should I put it, less professional philosophy. Because when you talk about the professional philosophy, you talk about philosophers who are already professors, who receive their salary and whose working life consists in teaching and doing research. But it is possible. And the movement is still on right now. And I don't know about quality control or whatever. People in general are really interested in philosophy. I mean the general public. They write to me to my Facebook inbox channel. Asking all sorts of questions in philosophy, basic questions. But they have not been trained in philosophy. They want to know about philosophy and they have been reading a lot of books and they ask me what books should I read and so on. So this is part of the future of philosophy in Thailand. Less professional, more philosophy on social media including Facebook, YouTube and Twitter. More spontaneous groupings. Like, you know, if I want to start a group, I can just open up a page on Facebook and attract members. So things like this are growing in my country. And not only in philosophy but in other history and literature and all kinds of things. And there are more people who are interested in philosophy. But as for the PhD program, I think they are still there. I don't think the administrator at my university are going to close down the PhD program in philosophy here at July. It won't be an embarrassment to the outside world. They won't do that for their time being. So the formal part, the professional part, will still be around for a foreseeable amount of time. But what we are experiencing is this kind of flowering, spontaneous movement of philosophical activities, you know, talking, arguing, discussing outside of the academy. Okay, speaking of your professional life, what's your advice for those who want to get into professional philosophy, especially people there in Thailand? Yeah, and I have thought about this and you can see here quite a lot. This is mostly for students, like graduate students in philosophy, but I think it can be applied to students in other fields also, including members of the public. But the number one is be realistic.  If you want a job as a philosophy professor in Thailand, I have to be realistic and I have to tell you that things do not look good at the moment. Unless you want to be your own YouTuber and open up your YouTube channel in philosophy, podcast channel, then it's up to you when you are responsible for yourself. But if you want to work in a university, it's still possible, it's still possible. I have to emphasize that it's not that everything is closed up, but it's not as easy as perhaps 20 or 30 years ago. You have to be really good. If you are good enough, then you can get a job. No problem about that. So if you have to search yourself and after searching, if you find out that you are born, I mean some people do like myself. If you search yourself and you find out that I know, I know I am born to be a professor. So if you are that confident, then go for it. Because studying for the PhD and looking for a job and what not takes time and effort. A lot of patience. So you have to be realistic about that. But as I said, it's not that everything is open. There are openings, but they are only for those who are really, really determined. So pick one area where you can excel. And this is very important. This is very important. I have told you that my dissertation was on Kant's epistemology, a very small aspect in a very few pages of the critique of pure reason. Just a small number of pages. And then I wrote 270 pages, augmenting on like three or four pages in the critique of pure reason. Very, very kind of narrow. My point is this. As for myself, when I finished my PhD and started working in Thailand, at that time there was no internet. It was in the early years of the 1990s. The internet was just being started. And I could not get the books and articles that I needed in order to continue my research on Kant's epistemology. So I was at a loss. I did not want to abandon my research. But there were a lot of precious duties, assignments from my senior professors. They asked me to teach those and this and that. So I had to change my area of research. Otherwise it was not possible at that time to continue to write papers on Kant's epistemology. And I was lucky in a way in that I came to know colleagues in other areas. A colleague in the faculty of medicine came to me and we kind of got along with each other. And he invited me to join his research circle in bio and medical ethics. And that is my first foray into applied fields of philosophy. So from then on it was kind of no looking back. I still regard myself as a Kant scholar. I still want to do that. But from that moment on, a few years after I started teaching, I almost all everything that I wrote and did research was on applied areas in philosophy, medical ethics, bio ethics, and then information ethics. So yeah, and then my background in Kant's epistemology and in ethical theories in Kant and in ancient Greeks helped a lot in helping my colleagues in other fields. So that is one area that philosophers can do to contribute to kind of more interdisciplinary collaboration with colleagues in other areas. So my advice would be that if you are a graduate student in philosophy, it would not hurt if you come and attend meetings, conferences in other fields such as sociology, or even medicine when they talk about those things that are not technical, like, you know, social and ethical implications of whatever they do.  So that is my suggestion. So go to conferences, make yourself known. That's important. To make yourself known is very important because you can like, you know, when you apply for a job, oh, I have heard of this name before. I have come across one of his papers here and there. It's good. So submit papers to journals, of course, you know, and write book proposals, you have to aim high. It's not an easy task writing a book, but philosophers still, many of them anyway, they still prefer books, novels and journals, articles in journals. For them, you can spend like one week or two weeks. I mean, some philosophers, some more traditional people, they think like that. It's not a big deal, but if you have a book, you have a whole volume, a monograph, a monograph in a single author book, it's a big deal and you can count quite a bit. So is the career worth it? Is the career philosophy worth it? Is the career in academic philosophy worth it? I'm sorry. Is the career in academic philosophy worth it? Dr. It's the career, your professional career. Oh, yeah. Is the career philosophy worth it? Yes, of course, yes, yes, yes. Otherwise, you know, I am coming to retirement. I mean, I'm coming to the period of time in my life when I have to consider my retirement, because everybody at Chulalongkorn has to retire at 60, and I am 58. So I have two more years left working here. And I don't know what I will do. I know that I will have to do something because I still can. But I don't know what because the university, the dean has told me clearly that he has no money to hire me after I am 60 years or in two years time. Because according to the rules of my university, before I'm 60, the university gets money from the government. But after I am 60, the government won't give money to the university to hire me. And if the university wants to hire me further, they have to find their own money. And the dean said to me, he doesn't have money. So it's good in a way. It can be heartbreaking if they don't see my significance. But I don't think of it that way. I think that it provides me with an opportunity, an open space where I can decide for myself what to do after I am 60. So yes, it's worth it. It's very satisfying. You have the freedom as university professor to do whatever you want to do. I mean, if you look at other careers, like working in the business or industry, you don't have the freedom. You don't have the time, the block of time for three or four, two or three months. During the summer where you don't have to teach, you have the block of time needed to write a book, write a proposal or finish the book, or do whatever that you would like to do. So in that case, it's very satisfying. So what I said there is that only if you are fully committed because if you don't like to have free time and thinking about what to write or what to read, that's not good enough. This is not the life for you. No. Okay, so I'll just entertain some questions from our audience. Okay, so one question. In the Philippines, philosophy of the human person is taught in values, education, subjects in elementary and high school. Does the Thai government give opportunities like this for philosophers? Unfortunately, no. There is no philosophy teaching at the high school level. And that is a big problem because it has been recognized in many places by many, many circles that philosophy, education at the high school level. And even at the primary school level can be very good for the students. It is very good when you want to develop critical thinking skills in the students. And most importantly, philosophy, and I love to talk about this, philosophy talks about non-existent things. And I can think of no other academic disciplines where they love to talk about non-existent things. You talk about this to a historian. He says nonsense. History must be about the truth, the fact what has already happened. No, no. We would like to talk about counterfactuals. What could have happened but has not. It is fascinating to give students, especially high school and primary school students, the opportunity to think about what could have happened. What could have happened if such and such speaker in history did not do what they did but what if they had done something else? What would have happened if? The audience does not like to talk about that. They say nonsense, waste of time, but no, it's not a waste of time. It's very useful. Can exercise the imagination and everything. This is one thing that philosophy can help a lot in high school. Critical thinking, of course, you don't accept anything unless you have a different reason. Here's another question. If someone who wanted to read or undertake thigh philosophy, what are the books you can recommend for us to read? This is a difficult question. Thai people in general, I have to admit this, are not that good in English. It's due to several factors. One of which is what you have already mentioned. People as a nation have not had much exposure to foreigners. It's kind of a quirk in history that happened to us. Only those who have the job of dealing with foreigners, like those working at the Ministry of Foreign Affairs, diplomats, or those who work in important exports or who work with tourists, have any exposure to foreigners. Thai people in general, most of them, they don't need to interact with foreigners or to talk in English or to write or read anything in English in order to get ahead in their career. That is why English is not prevalent. The reason I'm saying this is that if you from outside of Thailand want to study Thai philosophy, there are some literature in English, mostly done by sociologists and anthropologists. They study Thai culture and historians, they write quite a bit about Thai history. But that is not the same as philosophy. You can go to the literature in Buddhist philosophy, but that is more general Buddhist philosophy. Not particularly the Thai version of philosophy, of Buddhist philosophy. There are a few scholars, international scholars, for example, Donald Swarer at Swarthmore College in Pennsylvania. He's a scholar of Thai Buddhism and not many in the world who are like him. So if you want to start out, you can go to Swarer's words, Donald Swarer's. You can search using keywords Thai Buddhism. And then I think the bibliography, you can find Donald Swarer's words. So that can be a starting point. But if you want to get serious into studying Thai culture or Thai philosophy, you have to start to study Thai language. Before you get into the philosophy. Okay, here's the last question. So from our friend, Joseph Martin Jose, don't you think that looking for a unique flavor of a philosophy like the fineness or the Filipino-ness of a philosophy is detrimental to the activity of philosophizing itself? Do you see any problems with such focus? Is it not more fruitful for philosophers in philosophy instead? Yeah, yeah, it's a very good question. And this is the question I grappled with in my paper. The paper was more than 20 years old. The paper on how is Thai philosophy possible. I think you can search for it on Google. Just type the title of the paper, how is Thai philosophy possible? And I discussed this very problem, and this pulled into opposite directions between philosophy in Thailand on the one hand and Thai philosophy on the other hand. Philosophy in Thailand means philosophy done in Thailand, in Thai universities, Thai people. And the content doesn't have to be uniquely Thai, right? So you can study Kant or Hegel or Quine or Davidson in Thai universities. And in fact, these people are being studied in Thai universities. So if you would like to know about the level of achievements of Thai university professors who study the works of Donald Davidson, for example. Yes, they are there. And then some of my colleagues at my department in analytic philosophy is doing works on philosophy of language. So she has done works on Davidson, Quine, and Quine. But she is Thai, so that's philosophy in Thailand. Thai philosophy is something unique that you ask about where the content cannot be found anywhere else. In the paper, I argued that the one collapsed into the other. By that, I mean Thai philosophy kind of collapses into philosophy in Thailand. You cannot find, because this is the matter of principle, of logical principle, because philosophy, after all, searches for the truth the same way as mathematics, search for mathematical truth. So philosophy searches for philosophical truth, whatever it is just supposing there is such a thing. So the search for philosophical truth cannot be limited to any particular culture. Otherwise, we have different kinds of truth, which is self-defeating, self-contradictory. So in the end, it collapses. But having said that, it does not mean that the unique characteristics are not very important. It can be important, especially if you want to know the sociological condition. We have spent most of the time we have discussed here in this episode. We have been talking about the sociological condition of philosophy in Thailand. Yes, it's a viable field of study, but it's not the same as the content, the very content, the very search for answers to the universal questions in philosophy, like what is truth or what is reality. Okay, so on that note, thanks again, Professor Sorej for sharing your time with us. For you guys, join me again for another episode of philosophy and what matters, where we discuss things that matter from a philosophical point of view. Cheers.


and five right plus on crest 100, late four left plus in, in late four left plus in and five right 100. Then very long five left opens, five left plus, opens five left plus in 100, then crest and four right plus, four right plus down here, six left car off, six left coming out and late four right plus in narrow, narrow here, hug five left plus coming out, hug five left plus and five right and keep five right plus 50, slippy four left, slippy four left up here, tidy 50, four left plus opens five, then four left plus, three right plus, three right plus will open four 150, gets flat out of here now, flat, trust me, flat mid over crest here and five right plus, flat mid crest and five right plus and five left plus on crest, mid over second crest and five right down, opens five right plus and a flat left coming out, flat left go and hug five right plus in on the crest 100, down, then flat six left 50, then middle over crest 80, it's flat, six left on crest down here, okay, then mid over crest 100, six left on crest at end 120, then caution four left in, you got 120, four left in down the bottom here, 100, four left in here, 50, five right plus 50, right on crest and five left over crest and care, hug four left plus down, hug the four left plus down here, down, care, 100.


Deleting a team member is pretty easy, but in this tutorial I'm going to walk you through the steps. The only two people with the ability to delete a team member is the team leader and the administrator. Right now you're in team settings, which you will find in your account settings. Let's jump right in. Sorry Alice, but you gotta go. Click on Alice's name. After you verify that this is the right person, you're going to click delete. Before a team member is gone for good, this screen will pop up to remind you of the ramifications that follow this change and that once a team member is deleted there is no going back. When we delete Alice, her contacts, to-dos and deals will be reassigned to the team leader and her appointments and calendar events will be permanently deleted. Check the box that says I understand and then click OK. Alice is no longer involved in the system and the items in her database reverted back to the owner.


Let us look at, okay, repeat execution of Python program files, I will, no, creation of files, I will demonstrate that in little while. There is one question about getting index out of range error while executing program for slide 74. You probably have the wrong data file. Do not use SSLC, I think you have to use SSLC 2 dot, sorry, only SSLC, SSLC, yeah, just the SSLC dot txt. Basically you are getting that error if there is some entry which has no fields, in which case you have to see which line it is, what it looks like, put a print statement or something like that. Anyway, so I will answer the one question that was asked again, which was, how do you create a data file? So basically the mechanism for that is simple, I will create a junk dot txt file. To do that, first I create the file object, so I call output file equals open and give it the w flag, say it is to be written, then I can say output file dot write, the only thing is I have to remember to put a new line at every line. I am irritated with the output file, my text is too big, so I will just say o is output file, o dot write. Now I say o dot save, sorry, write, sorry, o dot close, the file is now fully written. Let us look at the file, as you can see it is written the contents, so I have answered that question as well. Now let us get on to an interesting topic of functions, these are probably the most useful thing that you will learn, how to write good functions, so let us start there. So why do we need functions? Why cannot we just continue with code, writing code the way we have currently written, just keep writing the lines of code? Well, it turns out that when you are writing larger projects, you will end up writing a lot of duplicated code, you will be repeating yourself many, many times. There will be lot of things that you will need to do, common things that you will have to do and make sense to write these into little functions that you can reuse. So the idea is you reduce duplication of code, you have fewer lines of code and the scope for fewer bugs, the code is reusable, which means if you have written a function once and it is well written, other people you yourself can use it and other people can use that function. Finally, it helps sometimes when you have a function that does something for you, for example, we opened a file, we wrote lines to a file, we closed it, did we actually care about what is the details of the underlying implementation, is he doing it, is he doing it in C, what exactly is he doing, nothing, I do not care, function has been created, I can call that function, my job is done. You do not have to worry about the details if you are doing this. So it really helps in terms of what is called abstraction. Many of you are computer science people and you already understand the value of good functions. So let us see how to create functions. So let us consider the function f of x, which is essentially going to return the square of the number. Let us write a Python function equivalent for this. The syntax for this is to say def, def is a keyword, the name of the function, open parenthesis, the arguments to be passed to the function, close parenthesis, semicolon, semicolon is important as you have seen before, semicolon indicates a block. So anything indented to the right after this block, after this semicolon, is in the scope of this function. And now you say return, return is again a keyword, which returns the square of the number x star x. Now you can call this function by saying f of 1 or f of 2, so on and so forth. So let us see, let us define this as simple as that. So I will repeat, def is a keyword, def is the name of the function, x is the parameter passed to the function, return is a keyword that specifies what should be returned, a simplest function. So first question, what if the function does not require any arguments? How do you create it? Def, f, want to return something? Fine. Notice that the old f that I defined is gone, no longer available. What if I do not return anything? Let us say I just say print x, simply printing, it is not returning anything. How do you know? Well, in each of these cases, the output was stored. There is no output in this case. So for example, if I say x is f of 1, x is, so x is actually a special type called none. Type of, if I say print x, it will tell you it is none. So none is the special value that is nothing. It is like null in C or C++. None is a special quantity, capital N, west all snow. So in summary, def, function name, arguments, you can pass multiple arguments and we look at that soon. Return value which is optional. If you do not return anything, it will return none rather it is not returning anything. So exactly what I had said before, def, greet, print, hello world, greet takes no arguments and it simply prints. And implicitly, if you do not return anything, it returns none. Is this clear? If I do not explicitly say return x or return something, it will return none. The quantity it will return is none. So if a function has returned none, it means it did not actually return anything. Or you could explicitly return none for example. There is no harm in doing that. So it simply, it implicitly returns none in this case as the slide says. Now, supposing I define a function that if I require two arguments, how do you do it? Def, in this case, average a, b return a, b, sorry a plus b divided by 2. Simple. So any number of such arguments you can supply and the way you call this is average of 12, 10. Now, 12 is assigned to a, 10 is the value of b. Now the first thing that you will notice when you write, when you read some Python code is many functions have what are called doc strings. So supposing we write a function this average a, b, a, b, if the first line after that is a triple coated string, that string is treated as the function documentation. So let us try this. I am being lazy, I am just writing some sample documentation. So this can be pages, it can be a lot of documentation. This is very bad documentation, but returns this documentation nonetheless. This is a nice function. Now the nice thing is I can do a, v, g question mark. So first let us see if this works. Now if I do a, v, g question mark, notice that it shows me the function signature and also shows me the doc string. This is exactly what I typed out. So this is very, very convenient. If you write documentation for your functions immediately other people can look at the documentation to learn how to use your code. You do not have to do anything separately. But if I did not write like my f function, it says no doc string. So it is a good idea for you to always document your doc strings. So there is a question, is it mandatory to define functions at the top of a program file? No, you can define functions anywhere. You can in fact define a function inside a function, so called closures. So there are no restrictions on where you define functions in Python. So now how do you return multiple values? We have seen how to create a function, takes no arguments, takes one argument, takes two arguments, returns something, does not return something. But how do I return two quantities? So let us look at this function. We have a function circle, takes one argument which returns area and perimeter of a circle given the radius r. That is the function documentation. Here is the code, pi is 3.14, actually that is wrong. It is just some sample code. Area is pi r squared, perimeter is 2 pi r and now it returns area, perimeter. So if you can just return, this is actually what is called a tuple. This is implicitly generating a tuple internally, but you can just return any number of things as separated by commas. How do you call it? You can call it a circle 4 in this case, in which case the return values are ignored. In this case they are stored as a and p, area and perimeter of the circle. So returning multiple values is also possible. So given this, given the knowledge that you have now, can you tell me what this function does? Take a minute to read it. Take a minute to read this function and maybe from each center, the center representative can send me the answer that the center has collectively obtained for what this function does. The center representative may know the answer, but your goal is to make sure that the students in your class are able to read this code. So what does this function do? Please give me one answer per center. I will wait for 2 minutes and proceed thereafter immediately. I will give you the answer, but I want to hear an answer from everyone. Please make sure you think through your response before you answer. Someone is answering, the answer is a tuple. That is total nonsense. Essentially, if you answer something like that, this is insulting me.  What does this function do? The answer obviously cannot be tuple. Look at what one, not what two. What one only returns one argument. So do not start giving me something with two arguments. I am asking you what does this slide, what is the code doing? So anybody who answers with something like false comma two is looking at the wrong slides, which means they should be given negative marks. Okay, time is up. Many of you are not reading the code. Many of you, you have to make it a point to read code, understand it line by line. So let us go through this. This is a function called what. We do not know what it does. It takes one argument. We do not know what argument it is. I suspect it is an integer. Let us assume it is an integer. If n is negative, what does it do? It converts the number to a positive number. If it is positive, does nothing. While n is greater than 0, it will check if n divided by 2 is 1. Sorry n reminder, n divided by 2 gives a reminder or not, which means is it odd or even. If it is odd, it will return false. Many of you just think through this. What is the remaining pieces of code? Do not stop thinking there. Look at the full code. So if the function is if the value number is odd, it returns false. But what if the first number is even? So what if it is 10 for example? If it is 1, 0, n percentage 2 is not 1. What will it do? It will divide n by 10. So what is the remaining number? 1. So if it is 1, 1, 0, it is 1. 1 is bigger than 0. So the condition for the while is met. Then is 1 percentage 2 equal to 1? Yes. So it returns false. So if I have a 10 digit number, it will consecutively divide that number by 10. What happens if I divide by 10? Remember it is an integer. If it is an integer, if I divide by 10, you lose one digit from the right side. So this calculates if every digit of the integer number that is given is odd or even. If all the digits are even, it will return true. If any one of them is odd, it will return false. Is this clear? So when you read code, you should read every line. No line is redundant typically. If any digit is odd, it will return false. If any digit is even, it will return true. Wrong. It will return true only if every digit is even. So please be careful. Remember you are teaching many people. You are all teachers. So you should be able to read such code and give the correct answer and make it precise. Programs are precise. Programming is a precise art. It is not random. You have to know what every line does and you have to know it precisely. You have to know it correctly. You cannot give, ah, it may do this, it may do that. No, no, no, no. Then you may pass, you may fail. That is all I can say. So the point with good programming is you should be able to read code and understand what code does. So now that you have messed up this first one, many of you did not get it right. I will give you one more chance. What does this function do? I will give you 3 minutes and do not run the function with some crazy argument and tell me the value. Supposing n is an integer, it accepts an integer argument, what is this function supposed to do? You can assume that n is a positive integer. So obviously this one returns a tuple. It returns a tuple. If the integer has a perfect square, it returns true and its square root. But if it does not have a perfect square, what is it returned? It returns false because i squared will not be n. So let us take the example of 5. Let us say n is 5. Start at i is equal to 1. i star i is 1. 1 is less than 5. So it will increment.  So it will go to 3. 3 star 3 is bigger than n. It will get out of the while loop. It will return i star i, which is 3 star 3, 9 is not equal to 5. So it will return false comma 3. So it returns the number closest to the square root if it is not a perfect square. So you have to read again. Small functions can also cause you. You have to think about them and read them carefully before you understand what they do. So let us move on. This should hopefully have given you some idea of an exercise of how to read code and also shows you the value of writing dark strings. If somebody has written perfect square, is perfect square? You would have known, oh it has something to do with perfect square. And then given a dark string saying, oh this returns first thing this, second thing this. Here is an example of how to use it. Someone had been nice enough to document it like that. You would be very happy. So when you write your functions, it is a good idea to write dark strings. Okay. So the next thing we need to learn is how do we create functions that take default arguments? Now we have seen the use of default arguments many times during this course. Early in the morning we looked at round. Round took one optional argument, the number of digits to round two. Similarly, split took a couple of optional arguments. One was the quantity to split on. The second was the maximum number of splits that are allowed. Similarly range, all of these took default arguments. So how do we write our own functions that take default arguments? Well it is very easy. Consider this function.  Well, let us see. Let us answer that question. So if you did not get the right answer, you did not type it correctly. Okay. So let us move on. How do we create default arguments? So look at this example. Def, welcome. So welcome is the name of the function. Greet, name is equal to world. Notice that the second argument I say name is equal to world. So this is a default argument. Now I say print greet comma name. So let us try this. So how do I use this? I can say welcome. Now if I call it with just high, it will print high world. Okay. On the other hand, if I say high, it will say high Guido. Okay. But what if I did not give anything? This should be an error. And this will be an error. It will say welcome takes at least one argument zero given. Okay. So this is how you use default arguments. It gives us hello world. Okay. Now note that you cannot give default arguments after what are called positional arguments. Default arguments should always be placed at the end. You cannot do this. Why? Because if I do give one argument, it is not clear to python whether you are calling greet or are you setting the value of name. So optional arguments are always specified last. Very, very important for you to know. If not, you will get very funny errors. Let us try it and see what error we get. It is a syntax error. Non-default argument following default argument. Okay. So remember this is the way you do default arguments. Now python in addition to default arguments has something called keyword arguments. These are extremely powerful. So what you do is the same function we had in the previous slide welcome greet name equals world print greet comma name. If I do welcome hello James, it will say hello James. But if I say welcome hi name equals Guido. Notice that I am saying name equals Guido. It will give me hi Guido. Correct? But now if I say welcome name equals Guido, give that first and then say greet equals hey, what will it do? It will print hey Guido. So let us try this. Welcome. Now the reason it works is because I have explicitly said greet is this, name is this. So python has a very clear way of knowing what you are meaning. There is no ambiguity here. But if I did pressify this, let us say I did this. This will be a syntax error again because non keyword arguments you specified after any keyword arguments. So the rule is you always specify your positional or non keyword arguments first and then your keyword arguments. And this also makes it convenient when you have lot of arguments to pass. You have several arguments. You can always change one of them by saying name equals this. You do not have to say x supposing you have def, f, x equals 1, y equals 2, z equals 3. And now if I want to change the value of z, I do not have to say f of 1 2 3. I can say f of z equals that will work because everything is a keyword argument in this particular example because everything has a name. So anything that has a name equals value is called a keyword argument. It also serves as a default argument. So if you do not specify a keyword argument as in this example that I have shown you on this session, they are all defaulted to the default arguments that you have supplied. So essentially defining functions is extremely easy in Python. It supports default arguments. You can return any number of outputs, return no outputs. You can take any number of arguments and you can have default and keyword arguments. In addition there are a variety of built-in functions apart from the ones you create like a, b, s we have seen before. Any, you have not seen, all, len, max, min, power, range, sum, type. Any of these you have seen before except all, except any and all, all of the rest we have seen before. In addition there are several built-in functions that are available that you should look at. Visit this website docs.python.org slash libraries slash functions. It will tell you all of the built-in functions that are available with the Python interpreter. Now when you start writing functions there will be several doubts you will have. It is important we answer several of these right away. The first thing is that arguments that you pass are completely local. Which means if you take this case, def change q, q is equal to 10, print q. What will happen here? So let us type this out and let me explain to you. Further let me define a q is equal to 10 here. Now let us say change q. What will happen? Actually let me make q is equal to 1 here. Change q. Is this clear? This function is simply setting a local variable here q equals 10, print q. Now I am calling change of q. What happens? If you look at this q is the print value in the function is 10. What is the value of q here? So let me go through this again. What happens when I do change of q is q is sent here. The value of q is 10, but it is the value that sent. A number, numbers, strings and tuples in Python are immutable. Anything that is immutable when it is passed to a function is passed as a copy. So if I pass q here, the value 10 is passed. q on the other hand is set to 10. Actually value 1 is passed, but q internally is set to 10. This q is a local variable that shadows this big q here. And if I print this q it will only print the local variable here. Therefore it prints 10 and the value here locally which is 1 is unaffected. So let me give you another function just to illustrate my point. Now in this case I am creating, I am talking about x dot append means x should be a list. This x by the way has nothing to do with the x that is defined in the function. So let me say, let me not call it x. Doesn't matter. Let me call it x. Now if I say f of x, the value that it will print there is 1 because it has gotten a list. It has not made a copy of that list because if I say print x here, that will also have 1. So when I pass, now list is a mutable quantity. So if I pass the list there, I change that list. That list has changed there and also changed here. However, I am now going to modify this function to do the following. And now the local variable here x is unchanged. So the name x that I use here in the function definition, this name x has nothing to do with the name that is here. When I pass this f of x, a new x is created here as in a new name. This x here has nothing to do with x in this function definition here and here is not the same x as x is here. So when I am saying the f of x over there, that is not actually the same as this x, the variable. So if I set x is equal to 10 here, the quantity x that is defined here is completely local to this function. So anything that has been passed here does not matter. It is irrelevant because this is going to be creating a new local variable called x whose value is 10. The variable that is outside the scope of this function is still the same old list and that is also called x and both of them can coexist happily. There is no problem with respect to that. Essentially any arguments you pass to a function are entirely local. However if the value of those arguments, if they are mutable quantities like a list or later you will see dictionaries or a function or whatever you pass, these are all modifiable in the function. As the previous example, if you pass a list to a function and the function adds or modifies one of the elements of the list, the fellow who called that function will also be aware of that change. But if I have a variable inside the function, that variable has nothing really to do with a variable outside the scope of the function. As in this example that I showed you on the shell, this x is equal to 10 is completely local to this function definition and has nothing to do with the x that is outside in the global namespace. So essentially one important thing you will have to understand in Python is everything in Python is an object. Everything in Python you see is an object and every variable you see is simply a name that is bound to that object. As a simple example, I am going to say a function equals f. What is f? f is the function. So I can say function of 12. So which means a function is also an object. I can assign a variable to it just like string is an object, list is an object, integer is an object. Same way functions are also objects. So I can pass one function to another function, no problem. Supposing I have the following. I have a is equal to 1, 2, 3. What I am doing in this assignment statement is I am setting the name a is bound, is connected to this object that is a list containing 1, 2, 3. So now if I say b is equal to a, no copy is made. b is simply a new name for 1, 2, 3. Is that clear? It is like inside this class you will address me as sir or something. Outside somebody, a friend of mine will address me as Prabhu. Just because he addresses me as Prabhu, I do not change. I am still the same person. You addressing me as sir does not change me. I am still the same. Same way this list object here 1, 2, 3 is the same. When I say a equals this, it has bound this name a to that object 1, 2, 3, that list 1, 2, 3. When I say b is equal to a, it has a new name that is all. Someone asks me how do you delete an object? If all the reamed references to an object are gone, that object is automatically garbage collected by the Python virtual machine. How do you remove that name to object binding? You use the keyword del. Now if I type b, it will say b is not defined. But a is still there and I can still say b is equal to a. Now the name b is available. Now if I del a what happens? b will not go away. b is still there because the object that it is pointing to is still there. So essentially when I say a equals 1, 2, 3, the name a in the current interpreter session is associated with that 1, 2, 3 object. When I say b is equal to a, b is connected to the same object that a is connected to. Now if I say del a, that a is gone, that name a is gone but b name is still there and b is still at 1, 2, 3. But now if I del b, there are no longer any references to this 1, 2, 3 list and the garbage collector which sometime we say no one is using this and destroy that object. So you do not have to worry about it. So if I pass a mutable quantity to a function, another name is bound to this function to this object. So when I say def change q or let me retype that function. If I say x is 1, 2, 3, the name obj when I do change of x, x is the name for this list obj will become another name for this list and obj will be appended because they are referring to the same object both x and obj will change. However if I did def change and if I accidentally did obj equals 1, x is still intact because x is simply a name bound to this 1, 2, 3 object and obj is just a temporary variable created inside this function that has been set to 1 outside the scope of this function that obj is meaningless. You cannot get back obj unless you returned it or something like that. So essentially any arguments passed to a function are local. Names are bound to objects. If you pass a mutable quantity into a function the mutable quantity is passed and you can make changes to that mutable quantity in that function. If it is immutable you cannot change. So it is almost like a copy is being made. Any new variables created in that function's scope are local to that function. You cannot access them outside. So here is another example n is equal to 5. So let us try this. This is an interesting example. n is equal to 5 def change. If I do print n here what will happen? Should it be an error? You would think it should be an error but actually it would not be because if this function will look inside its scope to see if there is any n, it does not find anything. It will go one level higher and try to find a name outside the scope. If it finds it in the global name space it will use that. So this is so if for example if I change n to 100, change will see 100 because essentially at the level where you are calling the function there are names bound to objects. That function is inside this. So that function will look locally to see if there are any new names. The n is not there. It will go outside one level and ask is there any n there and return it. However if I wrote the code as follows, now it will only print n and my n value is not changed because any variables created inside the function as described in the slide are local. Just like in the previous example I have said. Now if you want to assign to a global variable you have to use the global keyword. You have to say global n and then you can assign. In this case this will change the global quantity. Now here is another example of what I was talking about names, about mutable quantities. So what happens here is name is Mr. Steve Gosling. If I say def change name, name 0 is doctor. It will actually change Mr. to doctor. Similarly if I say n is 5, change n, n is 10. This n will be 10. But the change outside this n will be 5 because this creates a local variable and over here it is actually changing this because name is not defined anywhere inside the function. It will look on the outside. So let me recap functions. Defining a function is simple. The structure is define function name def function name arguments colon block. You can either return single nothing or multiple arguments. In this case is an example of returning nothing. In this case returning one, taking two arguments, adding a doc string to a function is very useful and the ipython session can give you the documentation immediately. You can return multiple arguments, multiple values from a function by simply returning them as something, comma, something, comma, something. As many as you want you can return. The other thing to note is it does not matter sometimes you can return one, sometimes you can return two. That also can be done. So for example, let me write a little function here. So in this case if I say f of 1, f of 1 it returns odd. If I return f of say 12, it returns two quantities. So just because you return two in one place does not mean you should only return two. There is nothing like that. You can return whatever you want. Two, one, nothing up to you. To get back arguments that are return multiple values, you have to accept them as multiple values. Essentially if you return multiple values it returns a tuple. We look at tuples right after this functions are done. We looked at two code reading examples so that you get some familiarity with reading python code. Default arguments can be easily provided for python functions. We have seen many examples like a thrown, split, range, etc. The way to do it is to define the same functions and give it to special, give it an argument, give the argument a specific name or rather in this example welcome greet and give the argument past a specific value by saying name equals something. These equals can be one or two, can be whatever you want and when you call it only the greet has to be supplied compulsorily. If you do not supply greet name will be assumed to be word. Otherwise you can explicitly supply greet is equal to something, name is equal to something which is called keyword arguments. Please note you cannot supply default arguments first and then optional arguments, non keyword arguments afterwards. This is syntactically incorrect. Keyword arguments is the same idea. The idea being instead of specifying quantities based on their position in the function you explicitly give their names. So in this case I can say welcome greet equals hey, name equals word and now I can put the order in any order I want because python explicitly knows name is this, greet is this. So I do not, there is no ambiguity with respect to this position has to be greet, that position has to be name is not there because I have explicitly given the names and that is the essence of keyword and default arguments. There are variety of built in functions that you can use. Important thing when you create functions is that arguments given to a function are completely local which means in this case this q is local to this function definition. It is not available outside the scope of this function. In this case if I say n is 5 outside and say n is 10 inside, this n will always remain 10 and the n outside the global scope will be 5. But if I did not define this line, one line was blank imagine or commented out, print n will print 5. However if you want to set the value of n 5 outside you must use the global keyword. If a quantity is mutable, if it is accessible to the function it will be changed. You can change it rather. So if I give you a list in a function, the function is fully capable of changing that list and modifying the list. The final point which is not there in these slides is that you have to remember this notion of names being bound to objects. These are called namespaces in Python. A namespace is simply this mapping between names like x is equal to 1. But x is a name that value 1 is what this name x is mapped to that is the object. So basically in Python you create a variety of objects and you associate names to these objects. That is how the variables behave in Python. Once you understand this concept many of the common mistakes that you may make or common misconceptions will kind of disappear because it is very easy to understand from this perspective that a variable is nothing but a name that is bound to an object. So for example if I take a is 1, 2, 3 and I say b equals a, if I do del, if I do a dot append b is also changed. But if I do del of a, b is still the same again. So the del keyword destroys this name binding. a is connected to this 1, 2, 3, 1 object. b is also connected to the same. There is another name for it. When I say del a that name is removed. That is one point that many people often find very nice and interesting is the fact that functions in Python are what are called first class objects. So if I say def, f, x, return x plus 1 or let me say def average. So let us say I have a function. I will finish with this final point. So supposing I want to write some function that will integrate and contriving too much of an example. So supposing I want to create a function that accepts another function and calls that function inside. So let us say I create def g given a function f. It will call that function f. Now if I say g of f, it returns or it prints 101. But now if I take, let us define another function h and now I say g of h. So notice that I can pass a function just like I would pass any variable in this programming language. This makes it very powerful to write code because a function is just like any other variable and I can bind names to these functions. So if you are writing for example an integrator and you want to do trapezoid integration, you write a function just like anything else. You write the function and you want to integrate some other function. You pass that as a function. It will calculate it and calculate the area under that curve. So the nice thing about Python is these functions that we have defined so far, they are what are called first class objects. Which means I can treat them like any other variable. So I can assign variables to them. I can pass them to functions. I can put them in a list. So for example I can say functions equals f, g and h. Then I can say for func in functions actually only f and g does not call this. For f or func in functions func of 100. So these kind of things become very easy to do. So now because functions just like anything else I can use functions. So this allows for very convenient programming things that you can do. So we will stop here for today. Tomorrow we will look at tuples, dictionaries, sets. Probably we will finish that in about 20 slides. We will finish that by one and a half sessions and then we will move on to advanced topics. We will look at maybe giving you some exercises.