 So good afternoon everyone. I am Kalkna Kannan. I'm the project manager and also the program coordinator in the department of computer science in IIT Bombay. So I welcome all of you to the live session and today we will be taking the questions on computer science, programming basics, object oriented programming, data structures and algorithm. So first one hour I think will be devoted for programming basic questions. So if you have any questions you can post it on chat or you can also ask live questions. So both the options are open for you and just before we open the session I just want to tell you if you have any issues regarding login registration or any other issues please feel free to contact us. We have two email IDs. So one is eoutreach at the rate csc.itb.ac.in and the other one is course support at the rate csc.itb.ac.in. So both the email IDs are open and you can post whatever difficulties you have you can write to us. And if you are a first time user so I suggest that you go through the demo course which is also available on IIT Bombay X. So that will give you a fair idea of how to navigate through the courses. So some of you may be new to online courses. So if you are new to online courses so I suggest you register yourself for the IIT Bombay X demo course and go through it. It will hardly take more not more than two hours of your time. So that is my recommendation. And apart from that I think many of you want to know these are the general queries which we often get. So I just want to answer those queries. So one of the query is like when will you get the certificate. So the answer is the certificates will be e-certificate. It will be honor code e-certificate and it will be given to you after the course ends. So it will be some time around now in number middle or number end. So you have to wait even if you have finished your course you have to wait till now but because only then we can generate the e-certificate for all for those who have qualified. So you have to get a passing grade to qualify for the certificate. So if you get a passing grade you will get an e-certificate and it will be on your dashboard and you can download it and you can display it or print it whatever you want to do with that. And secondly many of you want to know whether this course will be available even after the course gets over. So the answer is yes. The course will be archived after the course gets over and it will be available permanently on your dashboard. So you will have the access to the material even after the course gets over. So and some of you want to know if you have joined late whether you will be able to complete. So all the courses which we have published on iDebombX they are all self-paced courses. That means all the material is available to you and it depends on you like how depending on your pace you can finish the course. So even though the course may be of four weeks or six weeks you may be able to finish it in a less number of weeks if you are good at it or you can take a longer time. So it all depends on you. But the course will remain open till 15th of November. So but you have to finish all the graded assignments and graded quizzes before the course ends. After that you will not be able to appear for the quizzes. So that is very important that you finish all the quizzes before the course ends. Then you will be able to qualify for the certificate. So with that I now invite Firuza and Nagesh to take on the live session and they will answer your queries. So as I told you you can some people have already posted their questions through the Google form. So Nagesh and Firuza will take those questions first and after that they will make the floor open and you can post the questions on the chat or you can ask the questions live. So when you ask the questions live I request all of you to unmute yourself so that you are audible and also if you because the whole session is getting recorded. So in case you want you can also switch on your camera. So both the options are there. So you please unmute yourself when you ask and switch on your camera so that you are visible. And otherwise you have to keep your mics muted so that it doesn't disturb because so many people are going to join. So you should mute your mic only when you want to ask any questions you should unmute and ask. So with that I welcome all of you again and over to you Firuza and Nagesh for the session. So I hope you all will enjoy the session and I look forward to your interaction. Thank you all. Thank you so much. So we will go through the questions first that we have received for programming basics and object oriented. So Divesh Kumar Patro says that I am not able to complete the PPS04. Is he present today? Okay so these are practice questions and you will have to work on it to complete it because it won't be it is not like you just write an answer to something you know so it's not like a feeling the blanks or you know so you have to work on the logic right so you know and then use your pen paper or something come up with some logic then I think you should be able to do that. But of course all practice questions or anything related to I mean the doubts that you have so discussion forum is the best thing because there are people who can answer right so your own peers will be able to answer there are TAs who will help you right so you will have to you know you know you will have to take that decision what I mean what is to be done. So another question is how to utilize the course and how do we study I mean this is very generic question so course has got videos then you have even transcripts are there so that you can you can see what exactly I mean if you if you are not understanding proper English then probably probably transcripts will help you then you have exercises right so you have to work on those exercises and and that is how and then should keep on writing code so you know you have to inculcate that you know kind of you know you know these are very important because unless you write code you will not be able to study so this is more of a skilled I would say I mean though generally we say the computer science is not skilled course a general course but I will consider it as a skilled course because you need some skills right you need to understand you need to understand all the different you know the way the program is written so what are the elements of the program so that becomes very important right then then we have a code board does not execute the course properly in graded assignment why does it happen so so now see as a computer even if you put if you give an extra line or extra space somewhere right so the specifications are always given to you so this is the input and this is the output now you are even if your program is right right so if there is an extra space extra some you know lines or some some other character right so that will really not match with your uh with your code so will there be python language course after these courses yes we can think of it but why why c++ because so you see that there is another course which is object oriented so before that before that we cover basics right which is very important so where you have you know you you go to the machine level right I mean I'm not exactly machine level but very close to the machine kind of you know architecture now c c++ courses are I mean if you I mean the code code where where codes are written so you go to embedded systems you know where you have to write more c and c++ so to understand I mean so so so that is that is the base we are getting in the I mean in programming the first course and then you say okay now I understand this constructs so looping iterations and things like that and now I say now we say that okay so can you now play with objects right so when you play with objects you understand what is object oriented then python if you consider any standard library right so in object oriented programming we don't introduce standard library in the beginning because to understand what is a vector to understand what is a what is an what is a stack right so this has to be you know you have to work out the details so there are ready made libraries like stl right so which we introduce towards the end right so then you compare and see what is how how are they I mean you can see a lot of abstraction in that so when you go to python right so you will not have something you know you will always have this abstraction so even transition going from cc++ to python is is easy you have to understand only programming right so once you understand what is programming you can do it in any other language so I mean we may also think of coming up with the course but not at present how to improve iteration concepts and function based concepts now so what what is an iteration right so iteration is having some initialization right I mean so you have to initialize I mean you start from somewhere then you have some condition check that you want to do and then you you have to iterate right you have to you have to you have to change I mean the initial condition which have already set you are now moving towards some you know some final you know where you put it in the check you know you have a check which says still it reaches at that point okay so I am going to iterate so that is that is what is iteration right and talking about function so function is nothing but instead of writing your code okay your code becomes too big right so it becomes very difficult to you know understand so for not for you or you may also find it difficult to understand after some some period of time so what do you do is that you extract it out and then we say okay I am putting some specific code in the function right so function is your main main class you know main int main that itself is a function right so from where the program starts and then you include hundreds of other functions it makes a call you know so it's a good practice to actually you know move some code out of your main so that your main class you know a function becomes very small right so many softwares that you will notice that the main classes are very small very specific codes are written in functions so you will have to understand what is what is the function in this sense so how to match so it also it is hard to match the level of IITB I don't understand I don't think it is correct to say because so though the courses are rigorous but this rigor is important I mean if you this this rigor if you don't take it you know as a part of your life then you know there would be some you know gaps in understanding or writing code so these are very important you know and then you can transition anywhere so I know people who just know cc plus plus and that's it and then if you tell them to give to write it in any other language maybe silab or you know any other language in the world so they they will be able to write okay within within 24 hours to 48 hours so so this rigor is important and and so that the fundamentals are are strong and then you inculcate those in your you know written programs how many attempts are allowed in case you fail graded test now this all depends on you know we have given generally you'll find some different different exercises we are giving different attempts right so you'll have to you'll have to see what what how many attempts are available so the attempts can be checked right so if you go to any graded quiz you will find that error there are so so we'll just share the screen okay so attempts are visible okay can everybody see the screen now so you can see zero of one attempt it's so so that means you have one attempt here why why there is one attempt because you know if I mean if I if I suppose I give you two attempts here what or four attempts what is going to happen so I can choose any one of them right so I will I will pass through right so if I give two attempts what happens right chances of you know it's faster certain questions you will find two attempts right so I cannot show you here but so certain questions based on complexity you will find there are different see here there are zero of two attempts so there's a reason for doing that right every question will differ in what time limit we have to finish this course okay so the last date is I think November 15 right Kalpana yeah November 15 I forgot so okay so so that is so you have so all the all the graded quizzes all graded quizzes are the one which will count towards the grades right not other practice ones but the practice is important if you do not do the practice ones you will not be able to answer the graded one so you have you know we have a deadline which is the end of the course so all graded you know you can you can unspurt it becomes important that you complete little by little rather than keeping everything towards the end and it will be it will be actually boring to do everything on one day right I mean so you will get fed up so why you should do that so a lot of you know other things I mean you should pick up little by little and then you know you can proceed what course content will be available after course ends yeah I think this is already answered so you have you will still have the course content even after the course ends I I registered for the course programming basically recently I would like to complete all the five courses offered okay good but it is impractical to complete it in this cycle yeah I understand yeah I want to know whether any time extension would be allowed for new registration if not when this course is we will be offered this courses will be re offered again but if you have you can still register now because the registrations are open right yeah so before there is a registration end date before that you should be able to register right so you cannot register after the course ends so it is impossible so you'll have to take up for the next course if you want to do it after the course ends right so the courses will be rolled again right probably in January or Feb or something like that Amul Yadav I can't submit the answers to the assignment when I press say or submit button no action takes place is are you here and we would like to know what is the problem because majority of people are able to submit Amul can you unmute yourself so you can unmute and you can let us know what is the problem yes can you hear me yeah sure yeah when I listen the lecture after that when assignments are there when I click the buttons no action takes place any means there is no submission takes place so where you are clicking on the submit button yes yes okay so there is no action which takes place okay yes yes is there a problem with your browser or can we see your screen I will be very will be very happy to try to solve this problem because that will be heard okay gesture yeah can you share the screen we can stop sharing the screen no I already stopped okay fine because we have not received you know these kind of issues okay just okay so by the time you set up I'm going to answer the next question yes yes no problem yeah okay so I have completed being computer science in 2018 I want to ask after completing all the five courses and with good amount of practice will I be able to get into any big tech giant company so this will all depend on how much you have you know understood and you know your practice you know so it is not about completing even all the courses I mean it's not like that so these are the fundamental courses which are essential you can take what is important for you I mean you will be the best judge to you know to actually understand okay I need this so when certain problems come right so they will not say I'm a for loop problem or you know you know so they will they will be certain specific things right related to that domain so generally people who so there is so now nowadays nobody writes compilers if you see nobody writes compilers nobody writes you know something in their own domain so they always look for some other domain so every giant giant tech companies you know if they are working and if you want to get absorbed somewhere right so there will be always interdisciplinary things so that means you have the programming skills you are ready for it you know you say that okay I can tackle these problems right the problems would be in other areas so that is very important so so you have to keep open up what what other areas are are there you know so that is that so some kind of domain domain knowledge is important right so just completing courses you can still get a job I mean we don't say you will not get a job but you know still have to learn so every life is like this you know today also we are learning okay so I I did my graduation in 2001 I am still learning right so I mean you can keep on learning keep on learning I I can't submit the so has he shared okay when will I be eligible for a certificate and where I get it okay so that is already answered so types of operators I would like to know what exactly I mean I just received a question types of operators are you asking me what are the types of operators I mean so in case you are here probably I don't know your name here so okay there are there are a couple of operators types of operators one is arithmetic and another conditional right so where in conditional you always use Boolean operators right and then in arithmetic it's a normal you know mathematical plus minus and all the stuff and the divisions so I mean that's that's the basic understanding of what is an operator recursive recursive function now the very basic definition of a recursive function is you just call it again and again right it's the same you call the same function right so what you have to consider very important you should see that it terminates right terminates so you need to terminate right so you'll have to set certain conditions when you check when you call the function recursive right so some I know that some some people find it difficult to understand but once you understand a bit of you know how you know think simple recursive functions right like you know writing gcds and all that you can just program and then work it out using pen and paper then you'll understand what are recursive functions right so don't look for very complicated functions in the beginning try to find very small small examples to understand what are recursive functions right in programming basics course the topic seven is a bit complicated oh okay right so pointers is is complicated and I don't think you are the only one complaining there are thousands of people I have heard or listened to where they feel pointer is complicated but the basic that is why there is a topic you know it is complicated so we are trying to solve that complications right so we're trying to explain right we are trying we're trying to show you all possible ways in which pointer can be manipulated right so once you understand that then that you know all this complicated business will go so iteration concepts function class based concept and array based concepts I I think I will not answer this unless unless there is something specific and if you want to ask me I'll be I'll be okay with that you can put it up on the chat this these are very generic yeah so are you are you displaying in some cases I getting the server problem but one practice test is there this for example pps 02 is there set second in the course I couldn't find the basic syntax related to c++ like hello world introduction to c++ okay so that is where everybody in the world do it but but we actually left it and we said that okay we'll not introduce but there is another way to look at it if you see the first so we are not introducing in this fashion but if you see the dumbo right so input output you know for those people who are trying who are actually trying to learn something so syntax becomes complicated even even include hash include you know IO stream you know it's complicated right so what we have done is that very simple analogy we have taken dumbo is actually trying to dumbo in this is not an intelligent a computer is not an intelligent you make it intelligent or still it is not even intelligent after that that because the logic is done by you and it cannot think beyond that right so so here we have simple statements like input output and things like that I mean but those are not actually c++ statements but they are just general way to understand what what how to interact with the computer right so output means what input means what so output in this case corresponds to print up statements I mean see out statements and input corresponds to see in statements so that's that is what we we have illustrated in the first you know first topic is it necessary to do programming basics first before doing object oriented programming well so doing object oriented programming you are learning how you how you play with the objects right and what is the narrative what is polymorphism all of those stuff but that doesn't teach you the basic constructs like for loop and other things which are required so the same constructs are there in in object oriented or an object oriented programming right I mean so but those constructs are required right so you need to understand the basic because they're not very difficult right and and then you can move to object oriented or you can even move to object oriented programming but you should have a little bit of background of those constructs so c++ is an extension to see so so then that's a that's a you know that's how it was you know bond right so it's it's not a totally I mean so it's an extension it's a wrapper and that's how you get that object oriented kind of thing so there are other just object oriented languages but there also you'll find for loop and other things which are very important I didn't understand in function used in array how to give return value okay so so you have used in array I mean I I assume that you have an array as an argument okay which which is nothing but using you're going to read something is passed by you know that array so it's mostly by reference so you can change that but that's not a good way to do it so you always have another array for it right I mean you can have one as a input area and one as a output area and give it as put in the argument if you really want to compute it depends on what you want to compute so you have an array and then I want to compute something as and get it back right so that means I don't want to mess up with my original array right right so some something like that or I just want one value for that you know I I have a you know int something or double some some function name so it is going to return right so otherwise there's no there's nothing to return if you pass everything by by reference right so I mean in the argument form so it can return in that that fashion I didn't understand the concept of when we declare variable as global then how do you say okay so we don't encourage declaring anything as global because once you declare something as global then it can be changed by anything right any program will be able to you know change and then your behavior of a program will change so that's not a good idea so I would advise you not to use anything global would you please give a hint about the program for gpa2 I think gpa2 is so is it this way yeah I'm not sure so we can show you the if you see our programs are little bit different than what you generally see because you know there's a lot of elaboration here if you see you know a lot of elaboration that you see the problem definition a lot of picture which tells you something right so I mean what is the hint that you are looking at because in real life you have to read a lot of things right so so there is no shortcut right so you cannot say that I'm not going to read this and then I'm going to program right so you have to understand what it is what what is the what exactly is the problem so understand the problem it's the most important if if you have difficulty understanding the problem right the hint is not a solution all right so if you have understanding if you have problems in understanding the problem we would like to know whether it is not understandable it's something that we have written okay so that will be a good feedback for us right so if you are not able to understand maybe there is some something which is not understood okay we can welcome that right so that is so I mean if you are if you have some something to say on that maybe you are welcome uh can I get certified if I secure uh four four percent I get zero percent already okay already I do not know the answer of first grade a program is saying my basic programming course actually yeah so you will have to I think all all the time I've been answering the questions these questions I think your answer should your question should get answered in some form or the other I believe we require course related materials uh so we have given you what is uh enough right so so that you don't have to uh read hundreds of books and you know and then come up with something right so you can always do that once you once you know uh what what is covered you can actually so wikipedia is a good source go to wikipedia search you know to today's age is like you know everything is changing so so you keep on searching right so you have to inculcate that that kind of practice due due to my lectures of masters I am now uh so how how many time how much of time 33 minutes okay so I am going to answer there's only one question on object oriented right I'll just see what is it due to my lectures of masters I'm not able to watch the videos and practice on a regular basis so is it fine that I continue watching the video as per my preference will it affect my mark's grade it will not affect because you have to I mean there is a there is a deadline which is towards the end of the course so you can little by little do it rather than doing it towards the end I would advise in that fashion and there's nothing to worry because it will not affect your you know it's the books is like you can answer anytime right but there is a there's a deadline so there is a due date right so so that will not affect anything right Srivastava is posted okay so here so he has a problem to understand what is a constructor here constructor is nothing but it constructs your object okay so initializes right so here here you are saying II is equal to zero but where is I declared so okay II is okay it's a variable okay so II is a variable and you are saying that it is zero already initialize within the object see this and you have II pass through that interface right and then you want to say II right I should be initialize as II right I mean that is what you are saying so that means you are constructing the meaning of constructor is you are constructing an object full code you could unmute yourself and ask yeah you can unmute and you can ask you're finished answering the questions or no there are some hello yes yes yes sir yes sir so actually it was a basically an output question of C++ wherein we have to find the output of whole program and here the constructor was given in means an argument was there II equals to zero but after colon one more variable was there object I sorry in type which was declared in private side section of class a and then again the same argument was given II and then I I'm still not understanding so this is the program you're saying right yes this is the program already modified you have modified it again no sir I have not modified it not modified okay so then where is the problem can you can tell me what is the problem here sir what is the constructor what is the constructor that's what I explained so constructor is nothing but it initializes right so okay so let me take this see let's take this example so here you are x and then you have xx right so xx is this one so what it says is that initialize this x with this value right whatever is the value going to be here in this case it is zero already right so when you construct B right 10 when you pass 10 right what is going to happen B is an object of type B and you are passing 10 so we xx will become 10 and this 10 will come here right so that means your x this x this is the way it is written I mean the way it is initialized so this this x you know he is initialized to this this value right this value are you getting yes sir yes sir okay so this is basically initializing any that's that's why it's called a constructor right okay sir and there is another one called destructor so you want to destroy the object right so sir we can initialize here also and inside the constructor body also yes you can do that okay sir okay so so what you what I would suggest is that take this program and start playing with it that is change that xx to something else right so you remove all this other object take only one one class and just start calling from the main you will you will get more knowledge by doing that you know just changing you know little bit what you know already right so you have to build up on what you already know yes bommick you can unmute yourself and can specify what exactly do you want to know in storage classes hello ma'am I have doubted ma'am tabs of auto statin extraneous register types of storage class ma'am can you explain all and what are the actions between all of them so I will not describe all of them here because they are well known and so they are basically allocators right so they allocate certain amount I mean certain size you know so one is the register one will be which will get allocated in the register so the size so they are all depending on you know auto will have some other meaning so those are those are actually required for writing a platform specific code right so suppose you don't have platform specific code then you don't need to use them so if you if you probably go on Wikipedia you will find a lot of things on it can we get full so am I answering your question so you will you will find such allocators mostly use storage you know allocators mostly use in embedded systems right so where you actually need certain you know kind of you know definitions yeah here's your plan okay can we get full knowledge of after attending this course of course I think so yeah people should be able to working writing equal yeah so if there's anybody else who would like to ask a question you could unmute yourself and ask or you can try yes how does the address return type type and so from the pointer return type let's make it a little bigger hello good afternoon ma'am yes hi good afternoon sir right right hello yeah yes yes please go ahead sir I downloaded the code blocks this and once I downloaded installed on the first page it is showing new project opening project release versions all these things we need to pick on the new project because code blocks I don't know this company turbo see previously code board is like it's little vast it's little heavier than turbo see okay new project there will be multiple screens after thereafter so I guess it's like it's like creating something big sort of so you're just not creating a file creating a project is actually a notion what you have in code board so you can actually click on you will be a compiler I believe and after that just follow the instructions on the screen I guess where to save the project etc give a folder name and then you can write the code and then there would be a button green color button I believe or something uh compile okay so first we have to click on new project and it will take you to to ask what is the compiler ma'am yes I would ask you for a compiler it would detect automatically though you can try it out and you can share your screen let us answer the one the question which is there one chart or should we address this oh yeah we can address or you could share your screen if code board is already like if you're if you're already open code board okay ma'am can I share now yes yes please so on this platform I haven't shared your entire screen or window I have to share entire screen entire screen I have minimized the code blocks and kept there yes yes entire screen and then start then maximize code blocks okay okay now you're able to see ma'am uh no this is uh no we still can't see your screen so you may have to click on that particular window and then select that window here it is showing two options your entire screen window or chrome tab that's what he's asking for presentation uh yes select select that particular the entire google chrome um the picture which is displayed on the left and then say entire screen I didn't get you ma'am uh click entire entire entire screen okay okay uh you are visible again in that uh small window which appeared uh no we are not displaying anything uh yes sir so professor click click on the present now then you will get three options oh yes select the first one select the first one again you will get another window in that window there is a thumbnail kind of image there click that and under that there is a share button thanks Anjan for elaborate answer you're welcome uh nagesh can I ask one question what my question is return zero means it will return to main function return minus one means it will be the unexpected value right right what is meaning of the return one or return two okay so they are they are specific things which are coming from four six standards support table operating system interface something like that so those standards were defined much later before c++ or anything was I mean during that time stallman was the one who did I mean who participated in defining the four six standards so so these things have remained because whenever you say return zero so the definition is the I mean the you know the environment will fill that oh the program has successfully completed right so if you highlight that right so suppose instead of zero you put minus one one or something like that then that definition will become part of your environment and so then the you know environment may say that uh program has not successfully uh I mean completed I mean there's no proper execution of this program so they were minus one and when it's the same or different day sorry they are different it it is the same zero means directly it it will go to the mains means oh no no no zero means what it is giving to the OS OS is there your program is running inside the OS right it is telling the OS that program is successfully compiled and whatever executed or compiled right so so that is okay so it's not compiled but I would say successfully executed because that's a runtime behavior of the program yes a difference in return zero and return one what is written minus one yeah yeah you still have a problem yes yes I can't hear your sound clearly oh you can you not hear me now yeah I can now I can yeah so if you want to know more about it then look at four six standards p o s i x okay so these are operating system standards yes can you repeat this p o s i x okay us all capital all capital sir assume it said yeah like sir can you show me show that code blocks are unable to present it uh we don't have code blocks here because we use the web version no yeah we are actually we are used to linux program your machine is windows I think right windows tensor I don't have linux yeah so I mean is it possible to put a linux on it I mean you can always do a dual boot windows as well as linux both of them will be there yes sir I am comfortable with windows yeah but yeah I would say that I have not been using I'm just my way to look at it I don't know how it but I have I have not used windows for last maybe 23 years and I am still happy so everything you will get in linux so windows is windows every time you have to pay for something you know it's very difficult yeah okay so okay Nagesh I want to thankful to all of you this is very fantastic course I like this I clear basic concepts lot of okay thank you very much right thank you so much and can we go to that question one there is one question some can you show the screen okay okay there is a question in the chat so it's something like this so I just wrote a little bit extra thing so that you can understand so here this will be mostly in something like that and by you know you will have to always write return zero here because keep it this as a convention okay so the return zero actually means here now everything is done and then it has reached here right if it doesn't reach here then you can actually return minus one right so that is for the compiler that is for the operating system operating system has got its own data structure to identify how many programs are running are they successful are they successful so all this information operating system keeps so those meta information are required inside so that is why this is the convention that we follow so now I just try to answer this when you say I have not completed this program I just written fine and then you have so I so what do I have to return here when I say ink start right what do I return I mean with this person who asked this Joel can you can you come on I mean unmute and just let us interact yes sir yes sir yeah so you asked me this question I just constructed this so here what is what it is so this is a reference so that means anything that will be returned will be a reference value reference value means it is it is still an object right it is still an object so here the what it is going to return is 5 that means when I go down and when I say int a I want to initialize a and then I want I want I can directly do this when it is a reference right I can direct access right but when I do this one right I need a pointer here right I need a pointer to be written not not a normal you know value right see here I will get a value but here I need a pointer and then I would like I would have to be referencing right star B is for dereferencing right and now when I say I want to return so I have to return something right so what it is I mean I can still say a here because it is inside I mean right and then then I then I will say probably r of a is equal to 5 right so what I am saying here is you know I am I am I am not doing a is equal to 5 because that is a pointer right the pointers cannot be 4 5 6 they are given by the operating system right I mean while execution which will have to always do this and then probably I have to return a I am returning a here that is I am returning a whole pointer itself right and when I come here right so I get a I mean I get you know that pointer assigned right to be right so I can do this and I can still do b is equal to it's something like this right okay yes so actually my doubt is a little bit different okay when we are returning by value we are just returning a copy of a value right returning my value yeah copy copy of a value yeah so how does that differ from our return of reference I mean address I mean so reference the same object is used right same object whatever you are passing you are saying that use that reference I mean that particular you know area where that object is stored modify and then give me back that is the difference when I when I say copy copy by value is is actually I create another copy of the object right when I pass it I will create another copy of the object then somebody will do something with that object but when I get when I return something right I mean I will not be able to you know see the changed value so that is by copy okay I mean this this concept can be very well illustrated I think we have one example over there that is we are we are sending arguments by not exactly this question yeah but we are sending arguments by you know copy by copy on I mean value value based and then we say we want to swap right we want to swap and it doesn't happen right when when I find when it comes in my program I see that a and b has not just being swept I mean so then that means I need to do a reference property if I do a reference it it automatically gets that I can also use a pointer to swap them right yes sir thank you sir so what you do is that you you write program and see how you know see all these things I just wrote a little bit of you know just to illustrate so you can write like this right I mean you can just do a little bit of work and so it is not difficult you will be able to understand they are not very difficult things yeah okay so we do we have more questions so this is for GP is 0 okay so we use we use in some program we use int and some program we use long int okay so what is the reason do you think it could be and what does long int tell you right can you unmute yourself so she's telling that in the programming assignment they have not specified the size okay so they have not specified the size and so in some programs we just use I assume that in some program that you are seeing there just in in some program we are seeing that is long now you have to estimate whether it is the final value computed right so he is going to I mean does it have you know the bit size I mean so typically your int is 32 bits right so 2 raised to 2 raised to I mean 2 raised to 32 minus 1 that is what is the total value that your int can carry if it is a long probably I believe it is 64 or something so this depends on the machine architecture also and so I am still trying to understand what exactly you are so I have answered from my point of view but then can you can you unmute and maybe if if you if I am not answered some portion of it I would like to know you can unmute and you can ask is an interesting day every time I compile and run my code I see that the test cases have been changed each time so for some test cases the logical bugs in my code didn't got hit thereby my grade is not getting reduced for that particular set of test cases I feel this seems like a but not sure if this is intended here anyways thought of providing a small improvement yes so yes so like Ashwin we want that like we want that if we are taking certain amount of test cases so certain amount of tests so we and there are each test case has marks associated so it's not that like see your program does not run for some complex test case it should not be that you get a zero so there are certain test cases which will pass irrespective whether there are some small bugs here and there but like validations or you know something of that sort whereas if those and they are randomly generated so that like when you submit it you exactly do not know what the test case was at that particular time and like you cannot actually just hardcore that if test cases then my answer is this so that's a different issue although so so we want that partial grading is also given so certain test case will fail if we really want that a particular test case needs to be tested so and since it's a basic course we are not that strict about all types of test cases like negative positive going out of bounds so you know we are not exactly checking everything I hope I have answered this what are the concepts of scope and lifetime can be elaborate what can you I mean what I mean I am still finding it difficult to understand so what is what is the scope of what and what lifetime what is lifetime here scope of a variable if the variable is within the function right so the scope it remains within that that scope means what is so for example what is my scope of getting getting into a Bollywood movie probably zero right so that means so you understand so scope is defined right so within within that function so I am I am now within that boundary right so that's a scope lifetime I don't understand what is what is that you mean by lifetime here so can you give me steps involved yes so yeah you can do that are you sending assignment regarding to programming basic I'll send them I can't get that assignment I would like to know what exactly you're not getting here you can speak up you can just unmute and start speaking I mean it is a very liberal kind of you know Google Meet sir excuse me sir yes yes yes hello yes yes sir sir I am Pranav sir actually after going into quarter blocks it is showing so many tools ARM tools AVR so many are there we'll try to see whether we can give a small document or something we'll post on the forum see maybe end of the day or so we know that problem the problem problem is when people see so many things they get confused that is very true and when the actives and you know net net beans had come in the market so everybody moved towards actives and net wins if you see the same thing has happened here code blocks was intended to be as small as possible you know not having all those extra additional things but they have actually added many other things and it has now become a mess yeah so it has to be as simple as possible in fact we have a modified version of code blocks and which is as minimal as possible where you will get to just run the program and things like that so but we are not using that yeah yeah yeah okay so I would like to show the bulk registration yes Mahendra go ahead if you want to show the bulk registrations so we are actually in code block project Bala Murugan do you have a question yes thanks a lot Bala Murugan thank you so with this yeah conclude the session for programming basics and object oriented programming there would be part you can still continue to remain here we'll be addressing discussion I mean I will be addressing queries of foundation of data structures implementation of data structures and algorithms course and if you towards the end of like at around five o'clock if you want we can give you one demo on the working project that we have and that is that project is on simulations and if you want maybe you can contribute later on so at five o'clock we'll meet for a demo if at all you want to I mean look for what interesting work is happening and I guess thank you so much may I request Piroza if she can stop her presentation how much time you need only five minutes five minutes in fact two minutes yeah more than that hello everyone my name is Mahendra Parmar and I'm here to talk about this registration related queries in fact we are getting many queries about the bulk registrations from the institutes so we thought of like convey this message to you all also so that in case you're a faculty or a student you can talk to your administrative in charge and let us know if your institute is interested for bulk registration of course there are added features like you get the registration at the discounted rate and apart from this as a faculty you will be given a chance to see the performance of your student and in the google form no actually while we were collecting the queries from the participants I think Ashwin Khanna he had a query about the double payment so we discourage participants when they make any payment they should not repeat it if the amount is already debated so for him we have already conveyed the message to the accounts team so our accounts I had a word with them I was told that this refund will be initiated after the reconciliation and hopefully by end of two like within next week or so you should be able to get your refund okay that's it from my end and if you have any query related to bulk registration please send us a mail on eoutreach and in fact my mobile number is also given 9833594905 and there were also queries about the e-certificate like Kalpana madam has already said we will be issuing it after the course end thank you so much feroza and nuggets now you can continue thank you so much for your time thanks Mahindra I was just browsing through so four four blocks but now mind like I'll just start just give me a second yes so we'll start off with the questions of foundations of data structures which have already been asked using the google form so the first one is how many hours should I give first starting online lecture videos so so we have actually mentioned that you would need around six to eight hours per per week but it would also depend on your understanding level on your foundation or on your clear thinking about programming and you know all such stuff so maybe if you don't understand certain programming concepts and this might be you might need to increase the number of hours so but generally on an average around six to eight hours per week should be enough these books to refer to know more about data structures okay so if you actually want to have a very good reference so I think even for programming today I will answer for all of them so for programming suppose you want to refer a very good book okay so the course material teaches you everything but if you want some something basic and which is also there in the course then you have kanigan and richi by I mean c programming so all other books which you see in the market I would not advise so the very classic one is kanigan and richi use that so which then for object-oriented programming okay there are many many books but if you want to really study object-oriented programming right I mean it is it's vast um okay I'm just doing so sastru himself has written a book the inventor of c++ and if you if you keep it in your library it will be a reference for you to understand a lot of things there then for data structures I would say sartaj saani a very good book okay so if you get a hold of that book that is a good book to keep and so there are many ones available in the market but I would not advise any of them then for I will answer for algorithms for algorithms there is a classic book and which is still used widely which we call clr okay corpsman rivest and another third author so that is algorithms by clr clr it's a very famous book use that book if you and it takes a bit of time to understand right so that books that those books go in detail okay so now let's go to nodes are just the words from video lectures yeah I think we have given very concise so those are not nodes what you see is a transcript transcript in the meaning of transcript is as is no it cannot be changed right so if you have difficulty in understanding the video then you see the transcript that's the that's the reason for that now all our nodes that you see they are all in the you know if you see our practice problems or graded problems so those are the nodes actually nodes means problems I mean and then the videos tell you how to solve certain I mean concepts right so then you apply those rather than giving you nodes of everything it's it's a daunting task right so I will try to defend in this way so I mean you need to you need to practice right that means you need to write something you know you need to change you know so that so those are I think I mean those actually become your notes actually you you have to make your notes right I mean generally we we we cannot we generally do not have one particular book or you know a set of nodes there's nothing like that you know I mean it's all so Wikipedia the huge collection on Wikipedia those are the nodes today right I mean so why we need to create you know additional set of nodes but there are some notes you will see that you know vectors you know if you go to object oriented programming you'll find that they are all I mean they are given some basic things which are required otherwise we would not advise you know defining what is an array and all that you know it becomes a little bit more verbose right so you don't need so much to read you need little bit of something and then understanding it right so actually I have joined a course foundation of data structures is too late and the device is faulty so my course study got too late I missed my exam do I get certificate yeah you'll get certificate only if you pass right it's not if you paid and then you you're not able to pass you will not get a certificate so you have to pass the course I'm sorry that you are there's some problem in your device yeah but but then there is no other way unless you have a minimal kind of a thing right so in this lockdown mode I was without the mobile and I was not knowing what to do so it's something like that and two two months past and then I went and bought a mobile so so in this course running batch wise as a register for this course I don't understand this batch wise is no batch wise it's it's a self-paced course you can take it at your own pace right so there's no clearly hours defined for it except for interaction like this where you become and discuss somebody has written something with a quick sort so what exactly on quick sort you would like to know so that is that is not very clear so I believe you're talking maybe our partitioning of quick sort elements or something like that the quick sort generally has got a random way of partitioning and that is how you accuse something quicker right so if you compare with merge sort the worst case and average case analysis you'll find there's a difference assignment completion platform code is not comfortable make use make assignment I don't understand this question in the gpa compiler the main function is not visible okay so somebody has written saying that the main function is not visible and the person is getting multiple definition of main function every time every time you run the code so actually if what we expect is that you just write the logic of the code in the function that we have given do not define main function anywhere because at the back end like we do have a main function which is actually taking your code compiling running and actually producing some test result based on some random values which are given so if you remove your main program just do what is explicitly stated in the problem statement on it bombay x so let's say if I'll just give you a simple example say that you want to add two numbers and return the addition of two numbers I'm just taking a very simple example and let's say that you have to return the answer of two numbers that is addition of two numbers in a variable called result so if this is a problem statement defined given then do exactly the same way you can define your variables you can do you can write logic the way you like but in the end your final statement should be result is equal to some some value some value which you have computed and that would be the final output that I mean final result that we will be looking for and that is nothing but return so since you are in foundation of data structures course I believe you would have the understanding functions very well return values very well so please avoid writing main function I hope I have answered this query so this will also put up on the discussion forum I'm not sure sorry whether it was for foundation of data structures or the other two course but somebody had asked there and we had provided this kind of an explanation there as well can you explain can you tell us about arrays what exactly you want to know I from my way of looking at it what you may want is understanding what is an array right so array is nothing but a consecutive set of elements right so and you access it using some index values so a of zero will be the first location it always starts with zero okay so a of one a of two up till a of n minus one that is what and you define the area as a of some value that is five that means I need five elements in that area and they are all consecutive just to make your life easy right so you have i going from say zero to four in case of five elements right and then you want to access each one of this individually that is that is what the array is link list now the reason for using link list is that you want to you know you can very well use arrays okay so to do everything that you want to do okay but link list are the the elements in the list are dynamic dynamically allocated okay and they are ordered in some fashion based on how you link them okay so that is what is a link list right so I don't know whether you have more the question is link list so I don't know whether you you want to understand link list in what fashion or you know something like that so that means what would a link list will have so what is the metadata of that link list like it will say that my link list is having n elements right so and now I want to say this is the first element this is the second element this is the third element that is the way you link it and then I want to say that this is the my last element so that means that is always the null that means there is no linking after that right so I'm talking about the meta information about the link list and then you want to say that my link list starts here that is a starting point so it's always called as a front right the front pointer and then you keep on keep on going ahead you can name it as you want you know not always front or anything but just to understand you know front back you know you know this kind of terminologies are used how do we become expert in algorithm data structure yes to become expert you have to learn a lot I mean not only just learn I mean just knowing things is not enough so you will have to apply it right so I mean I think this is what we have been discussing right I mean so I don't have any other answer than you know lot of practice if you practice is a must and without which you cannot go ahead right it's exactly the same that the cricketers like Sachin Tendulkar or you know if they only knew what is a ball and a bat they would have not been able to play the matches but because they practice every day right so they understand where the ball is coming how to hit the ball right and then what what shorts to avoid right I mean so this is very similar to you know how you program so what errors may come what is that you know how are you going to you know identify all these things it's very important it's all on practice request to help you now this is an algorithm to implement these algorithms particularly graph algorithms in C language I believe maybe your college needs some maybe algorithms are taught in C the reason why we are not using C okay that is or I mean we are using C++ is because right it's it's because there is some abstraction that is possible right so if you write everything in C then it is going to become very big code right so which code you should write in C++ which code you should write in C that is a that is a way to look at when we say we are learning algorithms we are learning algorithms right I mean the sequence of steps required right if you go much lower and lower and start writing in assembly language programming it's going to become very huge and you will not be able to understand what is happening where right so that will require a lot of attention to different structures that you are using so so we have chosen C++ we could have gone to any level probably you know python and all that but felt C++ was good enough for algorithms right so that's the reason for using C++ right you can write in C you can write in assembly language also I mean machine representation hacks code but I mean it's going to be too much but even then you can if you write in C the code is not going to be that big as assembly language right so but here here you would need some certain abstractions and those abstractions are important book concepts and all those stuff right please ploy the C platform for practice though you are asking the same question again and again it is very difficult to implement in C oh my god so why it is difficult in C++ I would like to know what is the difficulty that you have if you are there can we justify why as if you start from one we can go to n if it is okay so these are all internal definitions now why are a started I mean this is very old question this is not a new question almost 30 years old and you are not the only one asking this so reason for if you have zero okay you can actually calculate the you know the if we have 2d arrays 3d arrays you know you can actually calculate different you know indexes in no time your your code becomes very compact right in Fortran or other languages so I mean I believe not in Fortran some other languages probably you are aware where they represented as one starting with one but then zero turns out to be the best way to represent I mean you can write an equation to get a value at that point I mean I leave that answer to you if from one then you have to do little bit of mathematics I mean I am sure that you will be able to understand by just doing mathematical you know we know how to access the fifth element of of second dimension or something like that so when I say five and two how do how do you use that right in a mathematical expression if you can write and see the difference that one and zero you may even find it this on stack overflow illustrating some example to it I think I answered your question yeah yeah what is n cross nine very difficult I am not understanding what is biome organ you can unmute and ask yeah you can you can be free and ask no that is because of starting from zero or one it is always zero in cc yeah I given that if it is starting from Fortran like one 10 numbers are there for the n minus one and only nine yes no it is no no zero to one is also considered one two that is the first value zero to one then the second value third value and the last value is n minus one for example if I put i equal to zero and i is less than 10 then it is very easy zero to nine will come yes it is zero but actually the number is 10 so that is what number is not an elements are 10 there are 10 elements and each one has an address address of the first element is zero address of the second element is one and address I mean I am just talking address because everybody I mean it's a position it's an index that is I have you understood I mean what or have you not understood this counting is difficult sir no thousands and numbers 10 number one 10 it is easier no no no thousands zero to nine totally 10 numbers 10 elements I zero to something is easier but it is not exactly here but but what you say is other languages it is zero is easier because for example if it is 10 20 30 like that means zero it is coming at 10 and 20 the zero at 20 no c plus uses zero c plus uses zero c c plus plus for a zero is easier than a full term language no that's not the answer that zero is easier there is a philosophical debate there why zero was included right I mean so there is a debate and you have to go through that so it's not about easy it's about the math the way the mathematical counting is done that that gives you flexibility right so the particular equation that is internally written okay so when an array is there internally when you say fifth operation and I mean fifth index and all that you know whatever so that calculation becomes easy and so you cannot see that in c and c you have to go at a machine level to understand this my another question is we talk about array and vector is there any specific difference between the array and vector sir vector is the object or it is yes vector vector is is is an object means it is having some extra baggage right so now my vector can I can define my vector as having any type and that's also possible dynamically okay so I will not speak about it but then so vector is a higher or representation higher order representation of an array array is lower level array you are saying already defining saying that these are these are my this is my array and all manipulation I will do now since I am going to insert value here in vectors what you do you have already have an operation right so you don't have to write that operation right so all these are abstracted and created like you know pushing pushing you just put push an element in the in the vector vector size will change right array is not going to change array you'll have to resize now you'll have to delete that array you'll create a new array so there is a way to look at it if you want to actually understand what is what is the vector you can actually write in c to understand okay how to resize your array you already you already defined array size as five right now I want to put more so how do I resize okay so you can actually create those interfaces as vector is giving you okay so but vector is giving you a power power to say that you know so that you don't have to fiddle with saying that increase my array size or anything vector you are saying okay add add add add add add and then keeps account n so whatever n number of elements no the array define array of a particular element uh same element type I put a vector whether the size of my program maybe increases or same sir no the size of program is different so you are going to even the number of statements for example the float and the double the size of the float is different from double similarly if I use the vector and the array whether it has any difference in the size no size of size of the array you are saying okay size of suppose you have 10 elements okay so now 10 elements means array is having 10 size size 10 right I mean that's what you are saying and now you are having same vector of 10 elements of size integer right so that is an array actually an array vectors are represented an array internally okay that is why they are fast okay thank you thank you but yeah correct can you use some reference books on website that will have implement algorithms in C++ I gave you a reference of CLA if you happen to read that that's the best book right which has been used for last 20 more than 20 years I believe right so so that that book is is the best I mean I don't see any other and there are so many coming in the market but not all of them so that book actually is very rigorous and it takes you to a different level of thinking right so so if you see our algorithm course okay so so this is not a full-fledged algorithm course remember that this is not about I mean so here we don't cover everything of algorithms so for to teach algorithms you need another course a very big course I mean so yeah so I think I might have answered CLR is a corpsman you just type corpsman I mean on internet you should be able to corpsman algorithms that's the best book yeah so anything coming up Pranav I have just sent one link you could refer that it it actually displays step by step instructions for creating a C++ program using code board I guess this should help I was looking for something like this one actually okay thank you thank you so are there any more questions oh can we run coding examples on phone yes I think maybe possible there are some ways to do that no I don't know yeah no sir like I answered it oh okay okay so yeah so it is not compatible yeah is there anybody else is there any other answer or you can unmute and you can ask questions yeah please feel free to do so like we can wait for another one or two minutes so any question is welcome I would also urge the participants to write on the discussion forum just discuss anything that you would like say you want to improve a particular question or say you want to have some more explanation you know any of these things you want to discuss on the algorithm which is being taught you know any such things feel free to post it's not necessary that if you have a problem only then you would write on the forum is there any question we have around 20 minutes actually uh madam yes please the course is more of c r c plus plus course countries there I did I have to start my course I recently reached which course is this programming basics it is more of sea language sorry it is c plus plus actually we are using scene and c out okay which is the first thing rest everything actually is c yes only scene and c out so what happens in print f and scan f it is a little bit complicated to write many students have this problem in IIT also we have you know first year students having this problem so we that is the reason we introduce c out and c in and rest everything you will find it is mostly c okay and when it comes to object oriented programming we are actually using c plus plus c plus plus means object oriented okay yeah and these practice questions which are given even if we don't if you skip those questions also doesn't matter or doesn't matter but the reason for having practices as I said such in Tendulkar practices every day that is the reason otherwise otherwise it is not required you can I mean if you already know enough then you can directly jump to you know some level yeah that is also possible so it's not that you have to go through the whole course but you know if you feel that you are uncomfortable somewhere then you should have that practice right so there is a lot of liberty here so and it doesn't count practice doesn't count your final grades so number after number 15th everything will be disabled even though you do as I mentioned not not be going by number you didn't have to complete so yeah due dates will get over that means you will not be able to submit after that particular period after that particular date but then the course will remain with you that is you will be able to access after one yeah okay so does anybody have questions more questions okay I think I will take this opportunity to demo something which may be useful for anybody here or if you can spread a spread of some word regarding this will be very useful so I'll just try to share my screen okay so this is what we have achieved during lockdown I mean so we got some second year and third year students and you know and then they have built something like this though this is not cc plus plus okay but then all the concepts remain same they are not different right so you have you know you can drag and drop and things like that so if you do programming right so you will be able to achieve this level right so only thing is that you need to learn a little bit more I always say you know you just need cc plus plus and see it is not a language it is about the concepts which are very important right how do I initialize how I how do I control my iterations you know all of this all of this is here right I mean finally you know everything goes actually in a product right so that is the most important so it doesn't matter whether the cc plus plus but the concepts all of those remain the same right so this is an Ardila simulator I'll go back to no problem is it necessary you have to I think I've been telling you that you have to practice so that is why it is necessary so otherwise how are you going to learn okay so so I believe that you can learn algorithm without practicing that is also possible but but you know you just learn algorithms I mean so if there is no implementation right so how will you get a feel of it right so that is that is very important you understand to the fullest right so that is that is what I think you should look for and then only you will be able to build something like this you know something like this I mean this work was done in two months time period right I mean you can see I will also show you see here actually this is C can you see that it is C I mean do you do you do you do you think that this is something different and see this is C actually okay the way the C is written but only thing what is written here is a loop is written and setup is written right and this is also C you know the way it is written everything is C right int i is equal to zero i is less than right I mean so here what it is doing is that it is taking this as a behavior right what you are specifying here is actually going on this board right at this board there is a simulator here there's a simulator here okay and then this this one is actually compiled like the way you compile your program we can also compile it at the back end convert into hex code the machine code this hex code he actually is a representation of what happens what happens to this I mean what this board supposed to do right now this board is supposed to say I want to put one one one somewhere and based on based on what is defined here right so I should get a zero one two three four five six seven at nine so it's a counter right so I want to make this count something so that's the whole code actually here if you see so I I just show the running part of it and then you will understand what is happening so finally you see you know C is used everywhere right so you see how it is counting right suppose I change something there it has to change right suppose I I say I say everywhere zero I'll I'll put everywhere zero so I put everywhere zero now what happens this is my program right so I just putting zeros in first row and the second row so what is going to happen so it's not going to display zero and one so it's going to display two three four five six seven eight nine that's how so you see everything is is programming here right I mean you can apply anywhere right so you still see C code it's not that you don't see C code right yeah so what what amazing things you can do I'll show you you have a gallery I'll show you a buzzer yeah so let's see buzzer so first thing that you saw was you know so this was a C code you see C code right and then you say okay let me simulate what is going to happen so it's it's it's beeping I mean maybe you are able to hear it's beeping right so it's beeping so here we demonstrate sound using C right I mean we are demonstrating sound I go to another example let me go I also have a code here right there's also C and then what is happening I mean it's moving motion so it is demonstrating motion here right and then we have see amazing things you can do you know if you actually learn programming I mean this is what is possible say I have some values coming in moment I get things closer values will change right so it's a guess answer the values are changing right I think this is the maximum value so if I take it here get a different value if I take it far away I will get zero okay so there is some calibration and things like that so you see you are able to detect smoke and things like that right so this is one one project and there was another project this was done by four students and this was done by two students okay for a period of two months and then this one okay so this is my circuit right and I want to do some some electronics so so everything is programming here so there is no you know I mean you can very well see that there is some programming that is happening right I would like to run this circuit okay I have some way to control this circuit right so and then which is internally taken in the programming constructs right so it knows what is what is the start point what is my step right so how much so this is my x-axis and this is I want to simulate this circuit in such a way that by giving some value all right values are already given by the way here if you see voltage is five volts okay I have another voltage which is which is AC okay and then it is going it is sinusoidal okay it's written like this it is interpreted internally in a different way but this is how it is written here by the user and then I have a transistor model if I just I will you see that this model transistor particular behavior of the transistor you will get here otherwise you will you will have an ideal way of representation and then I I want to step say 10 micro okay step time and then based on for that voltage I want a graph right I mean something like that and then 10 mili so I will try to simulate okay I think we have some problem oh there is an internet problem I think there is some internet problem yeah where is it showing okay I think there's some network issue so am I audible yes you are audible oh I don't know how I have internet some problem here I'm using another tablet so maybe that is the one which is not sure what has happened so it is done there's some problem okay fine okay so in programming you will have bugs right I was not able to show you the final thing but you know in programming always you will have bugs so even google or even zoom zoom crashed right last moment I mean where people could not do anything so bugs are always there right so yours but you know you have the reason why you program why you need to know programming is to understand what are these bugs and how do you come up come out of those bugs right that is that is the most important and this fundamental understanding is very important how do you resolve it how do you come to a very clean code okay it's the most important thing and and once you understand this fundamentals probably you know you become better better programmer and then you know what to avoid right and that is that is the most important thing so all this you know display it's all programming right without which you cannot achieve all these things right and then I want to maybe solve it I have zero stop time 10 milliseconds I have time step as micro and then they get try to simulate I should get some output yes this is the output I get because that graph that particular so if you see we are using graph you know this this graph is different I will show you very interesting no voltage which is for this circuit and which is this one this is what is the output that you get this is an amplified voltage if I close this actually this circuit is represented as a graph you know what we are learning today about graphs and you know how they are connected so here the representation is this components these components which are there you know they are they are actually edges and not nodes right so I told you the problems you know in different areas you know what you have to do okay this is my problem I have to simulate I have to apply now what is an edge what is what is a node right so these understanding comes if you actually do this I mean graph algorithms and things like right and if I want to show you how the graph is represented in this case the graph is like this so r1 right this is this is a resistor one connected to this node and connected to this node and the value is 10k okay so just giving this example because r1 is here and I am getting these values here but where it is connected right this software which is written understands and puts those values here right this is not written by us this is generated right so for certain things you would have to generate you know this is a graph actually this is actually a graph I mean at least the first one I will not consider this is a graph so there are various ways of representing graph we represent it in this fashion you can then internally it will be represented is an arrays and I mean that matrix adjacency list or you know you can have adjacency matrix and all that stuff right so you understand what is what is that I am trying to tell you yeah so everywhere there is a graph everywhere there is a you know loops you know this is nothing but a loop actually this is a this is controlling right this is the control statements I mean control values you know time so that's my time and then I have to get certain values here outside right at this point so I mean programming is so important today I mean you can you can do whole but bunch of interesting things only thing is that your your fundamentals have to be very strong and then you can move on to anything else yeah so if you have more questions on anything algorithm programming basics I will be able to you know answer I can still extend it to another 15 minutes if you want right or you can you can speak you can speak about your experiences about this course how are you feeling it what is that you want to do right I mean that's also very important I mean very important for you right so after this course what do you want to do or do you want some other courses we can you can think of I mean you are free to discuss you are free I'm free to discuss with us you can just unmute yourself and start you know speaking this is a kind of a virtual meetup right I mean we wanted to see something very close to how would we meet together and you know discuss things right so today you will have a luxury I mean we can unmute and you can we are just friends here right sir I am Balamburgani again sir rewarding the algorithm I am using it of course yes in our programming we used Bellman's dynamic programming for optimization right therefore there will be a some set of stage as well as state variable that we can link one to another we link as a chain to get the optimum route for the particular one here also I am attending the graph algorithm with Bellman's also along with other important things here among that in optimization that is a best route that is our best route path one is giving with the direction another one is without making the direction of one node to another node which is represented by 0 1 and minus 1 in the node graph table input right what is that significant if I use only half matrix form that is upper half only without storing the lower half can you able to elaborate on this sir no see all these algorithms they have a specific way of doing things right so that is why it's a name Bellman for right so so who is who is that who discovered that algorithm who wrote that algorithm Bellman right so it is in his name so there are various algorithms I mean you you you can use I mean only practice will tell you what why it is used right I mean so so there's nothing you can you can do that even without Bellman right I mean you can you can you can write your own algorithms also but we are introducing the ones which are actually famous algorithm the way it is I mean it is right so that's nothing so generally that's why I said this course is is actually a little on algorithms actually you see it's more on data structures and because algorithm is actually huge to cover and generally you don't cover algorithms in this fashion you actually come up with an algorithm and then you compare with the other algorithms right so if I want to discuss algorithms then it may go to even four hours just to discuss why that algorithm so these are for analysis so you need to do analysis I mean you need to find out so this that that requires another course yes sir what you say is correct sir because in algorithm we are we are trying to evolve many things like a genetic algorithm or swam algorithm or bad algorithm like that you know the new ideas come into picture we are implementing into the model so that what will be the best way to get the opportunity for minimum time required to run the model and at the same time getting the very closer answer right we are trying to develop the algorithm but many peoples are telling the different name and algorithm because they I know Bellman's is here than the other peoples some things are not very efficient so I mean there are algorithms where the algorithm would be very big actually right but then they do a lot of node visiting and all that stuff and it is probably very efficient algorithm but the program will look big right so when the algorithm is very efficient you will find such things you know if the algorithm is very short you will actually see that there is very little workout that has happened right those are very novice I mean naive algorithms and then the specialist ones exist right and these all depends on which what is the problem so finally your problem domain becomes very important where are you applying it right I mean how are you trying to look look at from what point right so if Zomato is doing it Zomato is trying or you know Swiggy or you know all this who is that Amazon Amazon is trying to or even Google Google you know giving a link and telling you okay shortest path you know there is a crowd here and this and that they are not these algorithms right that you see why why because they have specialized it but then they are not directly jump to that specialization they are actually understood other algorithms so that means this becomes your base once the base is ready then you can think of you know doing a lot of analysis and that is how algorithms are born so that so if you have just one algorithm I don't think you know you can apply it at hundred places so you have to find the problem the problem becomes very important I think thank you sir thank you very much for your kind information sir thank you right fine so I think maybe people have joined for the demo I believe and I have completed the demo so I can still give my demo again sir what will this kind of session organize in future before yes we are trying to organize every month so that this could be helpful for everybody right I'll formally thank everybody so then maybe you can have the demo so thank you Feroza and Nagesh for patiently answering all the queries so we can go for another one hour also okay so maybe next time and thank you all participants for joining the session so we will have as Nagesh and Feroza said we will have such sessions every month and you will be notified on your email and on the course and if you have any other feedback also as Nagesh and Feroza said please feel free to write to us you can post it on the discussion forum so please make use of the discussion forum which is very important for your learning and it will also help us with our course so if you have any suggestions or queries please make use of the discussion forum and as I said in the beginning so everybody will get a E or certificate once you clear all the requirements for the course so the course requirement is given in the grading policy so please make please read those grading policy and please attempt all the quizzes and since this is a self-paced course you can take the course at your own pace and the course is open till November 15th but you have to attempt all the quizzes before November 15th after November 15th the course will be archived and it will be available on your dashboard but you will not be able to attempt any of the quizzes so please finish all your quizzes before November 15th so November 15th is the hard deadline so we will not be able to extend the course further so please attempt all the quizzes before that so thank you all for joining and whoever wants to stay back for the demo please do thank you