• Safe and secure

  • Quick and easy

  • web-based solution

  • 24/7 Customer Service

Rate form

4.7 Statisfied

895 votes

To Fill In Cpp 1 2018 2019 Form , Follow the Steps Below:

Fill Out your Cpp 1 2018 2019 Form online is easy and straightforward by using CocoSign . You can simply get the form here and then write the details in the fillable fields. Follow the points given below to complete the document.

Fill out the free-to-edit parts

Personalize the form using our tool

Forward the completed form

  1. Seek the right document that you need.
  2. Tick the "Get Form" icon to get your file.
  3. Look up the whole form to know what you need to draw up.
  4. Enter the information in the free-to-edit parts.
  5. Double check the important information to make sure they are correct.
  6. Click on the Sign Tool to produce your own online signature.
  7. Leave your signature at the end of the form and press the "Done" button.
  8. Now your contract is ready to print, download, and share.
  9. If you have any queries regarding this, don't hesitate to contact our support team.

With the help of our e-Signature solution , you are able to get your document edited, signed, and downloaded quickly. All you have to do is to follow the above process.

Thousands of companies love CocoSign

Create this form in 5 minutes or less
Fill & Sign the Form

Hand-in-Hand Teaching Guide to draw up Cpp 1 2018 2019 Form

youtube video

How Do You Get Cpp 1 2018 2019 Form and Sign It Instantly?

