so uh we finally meet so also uh hello and welcome on faculty of mathematics and physics of Charles University or mfis for short uh my name is pavelek and I will be uh leading this course uh in case you uh need uh anything from me any advice uh any consultation uh you will find me uh either in this building in uh room uh 204 or uh I am also in the impact building in Troya in room N2 34 and it depends uh on the day of week how I have a schedule where I'm uh exactly am however if you come uh to my office at some random time uh especially before some lecture I will probably will not have time for you so please always uh write me an email with uh and with your options uh when you are available and we can arrange uh some meeting so uh my email is pavel. uh at uh d3s uh MF uh me C that uh where this is the uh faculty University and this is my department Department of distributed and dependable systems and as uh many of you have uh have of us sorry uh have many emails this is like the most direct email to me with uh the least amount of uh spam filters so please uh write ideally here however uh in case I do not reply to you in a few days uh what can happen is that I get a lot of email so uh your email uh before I get uh get time to get to it it will get out of my M client out of the current screen and I will forget about it and not see it again so if I do not reply to you in a few days please do not hesitate to write me uh write me again and that you already wrote and I uh yet didn't uh reply so this is nothing bad uh to do that so uh this course uh principles of computers uh the key goal of this course is that you all of you uh understand uh how computers work internally and uh externally on the level that is uh necessary for a good programmers and good software Engineers that you all uh should become and what is important is that I do not expect any previous knowledge about workings of uh computers so if you up until now think that there are small dwarves running inside of the computer and using Hammers and small bells to uh run things inside of that uh it's uh enough knowledge for you here here unfortunately you will be probably surprised that it's not uh how it actually works so you will see that it's a bit different there and uh so no previous knowledge is expected however uh I expect that in parallel you attend uh the uh other courses here in your first year so especially here in the winter semester that you attend the programming uh one course where the goal of this course is to uh teach you uh how to structure programs or in general how what programming is and how to think about in programming and the language that you are using for that is Python and while it's not a python course like this is the that you already probably know the language that you'll be using and as this course principles of computers strives to be uh like practical so that the knowledge is not just theoretical and but you understand uh how it applies to practice uh the best way is to show uh it on a real code so I will expect that you know the basic python from the program course and I will be using this basic python to show you some stuff as well and uh uh another thing is that in summer semester uh you will have the programming uh two uh course uh where uh I don't know whether you heard already but you will be using there a different programming language to show you these Concepts that will be uh like the topics of the sum semester and the language that we will be using is the C language uh and while of course I do not expect you to to know C uh sometimes during the semester we will uh talk about some stuff that is uh hugely different in languages other than python so then I will talk about then when you see in summer semester C you will see that this works are differently and we will explain why it works in in differently and uh what is relevant to it that you will have also uh computer uh computer uh computer systems course uh in summer semester and there also you'll be using uh as a tool another programming language a c or uh C like subset of C++ and once again I will I do not expect you to know the c or C++ language now but during the semester I will sometimes say that this is in C differently uh and works differently and explain why and compare it to the uh to Python and uh maybe I I should mention also that in summer semester but rather in the second uh second year uh there is a optional course non-mandatory course uh uh computer architecture uh computer uh architecture uh which sort of uh is a continuation of this course where in this course we will be uh ending on the level of the components inside the computer and not think about how they are wired internally and in this computer architecture course you will go into more detail and look at discrete components that processors and memories and so and so on are built on and how architecture of a modern processor looks inside and while this seems like a thing that is not important for uh computer scientists and programmers and software Engineers if we are just on on the software level actually modern computers are so complex that actually understanding what what happens behind the curtain and how it's implemented internally is quite important so while it's just optional I would definitely recommend this course that my colleagues uh colleagues teach so uh however in this course we will focus on really the basics so especially how different type of data are represented in the computer and how it works that the computer actually does something and uh but the very important point is the key features the of the course is to uh is for you to get the understanding why it works in a way it works and uh what advantages and disadvantages uh these approaches has and uh as you probably notice noticed uh this course has only an exam uh and uh only a lectures so there are no Labs uh and uh the exam uh I will send you later some example exam from the previous years but uh the exam focuses just on the topics that uh were taught that specific year okay so the uh so the uh the lectures are uh fully sufficient to uh get the best grade uh from the exam uh of course if you know something more then we uh will learn here on these lectures it's no problem but nothing else is necessary uh as you probably noticed I'm uh creating a video recording of this lecture and I will be doing it for all of the lectures and I will be sending the video recordings to you regularly so in case you miss something on the lecture or when you are preparing for the exam or something like that you can uh definitely definitely watch them uh or if you uh have some like uh Missing Parts in your notes uh you can use the video recordings for that uh for that as well and uh because there is only the the the true uh final uh final part of the of the course is just the exam in the examination period what uh can easily happen that uh you sort of will uh partially ignore the course during the semester and get lost very soon in it uh and then uh when the examination term comes you'll be completely lost and you will be able so quickly to grasp everything so that uh in order in order to uh to motivate you to uh think about this course during the whole semester uh which is important because uh while I do not expect any previous knowledge before this course I expect the understanding knowledge of the previous lectures because we will be building on on top of each other so uh if you get lost in some of the lecture you'll be probably lost in the following lectures as well because we will be us using these topics uh topics further so uh uh as uh so to motivate you to work during the whole semester I prep or I will be preparing a self uh set of uh self assessment assessment assignments assignments where uh the the role will be twofold first of all like the all or all of the assignments are sort of direct they are you you will get this get this sheet of assignments for every lecture and there will be like several small tens of like questions but many of them very direct just so that before the next lecture you can go through the list and think about that you really remember and understand what the specific topic from the previous lecture was uh however uh some of the assignments are sort of a bit practical so that you can try to apply the knowledge from the lecture on some on some uh real life examples and from from these I will uh give you always a subset uh that you can uh that you can solve for bonus points for the exam so the exam at the examination period uh has a written part uh exam exam has a written uh written uh written uh part uh which where you can get uh 10 points 10 points from the written part and uh if you look on uh like my web side which is uh quite a strong word for that but uh if you maybe uh better here uh it's uh D3 uh s mff see that Del ISAC it's uh unfortunately in check but uh you will find out here down where there is the princip the the code of the course and the link to the courses website which unfortunately is now a bit outdated and in check only but Google Translate translated uh correctly but uh one thing that you can find here is the is the grading scale and as you can see here like uh it's based on this uh written uh written exam so uh if you prepare correctly for the written exam you can get up to the 10 points and this is like the maximum points on on this scale however so definitely solving these self assessment assignments is not necessary is not mandatory so this is just a bonus uh bonus so it's purely optional optional but I definitely recommend that and uh so if you decide to solve these well for every lecture I will give you the subset like like six seven or something like that and from this you can choose by yourself a different smaller subset that I will tell you like two three four uh assignments and uh if you solve them correctly you will get uh 0.1 points for the exam uh from every of these assignments so uh it can uh it uh like uh can help you to get a better grade or to be more sure that uh that you will pass uh pass the exam uh however uh a very important point is that uh from the written part you need to get uh at least uh at least uh three and a half points in order for these points from the self ass assignments to kick in uh but as you can see here uh you need at least five points to pass the exam in general so uh if you have this one from the written part and have some self assment assignments it can help you so uh uh but few things first of all there are still self assessment assignments so uh there are uh small enough assignments that if you understand the topics of the lecture you should be able to tell whether your solution is correct or not so and also there is a lot of you not only in this uh English class but also in the cck class there is uh much more students there that I teach so uh uh it's not in my power to go through uh in the semester through the all of the solutions of the self- assessment assignments and grade them during the semester okay so you will not not get these points during the semester you have to like uh as they are self ass assignments you have to uh you have to uh think about it yourself whether it would be probably correct and worth worth the point however I definitely promise that I will do it on on uh on on the required basis during the examination period so when you write the written part of the exam and if you get uh less than eight and a half points from the written part then I will go through all of your uh submitted selfassessment assignments and for every correct one give you this 0.1 points and add it to the points from the written written part and then this results in the final uh final grade however what is very important like the key goal of this is not to get the points for the exam but to stay focused on the course during the whole semester so even if I will be sort of actually assigning the points during the examination period it's important that you submit the uh self- assessment assignments in the deadline during the semester where normally you will have a onee deadline uh one we uh deadline uh deadline so that it sort of forces you to look on that before the next lecture and you are prepared prepare for that so definitely if you miss that during the semester you cannot solve these self assessment assignments during the examination period this is not the goal of it it's and it would would not be worth it okay so but still it's optional but if you want to solve it you can but you have to do it during the semester uh an important point is uh where to submit these definitely please do not submit them by email or uh simal means but uh you will have uh later today or in the evening today I will create a team in uh Microsoft teams uh Microsoft teams platform Microsoft teams platform uh and uh I will assign the self assment assigns there and use only the Microsoft teams to submit your uh Solutions and uh it's important that it's not any um Microsoft teams but it's important that you sign there as part of the University uh Office 365 program okay so uh here is uh a website the the the the uh web of the of the faculty SL o365 like Office 365 I will send you the link via email as well and here on this website uh you can find first of all how to uh how to connect to the uh to the University Office 365 instance and uh if you haven't heard from someone else you already have there the account the same account as for sis and uh especially you have have already an email there as well so I don't know whether you know that but you have that this University email already and email is coming to that uh address already so uh you will uh access this uh the office in this way and as part of it if you sign by this University account so you can then access the teams but only using the university account and then uh I I will write you an email when it's ready there uh in the evening there will be team with the self assessment assignments and then uh then post uh post these okay so uh this is uh like mostly the key introduction of the whole course are there any questions for the course in general like that yeah well uh there will be for every lecture uh with the exclusion like like the last one because there is not enough time so there will be like 10 or 11 sets of these and for every set it will differ on how sort of interesting uh different or important different topics are in the lecture but typically you can submit like two three four uh of these for every lecture so it's uh so it's roughly uh yes something like that so like about you can get in total like three and a half points or something like that if you summit summit all together okay so any other questions regarding the cost in general uh so if not we can uh start maybe one additional Point uh one additional point or two additional points first of all is that uh probably on the previous levels of Education you know that you were lied to that uh like the teachers were not able to to to tell you the whole truth uh because it would be too complex uh I promise here that I will tell you more truth but still I will lie to you it's very important because still this is di like the introductory course and I cannot tell you the whole truth in every part because uh otherwise it would be too complex and your heads will explode and we will have to clean the room and so on so uh it's rather uh problematic so uh I will try to uh say to you the abstraction that uh allows you to understand the topics uh and still like if you later learn the b or more precise truth not to be in conflict with that but sometimes it might happen that you might pre from the previous knowledge understand something a bit better and it might be an okay understanding uh if it's like the extension of uh of what I'm saying so this is one point and another point it's important in case you have any questions during any of the lectures don't hesitate to don't hesitate to interrupt me and ask okay there are no like bad or wrong questions uh so don't be afraid to ask anything we are here so that you understand the topics and get the correct understanding of that so now uh let's start uh I think uh with the actual topic and that's uh what we' like to talk about how computers work and how they are uh structured and so the basic unit of every uh every uh computer is a processor or microprocessor or a uh CPU uh which is an abbrevation from central processing unit and uh well what is it so this is the programmable part of the computer so the part that has from the manufacturer preset uh set of commands so the we cannot change the set of commands however we can change the order in which uh which these commands are executed or how they are repeated and so on so the program in the computer is the order of these commands how the CPU should execute them however in order to for the CPU to know what program to execute the program the sequence of the commands has to be stored somewhere so we need some uh sort of a code memory uh code memory uh that will be connected uh connected to the uh to the CPU and uh what is important that uh the CPU need to be able to get the program from the code memory so there needs to be ability for the CPU to read uh the code from the code memory what is quite uh interesting point to think about that actually in order to for a computer to work the CPU does not have to be able to write back to modify the program in the memory what is sufficient for the simplest computer if we can modify the memory externally so if he can write the new contents the new program new sequence of commands into uh into the memory externally and then uh um turn on the computer and it will execute these commands so uh this is one important part that needs to be there however as you probably already understand from the basic uh programming course uh when you are running a or writing a program typically it's not a single equation that should be calculated but it's a sequence of sort of command sequence of equations and we need to uh and these intermediate uh equations let's say have some intermediate results so we need some place to store these intermediate results we call these variables these intermediate results and it's a similar purpose as if you have a classical calculator there is this m site memory where you can store some intermediate result so the computer needs some something called a data memory data memory uh where uh we will store the variables and uh it's important that we are talking about variables in the computer science sense of understanding it so really the place to store a temporary value not in the mathematical sense so it's not a definition of some of some equation it's really just the place where we can store something and now uh obviously here uh as the CPU executes the commands in the order as the code memory says uh then it needs to store sometimes the intermediate uh results into these variables so there is important that the CPU has ability to write the data into the data memory uh however also it needs later to get read back uh the data from the data memory and continue with the with the computation uh computation with these okay so uh this is like the basic uh let's say architecture of the S simplest computer and actually this architecture has a name it's called a hardware architecture of the computer hardware architecture uh as like one of the first computers uh that uh had this architecture was built on Harvard University and however this is beginning of such an abstraction that I was talking about that actually we will see later that the computers that you typically think as of computers like your notebook desktop mobile phone usually have have a bit different architecture this one a bit more complicated in a sense for no man architecture uh however it's too complicated to start with so we will gradually get to it later but if we start with the har architecture which still by some subset of computers is used today uh we will we can explain much easily some stuff on it and then uh later we will see that this holds through for the for human architecture that is a bit more realistic for the most common most common scenario okay so uh this is it and and uh know that there are important points that points that I actually did not mention actually and these are these wide lines that allows us to communicate between these components so uh let's call this uh communication line uh communication line so this is one point and another point is that actually there is still something missing from the most simple uh computer architecture because now we have a a pro uh computer that can execute some program and execute it fully so that store some intermediate results however we have no option how to get the final result what actually the the program computed or what it did so what is important that there needs to be some communication line to some output device output device something like a monitor or a printer or something like that uh so this is one important point and another important Point very commonly we do not want the program to always execute the same data for example if we create a program that computes roots of the square root we uh sorry of the uh of the quadratic equation the square roots of the quadratic equation we do not want to uh find the roots always for the same quadratic equation but we want to be able to run the same program repeatedly but provided different quadratic equations so different coefficients so we need some input here as well and some communication line that is connected to the input and in general we uh very commonly abbreviated simply siio and uh the example of an input device might be for example the keyboard or a computer mouse where we can type or or move with the mouse to get for example the coefficients the input data for our for our program and in general these devices input and output devices are uh sometimes called peripheral uh peripheral uh devices uh of the of the computer so this is finally the architecture of the the simplest architecture of the computer that uh we will use as a basic abstraction and try to understand how this works on this level and uh what is interesting is that actually uh already the first first like uh major computer that we know about that was created by uh by Charles bich uh Charles bich uh which was an English mathematician and he created a uh computer that he called an analytical engine and uh it was in 18 uh 37 one point to this uh in general this course uh is the key uh key concept of this course is that you really understand how the stuff works so it's not about memorizing stuff it's about understanding how everything fits together however Sometimes some parts need to be memorized and they are especially the keywords okay because when you are talking with some computer scientist or fellow programmer or or someone someone on this level it's important that you are using the correct words so that the other side understands you correctly okay so these these uh keywords like code memory uh CPU data memory uh communication line you need to know these and you need to remember these okay on the other hand for example that there was a Charles bich and he uh created something called analytical enchain and this was at this year this is just an information that I'm using as a guideline to understand the topic so o obviously you do not have to remember this and I will not this not be part of the final exam of course from this uh from this course okay but what I'm mentioning that is that it this is 1870 uh 37 this is not a typo so it's really 19th century so the century of steam where everybody was uh has open eyes for like steam engines on on on Railways or Steam engines on fields and so on and this was sort of a magic and at that time he really invented a computer with similar architecture and that was fully sort of called Ur in complete so it was able uh it was fully sort of uh able to uh run or we would be able to write any program that modern computers can execute of course like this was still the century of steam so uh while it was electricity was known to humankind at the time like this was still some something special so it was not built as an electrical computer but rather as a mechanical computer so there was some moving parts and so on and some uh some labels uh that that would compose these all of these parts of the computer and uh when you build a computer it was quite quite huge so it would be the size of a football field so very big one so of course it would be very expensive to build such a computer and as he was just uh just a poor mathem ition he was he has not enough money to build the computer actually so he was looking for the ways how to realize this idea and how to do it well he uh found a rich girlfriend and uh it was quite an interesting figure she was called a la la uh la la which was uh uh which was uh she was a uh daughter of Lord Byron famous poet if you probably heard about him and what is important is that she was not only rich but also she was very very clever and uh what she did is first of all she wrote a manual uh manual uh for the Big's computer so uh as he was just a mathemat mathematician it was sort of below him to describe his invention it was enough that he invented that so she described uh how actually the computer is structured and how it works and actually from her manual we actually know that the computer worked and it was fully fully functional computer uh so this is one point but that's not that interesting there are many other stories about ad La as for example that she was the first programmer in a sense that she wrote a first program for the B's computer or that she was a first programmer or tester in a sense that she found out the first bu ever in the world of computering in some of the babes programs and so on however as I was trying to uh get some uh real information about adala BL I think that most of these are just stories that are not true they are just to uh just to show that a woman in computer science did something interesting at the beginning which is a sort of a shame because she did something much more interesting than this one because like something like 10 years after this she wrote a very interesting paper where she uh where she sort of uh uh extended the B's idea because why actually Charles bich invented this computer to work with numbers to help simplify work of of a mathematician so compute equations and so on and when when he was thinking about practical applications well the practical application was so in real life where you work with the numbers you can use this computer so this was a victory in England so you have to pay taxes so the idea for real life application is that you can you can put this computer on a field write a program to compute taxes uh according to the current laws and then the Lords can go there put their incomes into the computer as input and will and will compute the taxes and output and they will know how how much to taxes to pay to the queen okay so and this was the idea that it works just in areas where numbers are needed and now ad of L comes in and she has a still 19th century never ever before that heard about computers she came with an idea that what if we take a piece of text and take every letter and assign a number to every of this letter then we can translate the sequence of letters to sequence of numbers and we can provide the sequence of numbers to the B's computer and now the computer still able to work only with the numbers sort of transitively works with the text and it will result once again another sequence of numbers and we can manually like translate this back to the using the same encoding scheme back to the text so now it works on the level of text also she had an idea what about to take a picture and describe the picture in a sequence quence of numbers and then give these numbers uh to the to the B's computer now the computer works still with numbers but actually processes the image or what if we take a song and take the notes and every note encode as a number and now we take the sequence of the numbers and give it to B's computer it still works only with numbers but transitively it works with the song and it can generate new songs and this is the genius idea for a LS uh because like really this is how we use computers today that it's sufficient that our computers work internally just by numbers and we can recode any other multimedia information into the sequence of numbers and this is such a genius idea that will actually base I will base our course on that so our final goal of this course is to get understanding how information or general different type of data like textual data graphical data some data represented in the computer comp but we will simplify that and start with understanding how to represent numbers in computers okay because then we by the idea of AD we can uh any of this encode in a sequence of numbers and if you already have a computer that works with numbers it can work in this sense with any other data that we have but still actually General real numbers are too complex actually what we can come up that we can simplify this idea further and we can get only integer numbers integer numbers so and uh we will see that if we have support for integer numbers we can somehow encode any other number in the sequence of integer numbers as well so we can further do the simplification and what you will see later that actually one additional simplification can be done that sufficient is only non- negative numbers okay so uh if we start how to represent non- negative numbers of computers and design computers around that that they are able to compute store only no negative numbers we will see later that we can actually use this to represent any integer numbers even the negative ones and then we can use use this to represent actually any number even the real ones and then we can use these to represent any other data like textual or graphical data and so on okay so we'll start with this simple scenario so now and also what might be sort of a uh uh simple how to think about that is now how to store these numbers in the in the in the memories however actually it's a bit more complicated than thinking about how the numbers are transferred between these different components okay so let's start uh with the communication lines so how to transmit a non- negative number in non negative integer number uh throughout some uh throughout some communication line and of course now today we will be talking about uh computers based on electricity so let's think about how to transmit using electricity numbers so we will have some wire and uh and uh transmit the numbers via this so which number so let's take for example we' like to represent numbers from zero so 0 one so still integer numbers to 1 million 1 million and uh now we have a VRE and we have have to we need to come up with some uh Electrical uh unit that will use to represent these numbers so obvious choice here is to use voltage and how to map this so direct mapping is the simplest one so we can use zero volts to uh represent value of zero one volts to represent the value of one and so on and so forth up to 1 million volts uh to represent value of 1 million which would theoretically work however it's a bit impractical because commonly you do not have in your pockets a source of million volts probably you understand that that the voltages are much more lower there and so in order to create this number and send it to the other part of computer you would have to go outside and wait for thunderstorm until it uh uh it stengths you and you get this nice voltage and so it's a disadvantage that you have to wait for the Thunder thunderstorm although it will probably kill you as well so another disadvantage so uh rather not a good way to represent numbers uh in this way in the computer so let's think about some more realistic voltages so let's say that we will sort of uh shrink shrinking this range and map it still linear but to the smaller range of voltages so let's say that here we will start still with uh Z Volts for zero but the maximum value that we would like to transmit map it to some reasonable voltage a nice computer science voltage that is very commonly used is 5 volts so now zero is represented by five uh 0 volts uh 1 million is represented by 5 volts and any number in between is represented linearly by the voltages in this range so for example 500,000 will be represented by a voltage of 2 and half uh 2 and half volts okay so now this seems nice so uh now let's look how it works uh in reality so I will draw a graph here where uh here this AIS represents the length of the wire so from the transmitter to the receiver so here is the transmitter transmitter here is uh here on this entty receiver of the information and now our goal is to from one side of the computer from one component over this communication line uh composed of a single wire to transmit some number in this range so we will provide some voltage here on the transmitter transmitter uh transmitter level okay so here is the voltage so if you would like to transmit a uh value of uh value of zero so we will connect here uh zero volts if you'd like to uh transmit their value of 1 million so we will connect there uh the uh value of uh 5 volts if You' like to transmit the 500,000 it we will connect here the 2 and half volts on the transmitter side and now so what this represents is the length of the wire so and the idea is that the simplistic idea is that so that now if we connect five volts you will get the five volts on the receiver's end if you connect that to and half points we get that on the receivers end if we connect that zero points we will get there as well okay so this is this would be nice however unfortunately the universe does not work in this way uh because any realistic wire has some nonzero resistance which means that uh uh during the wire uh the and also the resistance depends on the length of the wire so uh longer the wire the higher the resistance and higher the resistance lower the voltage okay so the voltage lowers uh on the length of the wire so uh if we transmit here uh 5 volts actually it will gradually get down and we will get some other lower voltage on the other end and in the in the similar way in in this here and this cannot get lower so it will be still uh still zero so this is the first problem of this that uh we actually if you use the same mapping on the receiver's end as on the transmitter's end you will get here something like uh n uh four 4.9 4.8 volts which would map to a different number than the million that we are trying to send okay obviously this seems to have a simple solution we will simply measure the length of the wire in the computer and uh recalculate how to do it on the other other side unfortunately physics uh is a bit problematic and then that is there are several points first of all the resistance of the wire does not depend only on the length of the wire but on the temperature as well so higher the temperature the higher the resistance because the temperature is how fast the uh the particles the atoms the electrons inside are moving uh and so if they are moving very fast it's a much higher probability that as the electron of the electricity flows it will hit some of the atoms and get stopped to it so this is the resistance on the other hand when the temperature is lower and lower the resistance gets uh lower as well because if you have a very low res very low temperature then everything is standing still inside the wire and electrons can simply swoosh around these atoms and not get blocked so it's a low resistance so high voltage so now we have a problem that we need to somehow also precisely measure the temperature of every communication line and all all everywhere along the communication line precisely to get this calculation correct unfortunately it gets even more complicated because like flowing electricity changes the temperature because the flowing electricity are the electrons that bumps into the atoms and as they bump into the atoms they give the energy to the atoms that starts to move quickly this is increasing of the temperature so we need to somehow measure this as well so it's now getting very uh very complicated so this is one very uh important problem that we are not able to Simply and precisely uh come up with a with a measurement that will gives us the specific Delta that we should at our uh subtract here to get the correct uh correct result however it's not full problem another problem is that probably you know from from uh high school that any electric wire works as an anena so if you are sending changing data you would be sending more numbers after each other then it's a variable signal and every such antenna work every such wire works as an Anna and transmits these electromagnetic waves to its surroundings and on the other hand if you have a wire and there is a changing electromagnetic waves around it it works in receiving anthena so it uh so it generates a voltage on The Wire so different communication lines in the computer sort of generate a noise that adds to the other wires there as well so for example here if you have that computer like really what it happens it transmits everything that is going on it transmit here around however it's typically not such a problem because it's like uh edit all of these noises together so we cannot get the information what uh what you are uh seeing on your screen but the information is somehow there in the noise and it's uh generating noise in the in the computer or phone on the uh that sits uh before that so this is one problem however even if we put our computers on an isolated island single computer on isolated island there is a still lot of noise from Universe exploding supern and so on so uh that you probably if you uh if you saw a classic analog TV uh if you have no channel uh Channel dial like there should be like no signal so black screen however what you will actually get is something like that and this is the noise so this is what the anthena accumulates all of the electronic noise from civilization from the universe and it's a lot of data random data but still some some some some values some voltages that are accumulated to it okay so and and this is uh so and this is problematic that actually how the signal looks like it looks something like that as the noise gets accumulated to it uh it gets something like that okay so we actually cannot tell definitely what will be the resulting value because it has so many variables only depends to especially the random noise that we can measure the size of the noise we can say that there is some safe area around that so that for example here if you have this let's say 5 Z volts then there is this safe area that the uh safe area that the noise will be always in some specific location in these in these boundaries but we cannot tell anything more just the boundary okay so now if you're using this type of a transfer which is actually a analog transfer analog transfer where we use the uh physical value like the voltage directly to represent the number uh well we cannot know the numbers precisely there will be always some error in on the receiver's end however this is a problematic for design of computers because we uh usually want computers to work deterministically so if you run the same program repeatedly it should on the same data it should give the same result however if you use analog transfers to do this the results will be always a bit different because we will always receive a bit different a bit different value and so where is the key problem in this scenario and how to how to use to solve it is that uh really there is a lot of these values that we'd like to represent so for example if you'd like to try to represent value uh value of uh nine uh 99,999 uh and so represent what's the voltage representing that so it will be something like 4 uh 4 uh 99 999 5 volts so uh the transmitter can generate that voltage here uh maybe I'll use a different color for that so the transmitter can generate the voltage here and so here is the idle level of the voltage however the problem is that if we have some this safe French uh where the noise stays like uh if it's some Delta around this around this so there will be the same Delta around this as well and now the problem is that these two ranges overlap the green one and and the and the purple one so now if we get a value that uh we measur this value we do not know whether it's in precise green value or whether it's in precise purple value it can be both okay and so now this is the problem so how to solve it we can still say we can like minimize the noise so we can get smaller these ranges how are we can never get rid of that so there will be never zero range there will be always some range around that and it's harder to get smaller and smaller ranges so it's not the ideal approach but the other thing is what if we uh minimize the amount of these ranges okay so if you look for example here if you receive uh this value here and we got uh take into account only this upper green range we can definitely say that it does not represent the values zero because it's outside of this bottom green range and the same side if we get this value we can definitely say that it's not this value the five volts uh originally because it's outside outside of this range so and now it works because we have these two ranges do not overlap so the solution to this is that not to send any number that an amount of numbers uh in one in one uh in one transmission that we think think of but we uh minimize the amount of numbers and the simplest amount of numbers that we can get is two numbers so that we can simplify it further so we will not solve it the computers for sending any non- negative integer numbers but just any uh non negative integer numbers that are either zero or one so if you choose if weing just these two then we can simplify the scenario that we can really assign still one word voltage in the same sense as here so we'll assign uh for example and this is just an example for example 0 Volts for zero uh 5 volts uh to one but now uh it works nicely that if I uh write sorry draw uh the same diagram here the length of the wire here the voltage so uh now if I would like to send uh send the value of one so this is the interpretation well of one I will put that voltage of 5 volts and there there will be definitely some noise there we'll get something like that on the other end if I'd like to send a value of zero so I'll put there uh Zer volts I will definitely get some noise there but now as I know that I have only two values I'm not interesting in the absolute value of the voltage I'm measuring what I can do is simply put there a boundary and say well everything above that boundary I will here represent uh interpret as one and everything below that boundary I will simply represent represent a zero and I will get these like big uh ranges of uncertainity that uh the noise can get without uh getting the values wrong of course still if the noise exceeds the expectations I can get the incorrect value so here if the noise is somewhere too big around the wire I get this one then I was trying to send one and the result will be interpreted as zero or vice versa uh if here I'm trying to send zero and the noise will get too high and will get this one I will misinterpret it as one so this can still happen however uh like it gives me much more space so that I can for real life scenario measure the amount of noise and be confident enough if I choose these voltages and this boundary reasonably according to the measurement of the real life noise that in most common cases there will be no errors and always the value will be interpreted correctly okay so and now what we uh invented sort of is something called a digital transfer uh digital transfer uh in a sense that we are transmitting uh digits with digits we are still transmitting to numbers zero and one but actually these two numbers can be viewed as a digits in binary system so as one digit of a binary system and we usually call this uh you probably know that uh that you we usually call this one bit uh which is an abbrevation from binary digit and uh what is important that if you would like to really Abate the bit further it's abbreviated as a small B it's important because capital b means something else we'll get to it so small B is the correct one so and now this is the digital transfer where we are only the discrete amount of values and small amount of values that we uh are trying to trying to interpret and while like this approach directly with this one boundary might be possible it's a bit problematic that now it g or it has advantage that it it gets space to the transmitter not to be not to necessarily be able to generate precise sending voltage as well so there is some wiggle room here as well however how close it can get here so that the no noise does not get there so usually uh what we do is is that we Define rather such an area and we provide two voltages and now everything above that upper voltage is interpreted as one everything below that lower voltage is interpreted at zero and this should never happen Okay so the whole communication line the whole system should uh work in a sense that always voltages for one remain at the end of this above this and voltages representing zero always below this just an example for example if the basic voltage is 0 and 5 volts commonly used example and this is something that you do not have to remember once again it differs in different communication lines but a real life example is for example 1 and a half Volts for the upper boundary and 0.8 volts from the for the lower boundary and of course there might be question what if really the noise gets too big than bigger than expected and we got in this range then usually it's not defined so typically the re like interpreted randomly as zero and one okay so if the noise gets in this in this range we got instead of one random value Z or one if the noise is even higher and it gets below the bottom boundary we misinterpreted value from one deterministically to uh to zero so there is still some uh some option of problems and it's important to uh to think about that okay so this is the basic understanding of the digital transfer and how data are typically transmitted between components uh in computer and notice here a very important point is that these two numbers and or these numbers we cannot tell it from The Wire itself or even from the data itself if you're here on the receiving end are getting some voltage we do not know these values so this is very important that both the transmitter and the receiver needs to beforehand agree on the on agree on these numbers okay so both sides of the communication both manufacturer has to agree on the same numbers and only then it works an important point if they uh like disagree or think incorrectly what the other side thinks it will still do something okay so if the transmitter thinks that these are the correct values but the receiver thinks the correct values are here and here then all of the values will be mispred misinterpreted as zero or something like that okay so it's very important that from the communication line itself we cannot tell these numbers and uh this has to be defined uh defined beforehand okay so uh this is how uh digital uh digital transfer works and uh now uh we sort of simplified it too much we started with how to represent data and we finally arve to way how in computers represent any two numbers zero or one and that's it so this is a bit lame computer if he can represent only these two types of information and nothing more so let's try to get a bit back uh to representing no negative numbers if the physical layer is actually able to transmit zero and one so we can simply transmit sequence of these zeros and ones okay so we can transmit for example uh one z uh one one and now uh now what to do with these well these are digits in binary system so sequence of digits is a binary number so we can interpret it somehow as a binary number and we get to it later today but uh let's not skip ahead of ourselves but think just how to send the sequence of these uh of these numbers well the the solution very simple we can do something called a Serial uh serial uh digital uh digital transfer and that is we will simply send the data one after each other okay and uh we we call this serial transfer because most commonly we are talking about digital transfer on computer we typically do not say it explicitly so if we say just serial transfer we mean implicitly that it's a digital transfer so now how it will work I will draw a different different picture and now very important Point know that this picture will be structured differently here is still voltage but here is not the length of the wire but here is time okay and all of these all of this picture is from the receiver's end okay so uh we know the transmitter wants to send the data but we are looking only at the end of the wire on the transmitter and we are see how the voltage changes during the time and now we Al also know that there is this noise and let's say that we will use the same notation here so that we will use uh we will use uh 5 volts uh 5 volts to uh represent one and uh 0 volts to uh represent represent Z okay so now if the transmitter wants to send one it will generate 5 volts and on the receiver's end we will you see something like that including the including the noise and now the transmitter wants to send zero but what happens the idea might be is that it immediately drops to zero but some noise will be added to there however uh the real once again real wires do not have only the resistance uh but also resistance to change okay so there are there are uh they Works sort of as a capacitors which capacitors are sort of simplified view on that it's sort of a batteries so when there is a voltage the wire is sort of charged to that voltage and when we change the voltage like it sort of this the wire discharges into itself and uh do not does not want to make the change okay so actually including the noise it will take some time definitely non zero time for the signal to drop to the new voltage so and now we are still transmitting the zero voltage so it R something like that and now at this moment the transmitter decides okay i' would like to send now one so it will now connect once again the 5 volts to the wire but once again as it works as a battery uh it doesn't want to change uh directly the voltage but it sort of charges itself with the voltage so once again the uh uh immediate change on the transmitter side on the rece side it will take some time to get to that voltage because uh it takes some time non zero time for the wire to charge to the final voltage and then it transmits it so we will transmit it and then uh the transmitter will directly transmit the second one so we will see on the receiver's end continues to see something like that okay so this is the signal that we are seeing on the receiver's end however the noise is random and it's actually not important for us in your realiz situation in a sense it's important to know that the noise is there and if it's too much it can lead to misinterpretation of the value but if we think about the common scenario where all of the values are interpreted correctly just the interpretation of the values are important for us okay so we commonly do not draw this white line but rather such a line that I show it here on the on the yellow so this is the interpretation for this amount of time we are interpreting the value on the receiver's end as one now I will put here some Gap and draw here that now definitely for this time it's below this bottom boundary here so we interpret it as interpret it as zero and here after that we definitely interpret it as one and definitely interpret it as one as well and so these drawings are called uh timing diagrams timing diagrams however an important Point sometimes or some people in some literature when we are drawing the timing diagrams there are straight lines down there so that really we interpreted as one and then directly interpret it as zero however it might be very important in some scenarios to understand that there is some problematic region of time that we are not able to interpret the value correctly because here it's somewhere in between and also go through this region so there will be some point in time where the interpretation will randomly switch between zero and one until it stabilizes on the final final value okay so in the timing diagram very commonly we uh draw these like non straight lines or or nonvertical lines to explicitly state that we understand that there is this nonzero time that it takes the value to stabilize okay and we that we should actually measure the value the interpreted value only in between these and not in these in these parts between the different bits that are that we are trying to transmit Okay so uh this is uh how we will how we can transmit any no negative number that we will encode it and we will see it a bit later as a binary number and uh send the uh binary digits as a sequence of these bits however before we get to that uh let's roll back a bit to the physics part and let's think about a bit how actually the measurement of the voltage is done on the receivers uh receiver's end to get the correct interpretation so now let's look how such a communication line looks looks like so we now have here once again the uh transmitters and transmitter transmitters and and it needs to generate these two voltages so it will work something like a battery like a battery so here having the 5 volts and0 volts and uh now uh the battery connects somewhere and here is the actual communication line the wire that goes between these two components actually the transmitter is here in this sense the transmitter will be here and here is the receiver and uh now the transmitter here is a switch that switches whether 5 volts or Zer volts is connected to the wire of course there will not be a physical switch with the dwarf touching the switch and switching the voltages it will be some electronic device that uh switches these two and of course there will real real battery uh but there can be some simply some source of voltage and so so now now on the receiver's end uh receiver uh receiver's end well we need to somehow measure the voltage and how it will be measured so there will be some sort of a voltmeter once again there will not be a physical voltmeter uh with a needle and Warf looking on that needle uh what what does it mean but for Simplicity I will draw it here in this sense that we have some voltmeter some range here and uh here's some needle that measures the voltage okay so now uh if we think about it in this way if we change it here from Z volts to 5 volts and so on what number will be displayed here on the voltmeter what might be a bit surprising that for all of the options how we are switching the switch there will be always zero displayed here okay why why there will be no voltage measured actually because this might seem like something unimportant when you hear it beforehand on High School uh High School physics but voltage is not absolute uh absolute value but it's a relative value you have to have two different points in the electrical circuit uh and uh there have some potential and voltage is measurement of the difference of the potential between these two places okay we are now measuring trying to measure voltage on one place which doesn't make sense because voltage is always defined on two places so actually the zero that is displayed on the voltmeter does not say that we measured zero volts but actually it says that we measured no voltage at all however it's not able to differentiate the the zero zero volts from nothing at all okay so it measures nothing so we need to get second point in the circuit so how to do it so the idea might be okay so let's put here a different battery here uh with the Z volts here and five volts and now we have two points and now measuring the voltage and now if we try it it still will say just say uh zero why because now we are measuring two points in in the in in the electrical circuit however it's important to understand how realistically we can measure voltage the voltmeter actually inside is a huge resistance and it works only if some current is flowing through that and current is Flowing only in closed circuits in in in uh in the electrical circuit so we need to get a closed circuit that goes through this and goes through this voltmeter okay so this does not work either and we need need to so we definitely need two wires going from the transmitter to the receiver first there will be the actual data wire that will represent the actual value of the data but we need another wire that we will use the as the basis for the measurement as the common wire for the measurement so that will be here and on the transmitter it's usually connected to the lower of the voltages but uh it can can be connected to higher as well and definitely uh we call this a uh ground wire uh ground wire or g& D or high Z high impedence wire and now finally when we are measuring this then we are measuring difference between this point and this point in the circuit so we get here five Vols if it's connected here we are measuring between this point and this point and we got uh we got uh volts because we are measuring it uh with that okay so this is very important point that the communication line has to have at least two wires one ground for the reference voltage and second data wire to actually change change the value and so so this is the simplest way how to uh how to design the circuit however we can do it a bit differently uh and it might be interesting that we can actually create uh two data wires not one data wire but two data wire so wire let's say data one uh data one this is one wire and second wire data two uh data two H sorry uh data 2 and now the transmitter will still generate the values for on and zero on on the data wirus but it will generate them on on both wires in a in a very specific uh very specific way and that is now once again I draw an image where still here is time here is voltage and now I would like to transmit once again one Z One Z One 0 and I will sorry one one and now I on the same image I will draw both state of both wires and now on the data one wire what the transmitter will generate exactly the same thing that we will generate on this if we have a single data wire uh it will generate the same data there so if we generate one it will provide there five volts if we want to send zero it will generate there zero volts if we would like to send one it will generate there 5 volts one again 5 volts okay so this is exactly the same so the data on one of the data wires are generated in the same way as before however now the transmitter on the data two wire sends exactly the opposite type of data so whenever it actually wants to send one it will generate on the blue wire on the data two voltage that represents zero when you want to send zero it will generate on the blue wire value that represents the opposite value the voltage that represents value of one okay so we would like to send one so we will send something that represents value of zero so this is z volts now we would like to send zero so we will send voltage that represents value of one the opposite one so five volts and now once again we would like to send one so on this way we will send the opposite value so voltage representing value of zero and here for this one once again value of zero and now uh actually the uh the this is how the transmitter generates the data but now the receiver actually does not need the reference ground wire it can use only these two data wires so we still get two wires from the one end to the other but now they have different meaning one is before one was Data one was reference ground now one is data and second is data as well and now what we can do we can measure difference between these two wires not with the reference ground but between these two wires and we need to set up constant way how to uh compute the difference so for example we might choose that we will always compute on the receiver's end data 1 minus data 2 uh data two and this will be always done on the receiver's end so now if in this place we take value of uh data data 1 and value of data 2 so this is 5 volts minus 0 volts is five so the result is positive number now if we still take this equation so still take uh voltage on red wire so 0 volts minus 5 volts we got minus5 which is a negative value and once again here we take still the red wire so 5 volts minus 0 volts is five so positive value and in the the same way the positive value okay so now it the bits will be on the receiver's end the bits will be defined differently uh that uh whenever we see a value that is greater than zero it will be interpreted between these two wires uh uh greater than zero volts it will be interpreted as interpreted as one and whether we whenever we say value less than Z volts it will be so the negative value it will be interpreted interpreted as zero and now we created something called a differential transfer and it's an alternative to this basic transfer as it's using still two wires but with a different uh different meaning of course actually uh like in the similar way as here we want some boundary for the uncertainty very commonly we Define it here as well like sort of around the zero of these differences so actually we Define some Epsilon and if it's like greater than the Epsilon it's interpreted as one and if it's smaller than minus Epsilon it's interpreted as zero and if it's between uh between uh between uh minus Epsilon and Epsilon then this is this region if the difference is too small then it's wrong and this should never happen and we can randomly interpret it so and uh why to do this in this way because uh it's more resilient to the noise because if we still using the five voltage upper boundary you can see here that for this first more simpler variant to implement uh what we have is these ranges something like less than half of the of the range is the amount of noise that we can get however here the absolute value 5 Vols is the same and this is the amount of the of the noise so it's almost twice as much noise we can get to transmit the data correctly and not misinterpreted okay so this is why very commonly uh today uh the differential transfer is used and also there is one additional Advantage is that if you have this differential pair this that this line is uh designed using these two data wires uh then if there is some noise on some specific Place uh well it will be the same uh very close around it as well so if the noise here is added actual noise is added to one of these data virus the the second wire uh leads very closely to that first one and only between these two devices so the same noise almost the same noise will be added to as well so the difference the Delta will still the same uh same as well almost okay so this is another point of the resilience to the noise and uh that this is uh really something uh really something real we can you we can see you probably uh sometimes saw a uh USB device uh like USB mouse and uh if you look in the connector of the USB uh it will look something like this that these are these four pins there actually there are some additional pins behind that on more modern connectors but this is something like version two and still the device communicates via the frontal pins and only if it uh during the communication uh decides with the other device it can switch to more advanced version of the communication switches to the uh backside pins okay so this is still the basic and what what is interesting that USB what it stands for it's a universal uh Universal a universal serial uh serial bus uh where bus is an important word in computer science and it does not it does definitely not mean the transport vehicle the bus but a type of a communication line okay and which type of communication line we will talk about it a bit a bit later but uh definitely it's nothing to to do with uh actual actual buses uh buses in real life and but if you look on this connector so how it looks like that these two internal internal Wes here are the data one and data two so really one differential pair is using to transmit the data between the two devices on the both ends of the USB uh so this is uh really something real life and actually the five five volts is used there use there as well as the basic voltage however if you look on the specification you might find out that uh these others are five volts and surprisingly there is the wire called Ground looks like this one so it seems that somehow the ground is needed there but it's important to understand that the ground is not actually used for the transmission so the transmission is really just these two data wires and the ground is not used for it at all however the ground is used together with these 5 volts to power the device so that the mouse doesn't have to be connected to to socket on wall or have batteries inside of that so these two will be used to power the device and when it's powered up only these two wires and measurement of the voltage between these two wires are used to uh to uh sense the actual communication okay so these are uh really that uh it's something real life and uh there are different approaches how to actually transmit these data and now uh let's finally uh look and uh how to interpret these data uh as uh some interesting numbers so uh let's let's take uh this number uh let's take this number one 0 1 1 and interpret it as a integer number so number in binary system and uh you probably know that in any system every digit is has a value of uh the specific power of that base of the system so in decimal system every digit has a power of 10 and in binary system every digit has a power of two uh value of power of two okay so this has power of uh uh value of zero power of two first power of two second power of two and uh third power of two which uh this equals uh this equals to uh value of one uh this equals to value of two value of four uh value of eight so and now if you have this number in a binary system how we will interpret it in decimal system well uh we will take each of these digits and multiply them by by their value so we'll take the one uh multiplied by thir Power of Two plus 0 * by the second power of two + 1 * by the first Power of 2 plus 1 multiplied by the 0 power of 2 so and this equals 1 * 8 + uh 0 * 4 + uh 1 * 2 + 1 * uh 1 * 1 which equals uh 8 + 2 + 1 which equals 11 in decimal system so this seems like it that uh this is what uh the transmitter when it was sending us one11 that the value what was meant by that was value of 11 however is it really true uh if you have these powers of two when we receive these values in this order should we put them in this order here or shouldn't we put it in this order here shouldn't we put it like the first one received here then the second received third received and fourth fourth received if you try to do it what does this represent so this is one one times uh third power of two + 1 * uh second power of two plus 0 times uh first power of two + 1's uh Z power of two uh which equals 1 * 8 + 1 * 4 + 0 * 2 + uh 1 * 1 which = 8 + 4 + 1 which equals 13 in decimal system which is unfortunately different value so the order depends uh so the the order is important and the resulting interpretation depends on how we will uh on in which order we will interpret that so it's important to define the order and for that we normally uh like name some of the bits of these numbers uh and we always the the digit that has the lowest power of two so normally the zero power of two we will call this uh least significant bit uh least uh significant uh significant bit I and we will uh shorten it to uh LS small small B it's important because LS capital B is something as well and something different unfortunately there is one typical problem in computer science that this is the correct convention however many people do not know the convention and come up with their own convention so very commonly you can find LS capital B not with the correct meaning but with the meaning of least significant bit okay so we need to know from the context whether it's written incorrectly and this is meant by that or whether it means something else but we will we should try to write it as precisely as possible so I will always write it as LS small B and you you should as well if you mean least least significant bit if we mean something else that we'll learn in the further of the lectures then only and then we should use the capital B so this is that and also what is important that here we are trying to interpret in general some and bit number n bit number in binary system and so always there is this highest power of two that is represented in the number so and this is always the N minus one's power of two okay so here if you have a four bit number actually so the third uh is the n 4 minus one and so this bit with the highest power of two that is represented in the number specific we will call it a most significant bit or Ms small B so this is most uh significant bit and now when we would like to Define when we are sending serially sequence of bits of some n bit number we need to define something called a bit order bit order and we will simply say which bit is sent first Over The Line This is the convention so if he if this sequence as as the time uh time goes if this sequence of one then zero then later one then later one should be interpret as this number then obviously what we sent first was the most significant bit so then this is called the uh MSB first order if the same sequence of bits sent in the same order one 1 one should be interpreted in the bottom way here then what we sent first US is this one the least significant bit so then this we will call this least significant bit first order or LSB first okay okay so and now uh let's see very important Point as with these voltages uh the bit order cannot we cannot tell the bit over from the data okay because this data can be always represented as least significant bit first or most significant bit first bit order so once again this is something that the both transmitter and receiver have to agree on before they are built so that they are the one side is sending in one bit order and the receiver's end is interpret the data in exactly the same in exactly the same bit order okay so this is uh this is very important and uh so uh as you can see it would be very common for us to work with binary digits uh sorry binary numbers it in binary system and it's very important to be able to use quickly these powers of two and uh for that also it's very important to very vly spot what is power of two and what not so it's very good idea and one so this is is one of these exceptions once again something that you should remember and remember very quickly for the following lectures so that if we see the most common power of two we see that and know that it's power of two so the most basic ones that you should remember by memory is that one to uh 4 8 uh 8 16 uh which is this is the fourth power of two uh 32 64 128 256 it's a good to know that this is the e8th power of two then 512 1,24 which is 10th power of two uh 10th power of two then uh 248 uh 4,096 good to know that this is the 12 power 12 power of two 8,192 so these are the most basic ones however few uh powers of J that you will very commonly see as well is the Val value of 65,536 which is uh which is uh 16th power of two and then it's good to know that roughly the 1 million is the 20th power of two and then roughly uh 16 million and 7 77 700,000 roughly that value is the 24th power of two and then roughly 4 billion and2 million uh is the 302nd power of two okay so this is the most basic power of two that you should definitely uh remember and when you see them you should know which power of two it is uh and we will see these numbers very commonly uh very commonly and uh before we end and sort of as a spoiler for the next lecture we'll be talking about a bit more maybe you realized here uh I will take the images of the Blackboard and send you the pictures uh pictures via email so uh if you look on this so might get idea how actually we know that these are two ones what if it's a single long one how we differentiate that there was two ones or or one one so we need to somehow Define that and the simplest approach to that is to define a fixed size bit uh fixed uh size size bit in in in a sense that we will Define some Delta time how long the bit takes and it should be constant obviously so the it does not work me for this image but it should be constant so there is Delta here there is the same Delta here same Delta here and same Delta here okay so it will be defined by this Delta time however like uh for real life transfers it will be quite smaller fraction of a second so usually what we Define this not by the actual time of the bait by but by a transfer speed uh transfer speed uh which ideally would be defined in a bits per second uh or BPS however usually we do not use this unit rather we use a unit called B which is a bit different it's a symbols per second uh symbols per second and uh in this in this lecture it's sort of the same the symbols that we are transmitting are the bits so the transfer rate in board and bits per second is the same but we will see in some of the later lectures that actually it might differ that there will be some additional data sent additional symbol sent that will be not not used as a useful bits and then the transfer rate in bits per second will be lower than than the than uh lower than the B okay so now if if we say that uh the transfer rate is for example 1,000 B we can simply get the Delta the length that the Delta is then 1 over 1,00 1,000 second and now if we think that sort of the universe started here so we do not still do not know how to start the communication this will be once again topic of the following colures so let's say that here Universe started and uh the transmitter generates this length of the bits and the receiver looks on these specific moments however which moments precisely it's not good idea to look at the end of these intervals because if we look on the end of the intervals we be looking on these problematic moments so we rather split the intervals in half and between these halves we got still Delta time so if you look on the in the half of the interval here the this is the most realistic value that we will get the most stable interpretation and then the receiver will simply tick and wait for exactly the Delta time and if it looks after the Delta time once again it sees the second bait after once again Delta time it sees this next bit and so on and so forth okay but however note that once again and from that we will know that now if you look for the third time we see one if you look for the fourth time we see once again so this this has to the second one that or next one that is being sent and not one long one however once again important to note that the Delta cannot be told from the data okay so if for example the transmitter is using this Delta and the receiver thinks that the Delta is a half so the transfer rate is is twice twice as big it will look twice as often on these intervals and it will correctly receive some data but not the data that the transmitter was sending it will every bit will be received twice and some bits will be some sometime somehow random because it will it will be put in these in in between places okay so once again this is one way how to go how to define the actual transfer that the there is a fixed bitth of the length but once again as for the previous things as the bit order and the voltages and the interpretation has to be defined by the transmitter and receiver and we cannot tell it from the actual data actual data themselves and that is all for today's if there are are there any questions regarding anything if not so then uh it's all for today and I will send you the video recordings uh you can go uh through the self assessment assignments that will I will send you email when they are ready and uh then see you next time