Transcript for:
Understanding Algorithms in Computer Science

hello friends I'm going to start a course on algorithms and whoever messes up cake algorithm is a common subject for computer science engineering students most of the universities offer this course as a part of syllabus and this is a very cool subject and very important subject and students face some difficulties in some of the topics in this one they could not understand them very clearly so here I am going to make the subject more and more simple so that you can easily understand and even you can practice that and also remember it easily the importance of the subject is that apart from theoretical examination it is also important for competitive exams and even programming contests most of them are designed from this subject only if any programming challenge is there they mostly people come to questions from this subject so this one of the challenging subject for the student because they get a chance to solve different types of problems and they give the strategy or approach for solving the problem so some students fail to understand it properly so they could not get the approach for the strategy for solving the problems and they feel that they are lacking in the logic development or strategy development of a program so I'll be covering in depth each and everything right from the basics to the dead okay so that you will be able to answer any type of question from this forum I will cover the topics such that just you look at the question you can get asked that I guarantee you right so the thing is I will cover those points which are useful for solving the motions some job interviews or even for any other exam or some entrance exams like eight exam the cushions thing from algorithms also what is also one of the key subject there so you will be able to answer any type of question from there not all the lectures in the order I'll be giving the numbers for each topic so that you follow that order you follow the sequence because I may be breaking the major topic into small topics and one more important leanness your feedback is very important for me because alchemy I have made for you prepare few videos using presentations and other tools but now I'm giving a lecture on whiteboard so maybe i'm new for the video quality and audio quality all these things so technically once i get set up so i need your feedback so i can make my videos more and more better so your feedback is important for me to know how the video quality and other quality you are getting it on your devices because what i have checked on different devices and i found that the results are different so what because you are using what i should improve voice or what so any of your feedback let us start with just introduction what is the main part on what is the length autumn why this return when it is written who will write it let us get answers forties see algorithm as a definition it's a common definition everybody knows that it's a step by step procedure for solving a computational problem yes it is a step by step procedure for solving a computational problem then what is the program program is also establish the procedure for solving a problem then what is the difference between program and Anegada so by comparing program and Elgort or I can make you understand the importance for the meaning of a god let us take it here's an angora and here's a program let us see the first thing first difference if you know the software development lifecycle means the phases of developing a software project in the phases of development of the project there are two important phases design phase and the implementation phase if you are not aware of it let me get you whatever you want to manufacture or construct something by engineering procedures then for step one if one of the important step is designing first you know designing make your design perfect and thorough so that you can understand what you are going to construct what you are going to develop and here near sure what you are going to develop then you start the development you can't develop anything you cannot construct anything on trial and error basis like you construct there's something naughty endomorphs wrong destroyed and I get create a new one so no but it is easy easy in software engineering software engineer can write some program and change the mind delete the program and again started in over there so that's why we cannot get the feeling that we have this set amount so much amount of time in writing so useless program so the point is first you design and then you write the program so at the design time what do you use so you're not reading a program then what do you write so that same program we write it in simple English like statements that are easy to understand without using proper syntax and we may not be ready machine that is not computer remember I came on paper or even if you're using a machine also then you will not be writing in some language you can you be writing in ms word or notepad like application so just you are getting familiar how your program going to work so that's nothing but an algorithm so algorithm sorry is written at design time and when the programs are done they are internet implementation time the design time an implementation time so first you make a design what your procedures going to do what your software is going to do come up with some design and that design your program then what do you call the person who who designing whatever program where doesn't that yes if programmer is capable of doing that he can do it otherwise the person who will do this one should have the domain knowledge the problems knowledge knowledge about the problematic solution he can give a solution the one who understand the problem and has the domain knowledge suppose you are developing a software or a network come on a program for account the accountant can understand accounting better or if you are writing an application or develop an application for hospital then doctors of the administrative staff of an Hospital canvass and the system better than a programmer so mostly the one who is having a knowledge about the domain for which the application is being developed they can write on that so the person who I should have domain knowledge who would like to program program so programmers can also have the mid knowledge they can also have the mandamus that he is acting as a designer and here he is acting as a programmer thanks what is the language used for writing algorithm you can use any language any language any English language or you can use some mathematical rotations if you are ready English let language it will be like reading power or somebody but don't write if you can if you want you can use mathematical notations also expect I refuse mathematical notations so a language have you used any language means English language or some mathematical notations can be use as long as it is understandable by those people who are using it like if a designer has written an algorithm that the programmer will be right in a program fire so designers should understand and also programmers should understand that one right so the team of programmers who are working on that project should be able to understand it then this is written only using programming language like C C++ Java Python right so you can use different languages for developing a program the next one more important thing is when you write an algorithm is going to be hardware and software means operating system independent it's not dependent on hardware what's machine you are going to use what is the configuration of the she were to the operating system me that the Linux operating system or Windows operating system we don't bother about it but when you write the program it is a dependent on hardware and operating system so any other program you have to sell it some hardware I'll be showing to them and also you have to select some operating system you may be doing it for Linux or you will be need for Windows so the method will be different and the environment side-effect so is the important the next after adding an algorithm we analyze an imaginary part on means you will study them to find out are perfectly normal and our algorithm is efficient or not in terms of time and space we will see what does it mean by now and access so we will analyze an airport what do we do with the program so you don't have to study the program already program is there just run it and check it so we don't testing testing of the programs that's it these are few differences between algorithm and program these differences will be help you understand what our algorithms alright now one more thing I will tell you the syntax of the language that we use any language can be use but who actually write algorithms and who use them and who write the programs of programmers who are coming from university graduates mostly Union City graduate knows at least C language so note is mostly in the name of algorithm we write C language program only so the benefit is better and what is that everybody knows C language now so instead of reading some other language to confuse we can use C language movie so that everybody can understand so even at a school level C language is being taught so everybody so emergency language so I don't using C language syntax for it in algorithms