we stopped on on compiling our first.program the hello world well maybe not.for everybody first but first in this.course and we saw that it gets.relatively easy so now we can deep dive.into the C++ and what we can do in C++.and how to do stuff and we start with.variables so if as you said you kind of.know Java so you probably are very.familiar with this part.there should be no relevance here it's.just like you you you have your type for.like it's a strongly typed language so.you have a type for every variable and.every variable can have only one type.and it's defined with this type so first.you type some type for instance like an.integer and then you give a name of the.of the variable and the the only.difference I guess to Java here would be.that the variables are not automatically.initialized as as a general rule so try.to always have some initial.initialization for a variable because.it's very painful if you forget it so if.you have a habit of not initializing.your variables it can kind of strike you.back because a variable integer this one.can have any of any value because you.just say well it's going to be an.integer and it just takes some part of.memory and it interprets it as if it's.an int and usually it's a zero but not.always and these bugs are hard to catch.so kind of learn to always initialize.the variable to to a value it can be a.dummy value but just so that you know.which value it has but generally it's as.simple as that you just define a.variable of a specific type and you're.done.let's talk about naming yeah sure yeah.that is true that is a mistake that.should be a boolean or that should be a.zero I mean it will compile because as I.said C++ allows you to do everything but.this is a mistake don't do it so I will.change it in the slides that you get.from the granny campus that's a good.question.yeah there will be mistakes in this.lecture so I'm not like I'm I'm a human.I do mistakes if you spot anything.sketchy tell me like I'm happy to change.it I already changed the the PWD thing.from yesterday so I'm learning okay.naming naming is very very very.important there are like memes going.around internet that naming is the.hardest thing in programming ever and I.think we should treat it that way so we.shouldn't be scared of it but we should.approach naming really seriously because.a good name can tell a story so don't be.afraid to use a long name like don't use.names like a B C and so on because you.will come back to it and you will want.to kick yourself in the face because you.will not remember what they mean and.then you will have to read the whole.code again to understand what did you.mean there and if you just name them.correctly.you won't have that you will just look.at it okay well that's clear that's I.don't know this this variable contains.the weather in Bond for instance good.don't use negation in the name so don't.name your variables not something or.don't do like a boolean valuable don't.update value because then you will have.at some point to negate this value and.then in your brain you will have to do.double negation and so on and it's we.are humans we're thinking slowly it's.not really scaling well right so in this.lecture I will always name variables in.snake case it's commonly known as snake.case and it's also what Google style.suggests it doesn't really matter how.you make how you name them or what.concept you use this will not be.enforced in the course I.suggest you to use the same but the only.thing that I strongly suggest is to use.a consistent naming scheme if you have a.preference for a naming scheme use that.but just use the same one so don't.because it can lead to problems so if.you start one variable with a small.letter and another with a big letter you.can have a variable I don't know hello.and one will have a small letter and the.start the other will have a big letter.in the start and they will be different.values variables and you will be.confused because you will think that you.updated one that you updated both of.them somehow because you thought it's.one variable but you updated only one.and it can cause annoying errors so just.stick to one scheme of naming I suggest.snake case and just go with it.again so see both of us is.case-sensitive so this variable is.different from this variable and that's.why I just always named them in small.letters good yeah so longer names again.like a lot of people like that's a very.strong position somehow for many people.even for professional programmers some.people are afraid of long names because.they're hard to type and so on that's.why you need a good text editor like.good text editor will suggest you all.the names and you just need to press tab.and it will autocomplete it so use a.good editor it will solve the naming.issue for you okay now kind of back from.from this detour and back to the to the.types to the type system in C++ we'll.start with the basic ones and we're.gonna spice it up with the modern things.too so there are there is a bunch of.basic types like boolean character.integer short you probably know most of.them from Java they're kind of the same.so boolean just takes true or false.integer takes any number from zero to a.huge number I don't remember it from the.top of my head and then if you need a.bigger one it's a long if you need a.smaller one it's a short generally in.this course I guess for you it's going.to be until the opencv part is going to.be enough to just use like the typical.boolean integer float and.so on also their floating-point numbers.meaning their fractions it's a flawed.and double we will dig deeper into how.they're represented in memory but not.now for now you just have to remember.that they're just floating point types.good and the funny thing here is.probably this otter I think you haven't.seen that one before and unless you know.something about C++ it's a new addition.to C++ 11 and it kind of figures out.what the type is we're gonna be using a.lot in this course because it's it's.very reliable it does some like.sometimes it will generate an error that.is hard to catch but it's rare so I.think the benefits definitely outweigh.the the dangers of it and in this case.this thing will be evaluated to an.integer this thing will be evaluated to.a flawed because we put an F in the end.and this will be a double because there.is no F so whatever you don't explicitly.say it's a flawed it will be a double.that's it and if you're curious if you.if you really want to dig into more.details feel free to do it there's a.link just like when when you get the.slides just click on it and and read on.but there is a lot information there so.mmm I would do it a bit later if I were.you but it's important to know that.there is a CBP reference website where.there is all the information about.everything you want to know about C++.and you should use this website it's a.very good website it's kind of it's.encouraged to be used by big whales in.C++ so like the artist roster also tells.you to use that so don't be afraid of.doing that okay so there are so-called.arithmetic types these are anything that.has defined that has plus minus multiply.division and so on defined for them and.for now we know that there are like.character integer floating point we can.we can add them multiply them divide.them and so on I wouldn't.so again C++ is very permissive you can.probably use a weird operator on a we.type so if you divide one character by.another what will it be like if you.divide a by C what is the result I have.no idea probably is going to be zero in.this case but it's hard to tell so don't.do something that doesn't make sense in.the real world think about what you're.doing don't just do stuff it of course.makes sense to multiply and divide other.numbers like floating-point numbers or.integers and so on and it's it works.pretty much as you would expect so if.you if you put a plus between two.numbers it's gonna be a plus and and so.on you know that from Java also the.comparisons works it works exactly the.same there is a lesser greater less or.equal greater equal and just equals.equals is double equal sign again this.is more amount mostly for those people.who haven't worked in java it's just the.same and every operator of those of the.comparison operators return a bool so.you can use it later in in some so you.can assign it to to a bool value for.instance there are short hand operators.like + equals is actually like so a +.equals is a equals a plus one and the.same goes for most of the other.operators the only thing that is that is.very specific to C++ and the way it.handles floating-point numbers is.they're imprecise so there is always.some imprecision and if you if you have.say if you say float x equals 2 it can.actually be 1.999.and that's why try to avoid using equals.for floating-point numbers because it.might backfire it might actually you.would expect the number is the same but.it's not the same so use like greater.and so on with some epsilon around the.number if you need that just I think.important to note okay there are some.additional operation operations so for.boolean you can do or and/or bitwise.wait or or negation so for instance or.is I mean it's just the typical boolean.magic like the way it works all the time.so if you have a like a false and a true.it's gonna be a false if you have a.false or a true it's gonna be a true and.so on.there are tables for that if you can I.need to brush that up so for instance.like if I can be happy if I'm hungry if.I'm not hungry.like not hungry and warm or I'm rich for.instance it's just a small example to to.catch your attention alright integer.variables they're a bit different they.are so if you divide two integers it.will be an integer it won't be a.floating-point number it will not.convert it automatically if you want a.floating-point number you have to add.like a dot 0 for instance after after an.integers otherwise it's going to be.integer division so 7 divided by 3 is.going to be 2 because it like 3 is.within 7 only 2 times and it kind of for.beginners it causes a lot of mistakes so.when you when you divide one integer by.another always keep in mind that they're.integers and they will stay integers if.you want a flawed make sure you are.actually given it a flan the types will.be converted to the biggest type so if.you if I put here 7.0 it will all the.expression will be converted to double.okay there's also modulo division for.integers which is exactly I mean kind of.the opposite of the integer division so.7 by 3 is 1 because that's the all the.things that are left so it's the.remainder of the day of the operation so.it will be like the gates kind of 7.minus the minus this 2 by 3 if you can.think about it that way if that's.unclear we can do more examples on that.but it kind of should click and it's.useful in a lot of cases but it's not.like very very often used generally at.least from my perspective ok then there.are increment operation x' the a plus.plus and plus plus a generally they are.the same unless you're doing this which.will come later too.so what it does it just it's a shortcut.to writing a plus equals 1 and and.that's it the same works for - - there.are no other operations that do that do.the same thing so I will be using this.small guy over here that I stole from.the book code completes - bye bye Steve.McConnell it's actually a very good book.and just about general programming and.how to treat programming how to think.about programming I think it's a good.read for everybody but it's a big book.so if you want to invest some time in it.definitely worth it but no not a must.anyway this picture is stolen from here.and it will generally show you a bad.example so you don't you shouldn't do.the the thing where this guy appears and.you definitely shouldn't do something.like this because it's really hard to.guess what it will evaluate to because.these operations they have different.order of when they happen so for.instance this guy will first update.viii and then will return a value and.this one will first return a value and.then update a and it gets really.confusing and it's not really needed for.modern programming if you if you if you.find a person who writes this code punch.them in the face don't like don't don't.work with them and just explain them.that they're wrong like don't use this.at all.okay good.now let's come to strings so we can use.strings to represent any array of.characters basically so if I want to.type hello world that's my type and they.work pretty much they are part of the.standard in C++ there is a huge standard.library which we will talk about a lot.in this course and they are part of this.library and they are you can think about.them for now as part of the like of the.language even though they're part of a.library but they work pretty much like.any other variable for now and they work.out of the box was input output streams.so you can read into an int or you can.write into a string sorry.or you can write from a string to the.console it works pretty much as you.expect it to.also you can concatenate strings with a.plus operator so if you if you have like.a hello plus world is going to be hello.world together and this is just a small.example over here too to make sure that.everything runs and the important part.is you need to include string we are.kind of already familiar with these.includes and it's as it's in a bill it's.a built-in built-in system type so you.have this kind of angular brackets over.here and usually C++ knows where to find.it after that you can use this STD.string to hold like any variable of.string type which is which is.encapsulated in those quotes here and so.on the same with so this type you can.actually leave uninitialized but I would.still initialize it anyway just for the.sake of of building a habit and you can.see that you can concatenate a bunch of.them also was.implicit strings and so on so this will.be converted to a string automatically.and will be appended to this and so this.works pretty much out of the box good.now we can also have a collection of.items so it's not enough that we have.just one number or one string we want.maybe arrays of those numbers and there.is a it's actually a recent addition to.C++ which was a long time missing.it's called STD array and a basically.what it does it creates a fixed.collection of items if you have like.from the start of your program you need.a collection of three items for instance.like 1 2 & 3 in this example you just.create it from the start of the program.and it will never change and you can you.can go through it you can you can use it.any way but the the important part to.remember here is that you always define.it with the size so the size is given as.one of those parameters so before we saw.like only a type here now it's array of.floating-point numbers and the size of.this array is 3 it's extremely efficient.so it's very very very fast like all the.access is nearly zero overhead it's as.if you would have just written in the.code like float one float 2 4 3 and then.we'll access them it kind of like there.is no overhead of using that you can.access items by index and for those of.you who like MATLAB this is a real.program in language indexing starts at 0.like there is no one like so and it goes.up to size minus 1 so this is something.you have to get used to but again if you.have experience with Java you're gonna.be fine right the you can have the size.of the of the array like this so you.just ask it for size it's going to.return how many elements there there are.which is generally this 3 it's not very.useful for a race but we're going to.come later too.to where it is useful because this the.same method is defined for most of the.standard types like even string or array.and the ones that we will see further.you can also hmm actually I have to.check that I'm not sure you can do this.but okay let's pronounce keep that but.the important part is this so if you.want to have a first element or the last.element which is kind of a relatively.you need that relatively often there are.shortcuts for that I mean they're not.really shortcuts because it's actually.becomes longer but it's more readable.again so longer is better if it's more.readable and this is more readable.because it kind of tells you that it.will return you a front element or it.will return you a back element without.having to know what is the index that.you're passing into into it now the more.typical type that everybody is used to.in C++ is a vector it's kind of kind of.the main type of C++ like everybody uses.it's like there is no program in the.world that doesn't use vector I guess.and it's used exactly in the same way as.array but it doesn't have a fixed size.so it will grow and shrink upon adding.elements to it you can add elements at.any point of time and you can add as.many elements as you want as many as you.have memory to hold because the only.limit on the size of this vector is how.much memory your computer has that's it.so it can go insanely big and to those.who know some computer science it's a.dynamic table and that means that when.it so it starts with some time with some.size and then you add elements to it.when it reaches some some fill filling.factor so let's say it's filled by say.2/3 now it will actually copy all.elements into the new memory so it will.grow like it will get bigger and we will.we will talk about it a little bit but.it's just important to keep in mind.but generally you don't need to remember.it every day which were you using it so.the main part is that the elements are.accessed in the same way as in array you.can still use size you can use clear to.remove everything there are other.methods that you can also look up at CBP.reference this is a good page like it.has all the methods listed and with the.parameters that you can pass to them and.the difference to the to the array are.these two vectors it's pushed back and.in place back so push back is a.classical method like it's it has been.since C++.so the standard suppose was 0-3 standard.C++ it was there a long time it has been.changed into intrinsically in C++ 11 but.it does the same thing so you can just.add a value to the back of the vector.and this is used a lot I would suggest.you to to use in place back in C++ 11 so.it's historically better known push back.because it was there since ages but C++.has changed a bunch of things under the.hood and these two kind of do nearly the.same thing generally this will be more.efficient or at least as efficient as.the pushback so use that if you have a.preference of using push back use push.back not really important but I felt.it's important to to note that so in.case you see in place back don't get.scared it's kind of the same okay and.again I want to stress it it's a very.common type so people use it a lot and.you should use it a lot like it's a it's.a it's fast inflexible it will work for.you okay now I've talked a bit about.resizing and there is one important.thing that you have to remember if you.do a lot of push backs in in a row so if.you if you do a lot of them it will be.resized many times so if you have.vector an empty vector you will add like.one element to it it will resize itself.you will add another three it will.resize itself again you will add another.ten it will resize itself again and so.on and every resize costs you time.because every size means that the.processor has to copy over all the data.to a new vector and so on and you want.to generally avoid that because copying.memory is the important is the expensive.thing like this is what costs you time.so if you really want to make something.fast and you know approximately the size.like how many elements will you be.adding to a vector use reserve reserve.ensures that your that your vector will.be able to hold as many elements as you.need it doesn't change the size of the.vector it just tells that if you do this.many push backs it will not reallocate.memory that's it.so it doesn't cost you anything to add.one line so this one line if you don't.do it it will still work so the whole.code works even without that line but it.will be slower also n doesn't have to be.precise it can be approximate so if you.know it's gonna be approximate hundred.elements it's already really good.because you know at least there's going.to be like kind of hundred elements so.it will not resize many times maybe it.will resize one time good so let's.probably do like an a an example of this.thing maybe you will have some questions.to it so we have a vector and you can.initialize any vector of so let's say an.integer and I mean the names will be.really bad here because life coding is.not about naming really so this will.create a vector of two elements for.example now if I want to so let's say I.want to print I want to print something.so I need the a stream and.tip the front back.all right so now I have the this thing.and I can build it probably know this is.a really old coat of mine somewhere.the park yeah so if I if I don't provide.any name it will be a out I can also.provide a name here okay.so now it's one and two as expected this.is how it should be now if I want to add.something else to it I can just push.back like a three and it's gonna whoops.that was not intended I can build it.again and now it's gonna be 1 3 because.the last element is 3 as I told you the.compiler is generally smart so if you.try to add like a double instead it.should fail and it doesn't because.that's like that's what I'm saying why.C++ is kind of dangerous so it will do.stuff that you don't expect it to do.so now it converted automatically the.three point zero two to three which is.an integer and in this time it kind of.worked so it was three but if it would.be like two point nine nine nine nine.nine there is a chance that it would be.converted to it too and it beware so if.you put it three point one here it.actually come on it should come but.there is a warning at least right so.there is an important flag it's you can.remember it as wall but it's it's.actually minus W all and it's a flag.that that tells show us all the warnings.and now we have yeah right.this is a different error yeah we're.gonna come to that later I don't know.why doesn't link okay anyway there is a.warning for for this part because it.knows that it's a double.but it and it tries to convert it to an.integer but generally so at least like.if we if we type here like a string.which cannot be converted to a string.then this should yeah so now it gives us.a lot of errors and this is how the.errors look like when the compiler.doesn't know how to do something so.basically tells you that there is no.matching function for a call to push.back and reading errors in C++ is a.skill like you will you will get better.in it with time because sometimes it's.not like it would be really nice if it.could tell me that hey you shouldn't use.string there just use integer there but.it doesn't tell you that it tells you.that there is no such function that it.can find to use an integer in and this.is why it says that there is no matching.function and what you need to know is.that in at this point so okay so it says.invalid conversion from cons character.which is kind of a internal.representation of a string to a to an.integer there is a lot of boilerplate.text over here and again it takes some.time to get used to but I believe you.will so in this point you have to import.really important thing read errors from.the top down start reading errors from.the bottom because the bottom errors are.garbage so it will still try it like.when it encounters when the compiler.encounter is the first error it will.still try to do other things and these.are the things will be influenced by the.mistakes it has done before so the first.error is the one that you want to solve.don't try to solve all the errors all.the time go to the topmost error try to.find out its cause solve it recompile.that's generally the way you're gonna.save yourself some trouble so in this.case even though it's a bit of it's a.bit blotted it's kind of clear that the.problem is in the push back function and.that if you if you read a bit further it.will actually tell you.it cannot convert from an integer to.some other type good.[Music].anything else you want me to try out.like anything else that it's that is not.clear with this because I feel like this.part is important yeah.so there is an insert function in in a.vector but generally you don't really.want to use it because it's not really.efficient so the pushback operations so.generally you should think about a.vector is something that grows like from.from the back and shrinks from the back.in my day to day use I rarely have to.shrink a vector so I usually just like.it just grows and then when you have.enough elements you work with them and.then you discard all of them so it's.kind of like an array that can like I.treated the way that it's an array that.can grow I can use it afterwards and.then I can discard it there are all the.possible methods to remove any element.in the middle there are there are.methods to add something to the middle.so for instance if I want to add.something I can probably use insert here.it's gonna be a bit I'm not sure let's.try that this probably won't compile.because it needs yeah so it needs some.having like let's put it that way under.under the hood there is a bunch of.things that the vector does that are.pretty complex and I don't want to go.into them now but we will discuss them a.bit later so you need like there is a.thing that we won't really go deep into.now but it's called an iterator and.iterator just iterates over a vector and.this iterator can be passed here so.anyway like for now treat vector as it.can.that grows and then you take it and then.you discard everything from it okay.because for I think this is this is the.way people usually use it mostly and it.will also kind of protect you from a lot.of pain for now but it's a good question.anyway yeah it kind of makes sense that.you should be able to insert and remove.stuff from a vector okay anything else.yeah.yeah I don't need to resize the vector.because it has so at this and in this.situation I don't add a lot of elements.to it and every pushback resizes the.vector actually that's we can we can.visualize them so if we if we type here.exercise.okay so the size is too before I add.something to it and did I remove yeah I.removed the adding so to thanks black 3.sure.okay so now the size is 2 and 3 because.I added an element in line 8 over there.so whenever you do a pushback or in.place back it actually resizes the.vector so it adds size to this vector.right the if I would have to add a lot.of elements with a pushback I would use.reserve because reserve kind of tells.that even though the the the size of the.vector doesn't change the memory.allocated for all the elements is still.there so if I would add many of the.elements with pushback it would I would.actually use reserve but if I add like a.couple it's usually fine so it's only.it's kind of an optimization technique.if you have like a lot of elements to.add to a vector you should use reserve.otherwise you shouldn't bother you.should just use push back and so on it.works just like that out of out of the.box that was kind of clear or okay.how do one IDI yeah so like this thing.actually adds three to the vector so now.it's the now it's not deleted it's just.not the I'm not printing out all of the.elements of the vector here.it's just I'm just printing sorry if.that was confusing I'm just putting in.the first and the last one because for.now we don't know how to go over all.elements in the vector we will get to.that in this I think in this lecture in.this lecture but for now it's just the.first in the last element I'm just.saying that we add something to it the.two is still there it's like the size of.the vector is three in this in this.situation sorry that was confusing okay.more questions okay.so again like I encourage you to to play.with it just like open any console right.a small main function try things out.look what they do look what mistakes you.get if you can't read a mistake try to.like search for it how to read it if you.can do it ask me reading errors will.take some time but that's the way it is.in C++ okay an important concept I think.the most important concept of the memory.like what whenever you whenever you.think about C++ you have to think about.this like this is why C++ is so.efficient and why it's used all over the.place is because of the Scopes so every.variable lives in a scope and a scope is.everything that is defined between these.brackets so whenever you see those two.brackets unless it's some definition.it's it's a scope so for instance this.is the main scope like it starts from.like from main goes up to here and then.this is some other scope you can create.as many scopes as you want every.function like main creates a scope we'll.talk about it also later.and there is also one big may like one.big global scope so there is like a.global scope there is a scope of the.main function and then there are any.other scopes that you define there now.why is cope important you can think.about a variable belonging to the scope.where it is defined because if you.create a variable in the scope it will.be deleted when the scope ends so in.this case I think it's easier to show it.again in example so we're gonna let's.leave our vector like not let's not go.for vector let's just go for int some.number let's set it to 1 and let's.create a small scope and here like int.LA - and then let's try to say some.number is blah right so if we try to.build this thing it will complain.because yeah I forgot the equals of.course okay so now it will complain that.so this is kind of a very typical error.that you will see something is not.defined in this scope so scope now you.know what it is it's just anything.between those curly brackets and it says.that thus I didn't say that but it shows.you the line where it happens so it.tells us that it's in a line 9 and in.column 17 the error that happens so if.you go back to the code we go to line 9.and we see that this bla is not there so.it's not defined there because it was.created in this scope and removed within.this scope it's a very stupid program to.write because it doesn't do anything but.but it kind of illustrates the purpose.because whatever you create in a scope.will be removed by the end of this scope.the cool part about it is that.this basically defines how c++ manages.memory so that's why you don't need any.garbage collection like in Java because.everything removes automatically when it.reaches the end of the scope right so I.think if you if you kind of like go out.of this lecture today and just remember.that there are scopes and variable.belong to scopes and die in the end of.their scope where they were defined.that's enough that's really that's.really good like that's very important.in C++ I think it's like these things.that define C++ at least from my.perspective okay let's talk about.constants so for now all the variables.could have been changed so for example.that if I if I type this some number it.will get changed so it was one now it's.two it's easy but if I want to make sure.that this number never changes I will.type Const here and now I should get an.error yeah.so now there is an error that assignment.of read only variable and this is.actually what I want because if I want.to to set something to to not change I.want to make sure that the never.actually changes because if it changes.and I'm not expecting it then it can.backfire I can expect it to have some.value in my code and it doesn't have.this value anymore so I want the.compiler to protect me from my own.mistakes so if I if I change it by.mistake what the compiler to tell me hey.you shouldn't really do it the so cons.can be used for any type so it can be.constant ringing it can be constant.constant laud anything and the term yeah.it becomes the.the type part of the type of the.variables so if you have a constant.ature the type of this variable is not.integer it's now Const integer it's.important to remember that it becomes a.part of the type and you can't just get.rid of it easily.there are ways but you shouldn't use.them really and so the Google style.suggests to have a specific name for.constants that you define especially the.ones that live through a bigger part of.the product of the program and it should.be used.so they suggest to use camel case here.the camel case if you wonder why it's.camel case is because the camel has two.humps and that's like the camel case to.hump hump stare so and it starts with a.small letter K so I would in this.example it would be not some number but.it would be something like this the cool.part about it is that a lot of editors.support this naming scheme and they will.actually highlight the constants in a.different color like like here which is.really nice because if you if you use it.somewhere you can easily see that it's a.constant while coding which is nice okay.[Music].- yeah and I think it's it's very.important to treat constant as a must so.if something doesn't change use a Const.for it because it's it will make it will.it's kind of part of defensive.programming defensive programming means.check everything that you that you have.as input that it's correct and don't.like do not allow yourself to make.mistakes if you if you don't expect.something to change set it to constant.because then if you actually try to.change it it will complain and I think.this is really good.ok you can also use variable references.to variables and this is kind of this is.one of the so we go to the C++ the the.kind of the fun part of C++ where things.can get nonlinear so for now everything.was linear like for now we define a.variable if we change it in the scope it.changes and so on like it's it was very.simple but with references we get kind.of this layer of indirection and we're.going to talk about it right now.so first the syntax whenever you add.this ampersand sign to after the type.before the variable it's going to be a.reference to the to a specific variable.and it also is part of the type so now.the type is not flawed it's flawed.reference and it is important to think.about reference as just an alias to your.variable so if I if I say now my ref.variable is original variable it.actually means that they're completely.identical so if I change one of them the.other changes also yes so let's do.examples I guess okay I will not remove.C out because they're annoying to type.so let's have some whatever integers.integer num and let's have a reference.ref so the also I cannot send I think I.cannot set it to to just a number it.will complain yeah so this is kind of.again the error will not be the most.readable at first you will get used to.it and then you will know exactly what.happens but at first you have to to not.be scared of this word our value our.value means that everything that can.stand on the right side of assignment.operator is an R value that's it that's.all you need to know at this point and.this point our value is two in our case.so and it cannot be an R value and.that's why it complains we will go deep.into that but when we talk about all the.memory stuff where it's going to be.later in the course for now you have to.remember that you cannot assign you.cannot assign a number to a reference.because a reference can only be a.reference to a variable so we can set.num here and now our number F actually.is a reference to the num and if we so.we can output both of them ref ok let's.copy this thing here so now what we do.here is we we define a reference we.output the refere the number and its.reference we change the number and then.we see what what goes on right there and.you can see that they both change so.they're completely the same yeah.it's gonna come like it's I think it's.important to understand this concept.from the start because it's gonna be.used like a lot especially when we go to.like using functions and so on it I.think it's even in the bottom of the.slide we will we will reach that part.but the important part here is that.references are exactly the same as the.as the variable that they reference to.so if you change the reference it.actually changes the variable now let's.go back to also if I change let's do.another small example here so if I I can.do this I can actually assign a value to.a reference and it will work just the.same so it actually changes both the.variable and the reference again because.they're the same thing.so why they're used they're used is.generally for performance gains so there.are two reasons and one of them the big.reason is performance gains so if you if.I have a huge string also string can be.as big as or like a vector a vector that.is I don't know one gigabyte of my.memory and I want to pass it somewhere.like I want to have two variables that.would hold it then I would need to.usually copy but I don't want to usually.copy it because copying is expensive.copying means that the processor will go.into my memory and will copy it bit by.bit and it takes a lot of time.especially for gigabytes of data so if I.if I use a reference references is cheap.like a reference is the memory will stay.the same so it points to the same part.of of memory and gives you a way to.reference one variable from different.parts of your code for now again we are.only talking about one function main so.it's not very useful but it will become.useful from.next lecture on I guess or even yeah I.think when we go to for loops and so on.it's going to be useful there right the.the problem with it is I don't always.want my reference to be to be changed.like I don't want to give somebody.access to my memory so if I'm a variable.I don't really like somebody having a.reference to me because somebody can.just change me from anywhere in the.world and I will not even know about it.so this kind of brings us a bit closer.to the concept of ownership and like.whatever if I'm if I'm a variable like.if there is a variable it should own.like its memory because when it goes out.of scope it should be removed now if if.it has other references somebody else.can change it and it's not really clear.in the code so it's important to use.constraints as when you just want to.pass something that you're not intended.to change and it works just the same so.Const works as I said with any types.also it works with types that are.references so you can you can add a.Const to a reference and this will you.will have all the benefits of the.references so it will be really fast but.you will not be able to change it so for.example let's do here instead of int.let's do a Const reference and so it.will actually now complain because and.the error message is also really nice so.it will tell tell that we cannot assign.a value to read only reference and this.is actually true so we have a constant.reference over here and then we try to.assign a value to it but if we don't do.it then everything else works just come.on it's just the same.so if we change the variable the such a.small thing does so many so much noise.so if you assign like a very like if you.change the variable value the value of.the construct will also change because.it still points to the same value even.though it's a constant reference alright.good so now we go to the control.structures so for now this is all you.need to know about how to how to create.variables and we can go we can try to do.something with them and the simplest.thing that we can do with them is to.branch our execution based on some.statements so for instance again you.probably have seen it in in in Java a.lot there is an if statement and you can.pull you can you can put so this.statement can be any boolean statement.it can be a variable it can be an.operation it can be anything that gets.evaluated to boo.there is also else so you can have an.else--if and so on and you can have just.an else as a ending case and also these.these can be ignored so you don't need.them if you if you just need an if it's.enough like you can just use if so this.will conditional execute your code so is.you can guess if the statement is true.then this will be executed if it's not.true it will it will evaluate this.statement and then if it's true it will.execute this statement and if none of.them is true then it will just go to to.the else case it's I think it's fairly.simple good.now switch is a bit different you you.give a statement just like in to if and.this statement so the difference here.that the statement does not have to.evaluate to boo it has to evaluate to.any say to any.sorry integer type or a thing that looks.like an integer so and then you can have.a bunch of cases for it so in case you.want to have many like if-else if-else.if-else statements consider to use.switch instead so for example it can be.like switch some numbers so if you give.okay let's probably go for it for.example again so switch so if I have.some statement here it can be.let's put num here and case 1 we we.print hello and case 2 we will print.world for example so in this case it.will print yeah and also let's do a.default okay so if we compile this now.and we run it it will print hello.because the num is 1 if we if we change.the number to 2 we can compile it we can.run it it will print world as expected.and if it's going to be any other number.than these it will go to the default.case and it will print the default case.so that's very simple the only kind of.the only pitfall here that you that you.might fall into is if you forget this.break so there was a break here for.remove it it's gonna be sometimes you.need it like sometimes you need to.remove it but the idea is that now if we.go into case 1 it will not stop here it.will actually continue.execute in case - so let's see what what.happens now if we if we set the number.to one where am i I'm lost.yeah so now it prints hello world.because it doesn't stop after the first.case it's actually continuous to the.next one.so this can kind of bite you if you if.you forget to put this break so remember.there has to be a break after every.after every case but that is all there.is to it.so the important part is it has to be.evaluated to a constant so these have to.be all constants if it's not a constant.you cannot use it in the case but that's.everything you need to know is that.clear.yeah you can but you should if you have.a boolean statement it's relatively it's.usually easier to write and if so if I.let's say it's gonna be a bowl and it's.gonna be a true and it's gonna be a true.and it's gonna be a false it's also at.break and we don't need a default.because now we cover everything yeah it.even there is even a warning for that so.you see that it shows a warning it's not.an error it's still compiled here in.case now it has to be a constant.expression so you can't you can't do.that here but you can use an if for that.like again.so this is kind of this is usually used.for if you have a set of options and you.have like an enumeration of those sets.this is where this is used if you have.just one thing that can go one way or.another or a third way you should use if.so I think we're gonna have more.examples so at first it doesn't really.matter which one you use.use the one that you feel is more.appropriate for the task it's kind of.like the experience like you have to.gain some experience to to know when.it's more useful when it's less useful.for now just use it whenever you.whenever you want and you will you will.get the feeling of when it's more useful.and when it's less useful good right.now we can actually talk about loops and.this is where we're gonna probably also.start understanding why we needed.references and so on so there is a like.a simple loop while loop again just as.in Java you have some statement this.statement can be any boolean statement.and it basically runs until the.statement changes so an example would be.that there is some condition which is.initially true then we go into the while.loop and then this condition is getting.changed by something for now it's not.important but let's say it's just magic.so some magical way that changes this.thing eventually to be false the moment.it's false by the end of this scope so.what it does it kind of like goes.through the scope over and over and over.and so this condition say at first it's.true it goes to the end of the scope it.evaluates the condition it goes in and.so on and then it reaches the point when.it reaches the end of the scope the.condition is false it evaluates the.condition one last time says okay well.it's false so I will not go into here.and it will go wherever it needs to go.afterwards okay it's usually used when.you don't have an exact number of.iterations that you need to do so it you.can do it many times but you don't know.exactly how many because it depends on.some on some magic and then you you use.while for that the problem was while is.that it can go into an infinite loop so.if you are if you underestimated your or.overestimated your magic and your magic.doesn't actually change the value ever.to false then this will loop forever.and it's not a very it's not very.pleasant because it takes like your.whole CPU for just looping through it.and doing it over and over and over.again and your program hangs so usually.so use it only if you don't know exactly.the number of iterations otherwise use.for so a for loop is again think that.you know from Java it's all very similar.because of course I mean Java was.inspired a lot by C and probably C++ too.so there is an initial condition there.is an end condition and there is an.increment an initial condition is a you.set some variable to a value you can.also define variables there so for.instance like this like you can have an.integer e like I defined here and this.integer will live only within this scope.so it's going to be only available in.the for loop and not outside then you.have a condition you want to loop until.I is less than say some count for.example and you want to increment I so.generally I suggest to use the prefix.notation for increment here it's a.little bit faster because of some.internal reasons that I won't go deep.into just remember that use the prefix.you can also use the postfix it was like.so I plus plus it works just the same.but I suggest to use this because.usually it's a bit faster unless the.compiler anyway optimize that right and.then this thing will happen exactly.count times because we increment always.by 1 and we start at 0 and we reach this.thing so whenever I is equal to count.this statement will be false and it will.not go into the into the for loop and.this is where we and so it's a bit less.flexible than while because now we need.to know how many iterations we have to.do but it's less error-prone so it's.it's harder to make a mistake here.because when we define rigidly how many.iterations we do and it.not generally it's not possible to to.have an infinite loop if you write it.that way you can still write a for loop.in different notation and then you will.have your infinite loop if you really.want to there are ways to do it but.again we're not talking about all c++.use it like this and this is the way to.have a controlled number of iterations.also I wanted to talk a little bit about.this variable so if if I have a for loop.so say I want to do two two currents and.so let's say I have this thing over here.right so now I is defined within this.for loop so if I try to use I here I.will get an error so it says that I is.not declared in this scope because I was.declared in the for loop if I run this.thing it does what is expected so it.prints 0 1 2 3 8 or 9 and and so on what.I also can do.I wouldn't recommend to do it but it's.possible to do it and sometimes it's.useful is if I have this I used.somewhere else I can just use the same I.here so my initial condition will be so.let's put it to 10 for example it will.still be able to use the same I over.there ok it's just so that you are not.confused if you see such as synthetic.sometimes it's useful to use it but.generally prefer to declare a variable.within the for the for loop statement.also it can be like I can I can jump I.don't have to do like a I plus plus I.can do the I plus equals 2 for instance.and then I will have every so the jump.will be 2 and there's gonna be less.iterations so you can go arbitrarily.while wild with that if you want to yeah.there is really not much to it.any more questions to that all clear.okay.the new thing in C++ 11 is the range for.loop now the range for loop is is a nice.thing because it shows intent like it.shows what you are what you want to do.instead of showing how you are doing it.so if you for the old way to to navigate.the container would be so if I have a.vector of integers 1 2 and I would go to.I forgot the name so if I would go to.excise and I would increment I and I.would print just the an element of this.vector let's maybe go for something like.float so that it's a bit different okay.so we it shows us two values that we.have there but the problem is that now.there is a lot of boilerplate code that.we don't really do we didn't want to.write it c++ made us write it and i.don't really want to declare a counter i.don't really want to increment it on.every iteration because it's not what i.want i want to go over all values in my.vector so in c++ 11 you can do it much.easier you can do it like this so in.this case you can just use float number.from vector and this is going to be just.the same and this number will be the.flawed that you read and from my.perspective it's much more readable and.it shows what you're actually what you.actually want to do so you want to go.over all elements in the vector and this.shows it so you say for number in vector.basically and.if we build this thing it shows exactly.the same results now if we go to so.let's say it's not a flawed I would say.it's STD string we need string for that.and these have to be our beloved.HelloWorld.okay good so now it's not numb anymore.so it will also check the types and so.on but what we can do is we can also use.Const outer reference so outer will will.find out that we actually want a string.and in this case it will actually be a.string but it's going to be so it's.going to be a constant reference to a.string ignore the way it represents the.string is just a string so everything.that has a word string in it is a string.right so and now we can compile this.thing again and of course it still works.so this is where you where the reference.has become useful for the first time.because strings can be arbitrarily big.they can be huge numbers cannot numbers.it can be huge in length.for instance they can be like easily.like 100 megabyte string for say like.some people use a long arithmetic where.where the numbers don't fit into any.type anymore but you still need to to do.operations on them and they usually use.strings for that so they have like a.string which is I don't know like a.million character long and they have to.some tooth of those strings so that's.what they use them for and this string.can take like hundreds of megabytes so.if we would want to copy it it would.take insane amount of time we don't want.to copy it that's why we use the.constrains here so in this case num will.not actually be a copy of this string it.will be just a reference to that string.the string will still be lying.happily in the vector alright also if we.if we drop the Const over here we can.also change something we can change this.number and it's going to be changing the.thing in the vector I would have I would.avoid doing that usually because it kind.of makes it less clear of what is in.intent but we're going to talk about it.more when we get to functions I guess is.that so that is clear the syntax is.clear the water okay right so generally.if you don't if you don't have a weird.pattern of jumping over the elements in.the vector use a range for loop if you.just want to iterate over all all values.in the in the container use the range.for loop you can even you can even use.the same the same thing so this.container can be a string for instance.then you will actually iterate over all.characters of that string so if we do.here back front and now it's going to be.whatever some character it actually.prints up the hello letter by letter.because it's still a container we can.still iterate over the same container in.exactly the same way so now here this is.just one string the hello string alright.so and this is this makes it really.versatile so this syntax really does.what what you expect it to do and that's.why people like it nowadays to try to.use it unless you need to to jump over.multiple values or say iterate over two.vectors simultaneously then you probably.need a counter anyway right you can also.you can exit any loop and basically any.so any while loop and for loop you can.exit or you can skip an iteration of it.so let's say there is a I use a lot of.magic in this talk because we don't know.what functions are yet but we're gonna.replace magic with functions on the next.lecture but for now let's say this.magically I gets updated by somebody.that we don't know and it can be either.divisible by two or not and divisible by.two means that the remainder of the of.the modulo operation will be zero right.so we either like we want to stop our.while loop at the first at the first.number that is not divisible by by two.for instance I don't know why we do it.but let's say we want to do it so in.this case we check if the if the I is.divisible by two and if yes we output it.and if it's not then we want to break so.we don't want to do this loop anymore.because this loop would go forever you.can do the while true this is the.endless loop it's used it's actually.quite useful I think most of the.programs that you've been using in your.life have at least one of those loops.running because it's usually so if you.have any like graphical user interface.it needs to wait for your actions and it.always kind of like tries to like hey.what is that it like was there an action.was there an action now maybe now what.about now did the user do anything.that's why they use this while wild true.loop it's it's useful don't be afraid of.it but you have to understand why you're.using it so in this case it will stop.the loop whenever you you reach the the.break statement do I have I don't have.it so also you can the continuous.statement just skips one iteration so if.I would want to only do whatever is in.the loop can't think of a good example.now but let's say there is something in.the loop that I want to to skip if.something happens I just type continue.and I don't go into there I think we can.we can do a small example here let's go.back to using in.integer vector because it's easier one.two three four okay so it's also int.right so this thing will output all the.numbers but I don't want all the numbers.I want if num is divisible by two.for example then container okay so the.the idea here is that it's not very.useful in this example again because I.have to make simple examples because.they have to fit on the slide and so on.but generally this part can be so the.part after the if can be arbitrarily.long it can be like a lot of things that.you do like it's not only output in.something but it can be some heavyweight.processing right and you want to avoid.doing that when your condition is not.met so you check your condition first.and if it's not mad you say okay skip.this iteration whatever like I don't.care about this iteration so what it.will do is it will of course keep two.and four in this case so whenever we.reach the two it evaluates to so it.evaluates this evaluates to zero and.then we continue so we don't print stuff.it is useful if you have an iteration.like iterations of the loop that do a.lot of stuff but you don't want to.process all the elements but say some.part of them under some condition it can.be any arbitrary condition in this case.so this is how you can use the continue.okay I this is actually it for the.control structures at this point if if.there is any question - like if switch.for while ask them now because we're.moving on from here okay good please.that's clear.I hope get we're going to be using.version control system this is like the.thing that everybody all the programmers.either use or should use I don't know.any big company that doesn't use any.version of a version control system.we're gonna be using git it's kind of.the industry standard at any job.interview you kinda have to know what.kid is what it does is so first of all.it's free a lot of things in Linux are.free which is nice it's a distributed.version control system it means that.you're you can have a history of your.changes of your code on your machine on.somebody else's machine then you can.work with many people and they all have.their own versions and they will all be.merged and synchronized one to one.server or many servers if you want to.and the synchronization here is the key.so you can work with many people.simultaneously on the same code base and.git will generally figure out how to.merge the changes that you do to two.files and the important part is.everything is recorded so you will not.you will never have a situation where.you change something and then in a.months you find out that it was a bad.decision and now you don't really know.how to return to that version because.it's it was somewhere safe than some.hard drive and you lost the hard drive.and so on now it's all recorded on the.server you can just say hey okay this is.not working for me so that was a version.like two months ago and I can actually.just check that out so you just go to.the server you pick the version that you.like you check it out and it's there and.it's also saved in a in a way that it.doesn't take all of your space so it's a.very nice system to use and we're going.to be using it a lot as I told you so.the local files on your computer are.synchronized with remote files on the.server these two words are important.here so local is whatever is in your.machine remote is whatever underserve is.on the server we have a good lab server.in the basement of that building and.even - I think so you you will be using.that I don't know.do you guys already have an access to to.our github server or not I'm always.confused about how this handled at the.faculty so who knows about the server.and too has access to it okay so.definitely not everybody okay I will.figure out what's the procedure of.getting accounts there because it.doesn't depend really on me and I will.put it on eCampus by the way eCampus is.live five minutes before the lecture.there is nothing there because it was.five minutes before the lecture but at.least it it's now live so I can start.putting stuff up there and it's also.good for you because you will get the.homework right otherwise there would be.no way to give you homework but you're.lucky right so the the github server is.situated on this link so it's a github.ejj when in one day and this is the way.you will submit your homework so.anything that is not in git doesn't.count I will explain you a typical.workflow and I'm always there for you in.case something doesn't work again as.with all the tools that do complex stuff.in a simple way something might go wrong.if something goes wrong as always try to.figure it out if does if it doesn't work.either write me an email come to my.office ask me like I'm there for you but.it should generally work so the idea is.that you have repositories all the code.is within some repository the repository.lives on the server if you want to check.out a remote repository on to your local.machine you do a clone because you want.to clone the state of that repository on.to your machine do you do it with git.clone command and you give it a.repository URL and you give a local.folder this is actually an optional.thing otherwise it will just create a.folder that is named exactly as your.project right so then you go to that.folder to that either local folder that.you gave.or the one that was generated by the.clone command and you go to that folder.you do your work you change some files.you write your awesome code and now.you're ready to submit the code to the.server you have to do these commands you.have to do get edy and the number of.files that you like all the files that.you've changed changed.you can also is just again a Linux.terminal command it has a help use it's.helped to find out options for instance.there is an option - a that just adds.all the files that have been changed but.adding them means that you kind of like.put them on a shelf and they're there.like this is a shelf like outgoing this.is the thing that you want to send out.but it's not sent out yet you put it.there and you know that okay well I've.modified this file I add it to my to my.changes list so it's basically treated.as a changes list this add thing then.you want to commit like commit means I.commit to sending this thing over like.you kind of wrap it all up like you take.everything on a shelf you kind of wrap.it in a nice box and now you wait for.somebody to take it to the server.and this is done with push so now you.push it you kind of like push it away.and it goes in the server right so there.are three stages the add the commit and.the push so adding just prepare.something commit you commit to actually.submitting it somewhere and push is.actually pushing it somewhere so it's.it's a bit confusing at the start but.once you get into it it's very clear.there is also an insanely good guide I.can't recommend it more this thing's.just click this link go over it it's.it's really well-made it's a couple of.commands with really small examples on a.nice website I definitely recommend it.it's nice to look through it good you.will submit the homework through get as.I told you you have to log in to get you.have to request access to a group we.will all be in one.so once your your in let me show that to.you I guess so this is how the like if.you go to ego gear when you want like.gitlab you could go any one day a that's.what will greet you when you get your.your account and password you will be.able to log in and so what you will do.is you need to go to groups and you need.to search for CPP and you will like.there is a lot more groups here you will.not see as many because you don't have.access to all of it but basically what.you need to do is you need to find this.EPP group you need to go to it and you.will have a button somewhere request.access so you need to click that one.then I will get an email that somebody.wants to request access to the group and.then you will be in the CPP group on the.gate lab now again like I try to.document everything on the slide if.something like if if you bump your head.into something and it doesn't work it's.probably that I forgot some small thing.and just tell me that it's hard it.shouldn't be hard if it's hard tell me.okay and then what you need to do is you.need to go to the homework repository so.we go here of course so the link is.wrong already I will change that right.so you need to go to this repository so.it's a remote repository it's CBP.homeworks 2018 and it contains a bunch.of files so you can see them here it it.has five homeworks and they're all empty.for now there is just a small readme.inside there is not much happening there.so you need to fork this because you.will not be able to so there is a lot of.things going on under the hood there is.all the.access control and so on you are not.allowed to push into this repository but.you can create an own Fork of this.repository and push to that so to do a.fork you need to click this beautiful.fork button and you click the button you.will have probably only one option and.you need to pick your username it will.fork the the repository and now this.repository is your own repository so it.has the same name but it has a different.name space so if you you don't see it.now on the slide but before it was.teaching in the teaching namespace now.it's in the in your user name space so.whatever your user name is is gonna be.there and now this is your own.repository you can do whatever you want.with it you can remove everything you.can add stuff to it and so on and this.is the way you will be doing the.homework you will clone this repository.to a local file system you will modify.files there and you will push it to your.local to your own remote system over.here the other important part you have.to do is you have to go into the.settings you have to go to members and.you have to invite a member we have a.bot it's a homework but this guy so you.have to invite him to your repository.with developer rights because this guy.will actually go back to you and tell.you how you did on your homework because.you are a lot of people I am a single.person if I would check all the.homeworks by hand it would take me.probably more time than I have in a week.at all so I've implemented a system that.will automatically go through your.solutions and we'll check them and we'll.kind of compile it in a nice table and.give back to you so if again if this.system doesn't work you have to tell me.because it's kind of it's still not I.tested it last year it was it worked.pretty nicely hopefully this year it's.more stable if something doesn't work.tell me I'm gonna fix it so let's do a.small a small.tests here.so actually temp is a nice folder so.what do you have to do is you have to do.a git clone then you have to pass the.link so the link is the link that I took.right from here right so it's the same.link for your own homework you just go.there and you do a git clone this laptop.doesn't have okay let me change to HTTPS.so there are two ways of getting that.either with the SSH key or with HTTPS.probably it's easier to use HTTPS.because there you can just type in your.password every time like your login and.password and then you're fine so let's.do a git clone this thing now it asks.for my username and I'm eager it asks.for my password okay so now it has done.its its magic and if I do an LS there is.this folder.CPP homeworks 2018 so I can go there and.let's say I want to go to homework 1 and.I want to submit the first exercise so.you don't know what the homework is yet.but you will need to write like a bash.script on your own and let me just try.to do it here quickly so I want to write.this script and let's say all it does is.just typing hello world so it's just a.like this command will be just executed.by terminal right so now I have modified.the files and I can use git status to.see what what is going on so what it.tells me is that there is a lot of.boilerplate I will not explain it now.use that tutorial it's going to explain.it much better than I can but the main.part here is that this thing is shown in.red right because if it's untracked so.it doesn't track the file I need to add.this.so I add commands dot Sh of course I.forgot get let's try get starters again.and that is green it's green is much.better than red right so now we we have.something it's it says changes to be.committed to be committed well okay.let's do a commit it's good commit - M.is a message and you have to have a why.is it not wrapping wait let's try this.git commit - M okay this is weird.I can do it like this my awesome message.the message should not be like this like.don't learn from from me it has to.explain what you have done so and it.kind of makes your work granular so do a.small thing one concise small thing edit.committed name it in the way what has.been done so instead of my awesome.message I would type add echo command.for instance because that's what I.actually did right so I do this now.get status and now it says that there is.nothing red or green there is just your.branch is ahead of origin/master by one.commit again you will know what a branch.is when you look at the tutorial but the.main part is here I'm ahead of something.by one commit so what I can do is I can.do a git push origin master believe me.there is master there it's not seen on.the screen good.so it shows a lot of things but the main.part is that it has sent something to.master so now if I go back to my.repository I go to homework 1 and I can.see this commands dot SH script over.here so if I open it it shows me exactly.this so now it's on the server and now.let's see how sure I should have okay.there is like it explains what you have.to do of course I forgot what you have.to do you have to specify folders for.the tasks so let's do a move command the.sage to task good so it even will show.you that you've actually you didn't.change the follow just moved it like it.knows what happens so let me just.quickly.okay.so the idea here is that now there is a.folder and what you can do here is it.will actually start a build so it will.build your code on the server.automatically on some server that you.don't know and this will be shown over.here so this small thing if you click on.it you will have a lot of information.you have to click on build and this will.show you what is going on like you don't.you don't care about any of this text.like you just care of this being done.the moment it's done it will update a.wiki of your project and the wiki will.look something like this so it will be.now it's empty but it will be a table so.this table it will show you a homework.name task name test name and result you.can either pass the result or fail the.test if you have any failure any errors.in your code the errors will also be.shown in this in this document so this.document is updated automatically you.should never modify it and this is your.feedback loop so you you push your.homework you wait a couple of minutes.you wait till this gets updated you look.at it this is like the errors this is.how I will evaluate your homeworks.mostly like I will still maybe run some.code I will maybe look through some code.and maybe we'll look if the style is.fine if you have some some concepts that.you cannot catch with automatic tools.but I tried to catch as my as many.things automatically as I could so let's.see if this gets updated yeah okay cool.so now it has actually updated this.document automatically and it says that.the homework named Bash in C++ intro and.the task named simple bash test one is.failed I didn't do it right.because it was not the command that was.expected and it actually tells that hey.there is an expected output like this.and you need to.to provide something like the given.input is different like my output is.hello world the expected output is.different so use that the first one will.be really simple like the it's kind of.like to get you accustomed to the system.so you can easily fool it please don't.do it here because if you in this.exercise if you just provide this it.will just work but generally there will.be a lot of inputs and you you will not.be able to just kind of adapt your code.to output the thing that it that is.needed okay so that should be it I will.put all the things today on eCampus also.the virtual machines and how to use them.and so on and the homework will be so.the homework sheet will also be there on.eCampus.and we're gonna have homeworks for one.week so the submission deadline would be.next Wednesday and submission means they.just upload your code to the server.that's it you don't have to provide me.any paper you don't have to do anything.you just upload it to the server it's.all logged I will see all the times when.you do it and so on I just need to.figure out the way how to how to give.you all access to to the to the server.there has to be a centralized way okay.and I will just send you an email over.the whole course of how to how to do it.okay I think I'm more or less done for.today there is the same information is.is duplicated here and the last thing is.the references of this lecture is so.there is an important thing that I.didn't talk much about is it's done by.BR narrow stroke and herb satyr there's.like two huge guys in C++ world and they.are compiling now these CBP core guide.guidelines if you're unsure how to name.things how to use thing and so on try to.go there it's here.document used like search in your.browser and search the thing you want.they will answer any of your questions.generally judging from a lot of.experience of the experience that they.had throughout their their career it's.very helpful you can also read Google.called style sheets sometimes some.things will not be really really.readable and really easy from the start.because it kind of goes in-depth but.still it's a good place to check if.you're doing it right as I told you.there is a good guide and if you want.you can go to C++ come and do their.tutorial if you really wish to I would.probably stick with the lectures for now.but I just wanted to give you an.alternative if you really don't like the.way I do it and again there is a book.code complete two by Steve McConnell if.you are feeling that you that.programming is what you like this is a.book that you must treat in your career.and why not doing it kind of now so but.it's a big book so I'm it's not.mandatory for the course but it will.make you a better programmer okay good.I'm done thank you for attention if you.have any questions come up ask them so.whatever.as usual thank you.

How to generate an electronic signature for the Cpp 1 2018 2019 Form online

CocoSign is a browser based system and can be used on any device with an internet connection. CocoSign has provided its customers with the easiest method to e-sign their Cpp 1 2018 2019 Form .

It offers an all in one package including protection, enjoyment and effectiveness. Follow these points to write down a signature to a form online:

  1. Verify you have a qualified internet connection.
  2. Access to the document which needs to be electronically signed.
  3. Pick the option of "My Signature” and pick it.
  4. You will be given way after picking 'My Signature'. You can choose your personal signature.
  5. Personalize your e-signature and pick 'Ok'.
  6. Tick "Done".

You have successfully finish the signature online . You can access your form and foward it. Excluding the e-sign way CocoSign come up with features, such as add field, invite to sign, combine documents, etc.

How to create an electronic signature for the Cpp 1 2018 2019 Form in Chrome

Google Chrome is one of the most liked browsers around the world, due to the accessibility of various tools and extensions. Understanding the dire need of users, CocoSign is available as an extension to its users. It can be downloaded through the Google Chrome Web Store.

Follow these useful points to produce an e-signature for your form in Google Chrome:

  1. Get to the Web Store of Chrome and in the search CocoSign.
  2. In the search result, tick the option of 'Add'.
  3. Now, sign in to your registered Google account.
  4. Choose the link of the document and pick the option 'Open in e-sign'.
  5. Tick the option of 'My Signature'.
  6. Personalize your signature and put it in the document where you select.

After writing down your e-sign, foward your document or share with your team members. In addition, CocoSign come up with its users the options to merge PDFs and add more than one signee.

How to create an electronic signature for the Cpp 1 2018 2019 Form in Gmail?

In this age, businesses have switched tp their organization and evolved to being paperless. This involves the reaching a consensus through emails. You can easily e-sign the Cpp 1 2018 2019 Form without logging out of your Gmail account.

Follow the points below:

  1. Discover the CocoSign extension from Google Chrome Web store.
  2. Open the document that needs to be e-signed.
  3. Tick the "Sign” option and produce your signature.
  4. Tick 'Done' and your signed document will be attached to your draft mail produced by the e-signature system of CocoSign.

The extension of CocoSign has boosted your workflow. Try it today!

How to create an e-signature for the Cpp 1 2018 2019 Form straight from your smartphone?

Smartphones have substantially replaced the PCs and laptops in the past 10 years. In order to boosted your workflow, CocoSign let effectively work via your personal cell.

A qualified internet connection is all you need on your cell and you can e-sign your Cpp 1 2018 2019 Form using the tap of your finger. Follow the points below:

  1. Get to the website of CocoSign and create an account.
  2. Later on, pick and upload the document that you need to get e-signed.
  3. Tick the "My signature" option.
  4. Insert and apply your signature to the document.
  5. Peruse the document and tap 'Done'.

It takes you a minute to write down an e-signature to the Cpp 1 2018 2019 Form from your cell. Save or share your form as you require.

How to create an e-signature for the Cpp 1 2018 2019 Form on iOS?

The iOS users would be joyful to know that CocoSign come up with an iOS app to help out them. If an iOS user needs to e-sign the Cpp 1 2018 2019 Form , deploying the CocoSign system right away.

Here's key write down an electronic signature for the Cpp 1 2018 2019 Form on iOS:

  1. Include the application from Apple Store.
  2. Register for an account either by your email address or via social account of Facebook or Google.
  3. Upload the document that needs to be signed.
  4. Pick the sector where you want to sign and tick the option 'Insert Signature'.
  5. Create your signature as you prefer and place it in the document.
  6. You can foward it or upload the document on the Cloud.

How to create an electronic signature for the Cpp 1 2018 2019 Form on Android?

The enormous popularity of Android phones users has given rise to the development of CocoSign for Android. You can add on the system for your Android phone from Google Play Store.

You can write down an e-signature for Cpp 1 2018 2019 Form on Android following these points:

  1. Login to the CocoSign account through email address, Facebook or Google account.
  2. Access to your PDF file that needs to be signed electronically by picking on the "+” icon.
  3. Get to the sector where you need to write down your signature and produce it in a pop up window.
  4. Finalize and adjust it by picking the '✓' symbol.
  5. Save the changes.
  6. Save and share your document, as desired.

Get CocoSign today to help out your business operation and save yourself much time and energy by signing your Cpp 1 2018 2019 Form from anywhere.

Cpp 1 2018 2019 Form FAQs

Here you can obtain details to the most popular questions about Cpp 1 2018 2019 Form . If you have specific queries, tick 'Contact Us' at the top of the site.

Need help? Contact support

Which ITR form should an NRI fill out for AY 2018–2019 to claim the TDS deducted by banks only?

ITR form required to be submitted depends upon nature of income. As a NRI shall generally have income from other sources like interest, rental income therefore s/he should file ITR 2.

Which ITR form should an NRI fill out for AY 2018–2019 for salary income?

File ITR 2 and for taking credit of foreign taxes fill form 67 before filling ITR. For specific clarifications / legal advice feel free to write to dsssvtax[at]gmail or call/WhatsApp: 9052535440.

Can I fill the form for the SSC CGL 2018 which will be held in June 2019 and when will the form for 2019 come out?

No. The last date for filling up of the form of SSC CGL for the year 2018 is already over (although the examination has not yet been held). So, you have to fill up the online application form for SSC CGL 2019 if you are eligible. The notice for SSC CGL 2019 will be published only after May 2019.

How do I fill out the CBSE class 12th compartment 2018 online form?

its better that contact your school teachers as soon as possible they will help you out cause its there work to do so by last year there was no option to fill compartment form online i dont know about this year but contact your school first they will do what ever is required.

Do I owe Illinois use tax?

You can go to Illinois Department of Revenue . You should be able to contact someone there. Just say that you wanted to check if you had any unpaid taxes. Don't tell them about income that they haven't already received w-2 forms for. All you need to know is if there are any outstanding taxes that you owe.

How does Illinois use tax money?

“Your” tax money comes from “your” earnings, right? Maybe these earnings are a wage, or you made a profit as an entrepreneur. Now, imagine trying to do your job or run your business in a society where there is mayhem. In 99% of the cases, you wouldn’t make nearly as much money as you do. Instead, other people would make money. People who are better at bribing corrupt officials, speculating on a chaotic economy, or just by being a crony to those in power, etc. But you? You would have made poor life choices. You would be poor if you did what you do. So “your” taxes and “your” earnings are not just y Continue Reading

What happens if I dont pay use tax?

I am supposing here that you are talking about Income Tax. If you do not pay your income tax then you may fall into problem. It is also possible that you doesn’t get noticed and nothing happens. It depends largely on the fact that how you gets your income. For example if you are giving tution to some students and take fees only in cash then its likely that you doesn’t get into problem. But if you are receiving large amount in bank then you may not escape. Also another factor is the large expenses and investment you had made. If you had buy a car worth 20 lakh and giving your pan while buying then Continue Reading

Easier, Quicker, Safer eSignature Solution for SMBs and Professionals

No credit card required14 days free