This lecture masterfully prioritizes logical rigor over mere syntax, instilling the foundational discipline necessary for true algorithmic thinking. It effectively bridges the gap between abstract data modeling and practical programming sanity.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
CT Live
Added:to the course. So I'm Manipa. I'll be your lead instructor for this course.
Along with me, we'll have three other instructors. Uh Pra Nitish and Ash will be there. And other than us, you'll also have two Tiers this term. So uh you'll have Dan, Shu, and Sriak. So they'll be conducting the T sessions. I hope all of you are able to see all the session links in the calendar, right?
>> Yes. Yes.
>> Yes, ma'am.
>> Yes, ma'am. Yes ma'am.
>> If you haven't added it yet, please add it to your Google calendar. Okay, let me just share my screen quickly.
So today I'll just uh give you Yes, come on in.
Okay, so today I'll just be giving you uh an overview of the course, what all exams we'll be having, what's the syllabus, and we'll also start with a bit of theory from week one. So for week one the deadline is uh on this Sunday.
So we have session today and we have another session tomorrow. So please join that one also. So today we will be trying to complete the theory of week one which is not a lot and tomorrow's session we can take your doubts and we can do the practice assignment and the activity questions.
Okay. So in CT in total we have 12 weeks of content. Uh is my screen visible?
Yes ma'am. Yes ma'am. Yes ma'am. Yes ma'am.
>> Okay. So let me just go through the content one by one week wise. Right. So see mainly in CT course what we do is this is a precursor to programming.
Right. So next term when you'll be taking Python this course will help you a lot in actually coding in a particular language. So in CT we won't be uh coding in any particular highle language like yourself if you don't have a query.
Okay. So like I was saying in CT mainly we'll be dealing with first of all we'll start off with flow charts which is just a pictorial representation of how an algorithm is written. Then we will jump into pseudo course. So throughout this course we'll be dealing with pseudo for any exam. Quiz one, quiz two and term. These are the three exams we'll be having. So for any of >> my voice is getting freezed >> no it's audible >> now it's okay >> yes ma'am you are >> yes ma'am >> okay thanks so three exams will be there right you'll have your quiz one exam quiz two exam and interm exam so for quiz one the syllabus will be the first four weeks of content so that is the qualified syllabus also So and for quiz 2 we'll be having first eight weeks week one to week eight and for enter we'll have all 12 weeks right so like I was saying that throughout these three exams the one thing you have to be very proficient is in reading and decoding pseudo codes right since we're not actually writing any programs here we're just writing pseudo code that is that it is mainly when we write a code in normal English language right that you and I can just look at and Understand?
So writing pseudo course will start from week two onward. So first week we'll only see what are the different data types, right? How to write a flowchart, what each of the symbols in a flowchart means. So questions will also be based on these topics only. Okay. Now about the sessions in one week you'll have three instructor sessions. So first one is on Monday then you have on Friday and Saturday. All three are from 6:00 to 8:00. And for your TA sessions uh three or I think three to four TAS sessions will be there in a week. You can check the schedule in your calendar. Okay. So all links are given. Now in the instructor sessions the flow is going to be like this. So on the first day I will try to on the first day of the week that is usually Monday we will try to cover the entire theory part of that week.
Right. So content for every new week.
>> Yeah. Uh there's a overlapping of CD session and stat session.
>> Is it a TS session?
>> Yes.
>> Yeah. So TS sessions might overlap. All right. The only exclusive sessions are the instructor sessions. So for any two subjects the instructor sessions will not overlap but T sessions might clash.
Anyways, all the TA sessions are also recorded. So if you miss one, you can always watch the recording.
>> Okay. Ma'am between TA sessions and instructor sessions.
>> Instructor sessions are mainly for that is where we actually teach the concepts and we discuss the questions that is uh individually we'll take every practice assignment every activity question. In T session it is mainly for your doubt clearing. Okay. So none of the sessions are mandatory. You only join whichever ones you feel are suitable for you. But I would strongly suggest joining at least the instructor sessions daily because this is where most of the concepts will get cleared. Right.
>> How many sorry ma'am but how many days of the week uh like which days of the week uh will we have CT instructor session with you?
>> Three days. So you have on Monday, Friday and Saturday 6 to 8.
>> Ma'am, we will get the recording of instructor sessions too.
>> Yes. And all instructor sessions are also streamed on YouTube. So you can also get it from that channel only.
>> Okay. And I just want to ask one more thing ma'am. What's the deadline for week one graded assignment? Is it 21 or 24?
>> It is 21. I think all graded assignments are submission date is Sunday.
>> Ma'am actually on portal 24.
>> It's given 24 for other subjects.
>> On the portal it is given 24.
>> I just want to confirm ma'am.
>> One second. Let me check.
I think for uh foundation level maybe they've extended the red line.
>> M it's 24 in the top right corner.
>> 247 I'm not able to see it but 24 so this is good enough time. So we have a lot of time before the first assignment. submission but I think from week two onwards 24 is which day it is witness day right?
>> Yes.
>> So for week two I think it should be scheduled by Sunday. So anyways we'll have to start off week two by this Monday. So for week one two sessions are more than enough because there is not much content.
Okay. So next thing is uh the flow will be like this that first session uh first instructor session of every week we complete the theory part second session on Friday so you get four days in between to complete the assignments and all at least attempt the practice and graded assignments. So by that time in Friday we'll be discussing we'll be having a AQPQ session that is activity and practice questions we'll solve and the last session that is the Saturday one is usually where we take your doubts or we start off with the next week theory because all content is released every week on Friday.
So >> uh yeah >> I just now I am solving the graded assignment. Uh there is a question of a score. Uh but uh here here the comment data of Google Drive there is a problem.
One card is missing from the >> one card is missing from the sport.
>> Yeah, a lot of people were talking about that. One second. Let me show you one.
just go to this supplement.
>> So just go to this uh supplement uh not supplementary go to this course introduction and common data sets right.
So this is H. So you are talking about the individual cards in this right this course. This one.
>> Yes ma'am.
>> Yes ma'am. And there is a PDF also but >> yeah so what we suggest is that you go through this PDF instead of the cards individually right because that is very time consuming also. You don't want to go through one by one cards. That's why this PDF is given. Cards are just for you know for you to see that it is the same things that we are using as the props are using in the videos. But for solving questions refer to this chart.
Okay.
>> Here all the cards are >> h ma'am in which section we have to take 250.
>> Uh where did you find this chart?
>> Okay one second one second. First of all, this chart is coming from this um course introduction. Go to common data sets. Click here to view the data. Then you can get all the PDFs for every data set. Now, regarding that question about the graded assignment, so this particular question we get every term that question is not wrong. Just think logically what the question is asking, try to solve it. I will discuss it after the deadline is over. But the question is not wrong.
Ma'am, where to take 250?
>> Yeah, I can't help you. Right. It is a graded assignment. So after activity question.
>> Oh, you're asking about the activity one.
>> Yeah.
>> Tell me week one. Which activity?
>> Just moment.
>> See these are the data sets that we'll be using throughout the course, right?
We have sports data set, Olympics, library, shopping bills and words. Okay.
So these five six data sets uh yeah >> in A section we have to take above 250.
In B section we we have to take >> question you give me the question first.
Which activity? Which question?
>> That's the assignment question.
>> It is a graded assignment. I know as far as I know I think >> from the graded. Yeah >> assignment >> won't be discussed before the deadline.
This question comes every time that people are saying that this question is wrong. It is not wrong. Read the question carefully.
>> I was asking that I I wanted to download the PDF but it is downloading zip format and it is not opening in Mac.
>> Which PDF? This data set >> the course PDF I downloaded and it is showing zip file and it is not opening in MacBook.
>> You want to extract that then only. No, it is not extracting. No, I tried very >> then you can just take a screenshot of it, paste it on a doc and click that.
That is also >> Yeah, it is showing like that but it is not showing for me. It it shows zip file not audible >> now. Am I audible?
>> Yeah.
>> Yes. Yeah. So, uh this uh should work for everyone. I mean same things we use every term. But if you are still not able to get this PDF, I can send it to you on this course. So just a qualified student or foundation student.
>> I am foundation student. I joined through J.
>> So you uh excuse me ma'am.
>> Yeah ma'am. We are unable to access the discourse forum.
>> Why? What's >> like it is not opening. It is uh like it is coming that uh discourse will be opened by invite only.
>> That is not for qualified students. Only for foundation students discourses there for qualif No. I am a direct J entry foundation student. We have tried login in through your uh student ID and password right.
>> Yes. Yes.
Is it fine and why don't ma'am I also can't login in the discourse I am a qualified student I qualify it and I have completed my one term and this is currently my second term uh still >> this for city you are not able to access ma'am anyone >> ma'am there is an email link in the local studio in the last page of the local studio from there you can get that invitation and join the discourse Okay. But if people don't know about all of that, right? So you can just drop an email to support. Okay. They'll add you.
Just uh put your uh student ID. That's it. And the password. Even if you don't have the password, just drop them a mail that you're not able to log in. Okay.
And for foundation students, we uh qualify students, we have the Gspace for discussion.
Okay. So this PDF that you're not able to access. Yeah.
Mom, we had told that uh we'll have three TA sessions per week.
>> Three to four, I'm not exactly remembering. I think three or four TAS sessions will be there.
>> Mom, every day there is a TA session. Uh >> yeah. Yeah, almost every day.
>> So, it going to happen every day.
>> Yeah, if it is scheduled every day, then it will be. I'm not exactly sure. I haven't checked the calendar yet.
>> Because like last two days, uh there were scheduled sessions, but it did not take place. So, No the session started today only. So after this all the sessions but then it is overlapping with other sessions >> sessions will overlap. There is nothing we can do about it. Only instructor sessions are exclusive ones.
>> And when will we disable ID cards?
>> Uh these operational queries I cannot help you. Please ask support.
Okay one second. Now I'll just paste this course data set in the chat box.
The PDF itself. You can take it from here.
Ma'am, which code you said about uh city that we will be learning?
>> Pseudo code. It is not any programming language. I'll come to it once we face this.
>> Ma'am, I have received the message regarding the content release of the week 2, but on the portal I can't access the week 2 content.
>> Week two content is not released. Uh it is released uh today only, I think.
Yeah, I have received email regarding the week to content release but on portal I can't access it.
>> You have the right link for the portal.
>> By tomorrow you will be getting the access morning. Wait till tomorrow morning.
>> See this uh I have posted in the chat.
You're able to access right the PDF.
>> Put a note and will be taken.
>> Yes ma'am.
>> Yeah, I will take the class only. I just want to get this out of the way first.
One second.
>> Ma'am for about the doubt >> one by one. Yes. What is the doubt?
>> No, I have doubt. So today will it be solved or today theory class will be taken? theory will be there and if you have any question doubts and any specific questions also you can ask >> for math from for quiz one it's week one from week four and for quiz two is it week one to week eight or uh week uh week four to week >> 1 to 8 first week first eight >> okay so again all other questions let's do it at the end of the class we need to start with the theory okay >> then when will the phase one >> next month I think around 19th or 20th just right after the week four deadline >> yeah okay so let's start with week one then okay first of all anyone can tell me what is the difference between a pseudo code and an algorithm >> code is just an English language just to describe what's going on and algorithm is the key foundation of the program.
>> Okay. So, sudo code and actual code in any language, what is the main difference?
>> It doesn't follow any syntax rules or anything.
>> Correct? There is no syntax, right? We are just using normal English language. So, before we jump to pseudo course, we have to see that how to build that logic, right? So let's say I have a classroom of students 30 students I have like in your scores data set I want to find out who scored let's say the maximum marks in mathematics okay so for this I have an algorithm right that means I have to compare the scores of all the students and then I have to keep track of the maximum score in a separate variable so this logical thinking that is how to solve the problem this road map to solving a problem is the algorithm itself >> this is not from week one it >> what what is not I haven't started with the content yet I'm just giving an introduction >> okay so uh h so that is your algorithm pseudo code is when you write down that step by step that is step one step two like this we'll write in pseudo code that is the pseudo code just the English version okay now when you want to code in some highle language like python or C then you have some fixed set of rules rules and syntax that you have to follow right like next time when you go to Python you will be able to relate the same concepts except you'll have a set of rules that you need to follow when you write the code okay in pseudo code there are not much rules so first we will start with flowcharts okay so flowcharts are see it is just a pictorial representation of a of an algorithm or even a pseudo code you can say okay any algorithm can be expressed in the form of a flowchart It is the most basic way of learning programming.
Right? So why flowcharts are not used everywhere then if it is the easiest way to write a program or write an algorithm. Why? Because as long as your program is very small, very simple like I'm trying to find maximum number of maximum marks in a class of students.
These are very generic problems, right?
So for this you can use flowchart because it is able you you'll be able to draw it. you'll be able to contain it and even if you want to make some tweaks it is very easy to maintain because it's a small code right if you write this code in Python it will hardly take two three lines of code but as your problems complexity increases the algorithms will also become more complex right so when you go into diploma level uh you'll be learning this PDSI subject so there we'll be discussing algorithms in using Python right so you will see that there is something called complex complexity of an algorithm right timing complexity so like if I want to let's say >> ma'am come again >> am I audio >> ma'am >> how can make an assignment and change the >> how to submit assign assignment.
>> Yeah. Yeah.
>> This is the assignment page >> ma'am enter exam will be subjective or objective.
>> All exams are objective.
>> Okay.
>> So ma'am basically the quiz one are and quiz two are in the qualifier exams.
>> Quiz one is >> quiz one is so it will be in the exam right? Exam center.
>> Yeah. Yeah.
>> All right. I somewhere here that the exam are like some exams are done from the home also.
>> Yeah, those are programming exams. Okay.
In diploma level or in Pyth like uh when you take Python next term then you'll have the programming exams which you can give from home. All other theory exams are in center.
>> Okay. Anyways, regarding all of this individually all of you will get mails regarding all the exam information.
Okay. So this is the practice assignment. So you just mark your screen is not visible.
>> Um ma'am this is not for Python class.
>> This is city.
>> Okay ma'am I'm not getting the link for the Python. What to do?
Uh do you have discourse access or if you have any of the instructor email ids just drop them an email.
>> Okay ma'am >> ma'am when is what is the deadline for the CT assignment week one assignment ma'am >> you can check all the assignment deadlines on the top right hand corner here rightth of June. Okay quickly let me show you how to submit an assignment. I really have to start with the content, right?
Okay. Just click on this tick box here.
This is a new UI we are having this done. Then you do start assessment.
Answer all the questions one by one.
That's it. Just submit at the end.
>> Thank you ma'am.
>> Okay.
H. So coming back to this. So now let's say I have some 50 numbers. Okay. 50 random numbers I have. I they're in any order. I want to sort these numbers. So I can either sort them in ascending order or descending order. Right? Now why I'm taking this example is because again in future you'll learn that there are a lot of algorithms to do this simple task of sorting. Right? You will say that if I have 50 numbers I can individually go through the numbers compare and sort. There is I mean that is how we sort usually.
But why do we have so many algorithms doing the exact same thing? This is because of this timing complexity.
Right? Space complexity is also there.
So what do these words mean? Timing complexity means how long is your algorithm taking to run right? Some algorithm might sort your uh for example this is not actual timing I'm saying let's say I use this algorithm called bubble sort okay there is an algorithm called bubble sort. So that takes let's say some 50 milliseconds of time to perform. Okay, for example, then I do one more sorting using another algorithm called quick sort. Okay, let's say that takes 20 millconds. So obviously you might pick that one. But again there might be some advantages to bubble sort that quick sort doesn't have right maybe it takes less space right all the programs that are running you need to allocate some space to them right when where do our these whatever we are doing on a computer where does all the task happen happens in the main memory right so you have to allocate some space >> like are we talking about the >> sorry >> like are we talking about the space the program takes in the hard drive or the the space it takes to run >> no space it takes to run.
>> Okay.
>> Okay. So that is the timing complexity of how much time it takes to run any algorithm. So like that there are multiple algorithms that achieve the exact same goal. But all of them have some trade-offs. So before we move on to all of that before we write any program we'll start basic with this flowchart.
So four things you need to know. Okay four symbols. First is this process or activity box. Right.
Just a second.
Okay. So, first is our process or activity box that is this rectangular box that you can see here.
>> Then we have an arrow.
>> I think >> Yeah. Yeah. Actually, I am uh I had to turn it off. I'm having a little bit of internet issues. Once it is sharing the chrome screen >> another screen >> I'll just share the entire screen.
>> Yes.
>> Now fine.
>> Yes ma'am.
>> Yes ma'am.
>> Yes ma'am.
>> Okay. This is your first box that is process or activity box. This is where we write the statements. Right. So any statement that I'm writing let's say I want to assign a variable some value.
Okay let's take a a variable x. So I say x equals z. This is assignment operation. This happens in the process or activity box. Okay. Any kind of assess uh assignment that you're doing any kind of activity or process you are running.
This is happening in the process box.
Next the flow line or arrow. This is what will connect all of the boxes together. This is to show you how the program flow is. Next is your decision box. The diamond box. This is where you ask the if questions, right? So if conditions, any conditional statement will come inside the decision box.
Right? So whenever you ask a question in this context there is either a yes answer or a no answer. So out of a decision box, you'll have two arrows at max. So one is the one will be the yes, one will be the no hand. Right? that is if this condition is satisfying then yes if it is not then no >> ma'am what about or decision >> or decision uh that will also okay so or in CT you will see that we usually use this or and all of these conjunctions within the statement itself so it will also come under decision box okay so terminal symbols are the last ones look very similar to the process activity boxes This is the rounded edges you'll see that is the terminal symbol.
So two terminal symbols in every flowchart start and end symbol right so usually when we write pseudo code we won't be writing start and end this is just for flowchart so four symbols you have to remember now >> excuse me ma'am >> every question which has an answer and yes or no like we will have to add it in the decision box. Look basically uh it will not be so much of a question as a condition right you have to ask whether this condition satisfies or not okay let's say for example I'm saying that I want to find out the sum of mathematics marks of all girls in the class okay so every time I pick a card of a student how will I know whether I need to add their marks or not I need to check the gender attribute right so my if condition will be if gender is equal to girl then I will move on and add the max marks to the sum. That's the condition.
If it is a boy card, then that if condition will be no. So we'll go to the no hand and pick the next card. I'll show all of this using example. Okay, for now just see the symbols.
So process activities box is for set of operations that change the value of variable like assignment operation or like I said that if I want to calculate the sum, so sum is going to be constantly updated, right? I see the first girl I will add her marks to the sum variable. Then the second person the second girl her marks to the same sum variable I have to add that means this variable is dynamically changing values getting updated. This is part of process or activity.
Flow is flow line or arrow is like I told you it shows the order of execution.
Decision boxes determines which path the program will take. So that is based on the condition whether it is satisfying or not. and terminal just indicates the start or end of the pseudo code or sorry the flowchart.
So first we'll take an example. Now what is a flowchart for counting cards? that is let's say I take the scores data set right now in a scores data set every card has some attributes right so what are the attributes in a card so firstly we have the student name we have their do >> what else do we have we have the town belong to right we also have the marks for maths physics and the total marks and we have one more important thing that is the ID Right? Every card has an individual ID, unique ID. So these are all the info in any card in the scores data set. So in exam don't worry, we'll be giving you the uh template of one card from each data set. So you'll not be need see in the assignments you can see that there are certain questions which require you to go through the entire data set and see every card value. Right? So those types of questions will not be there in exam. In exam you just need to know the template of a card. you won't have to go through the entire data set. So the template will anyways be provided.
So now my job is that I want to know how many cards are there in this course data set. Okay.
So how to do that normal calculation?
We have to go through each of the cards and do + 1 + 1 + 1 every time I see a new card. So first symbol that I need to write when I'm drawing the flowchart is the terminal symbol that is start symbol.
Okay. So here you will see this language is used very often that uh all cards are assumed to be in a single pile that is all cards are in one pile at the beginning of the program. Right? Then we can pick the cards one by one from that pile. We call it pile one. Okay. This same langu lingo will be used in your uh assignment questions, exam questions, everywhere. You can see that wherever we use pseudo code, we'll be using this that while there are more cards in pile one, pick the next card. So if pile one gets exhausted, you have picked all the cards. So once we pick a card from the pile, we don't put it back in the same pile, right? That means we'll be duplicately seeing the same card again and again. So once you pick a card from pile one, you read that card and you move it to a separate pile. pile two, pile three, whatever it is. Okay. So, how long will I see that uh whether I need to count more cards or not? As long as there are more cards in the pile one, that is the initial pile of cards. So, when pile one is empty, you can stop your execution, right? That is we have seen every card.
So, first box works terminal symbol start. Now, I need to count right how many cards are there in scores data set.
So, I have to take a count variable, right? This is where I'll maintain that count. So count variable will be initialized to zero. Why? Because currently I have not seen any cards.
Currently all the cards are in pile one.
I haven't picked any card. So currently the count of cards is zero. So this is assignment.
Now you will see that there is this symbol and there is this symbol. Right?
This is assignment. This is what this is comparison operator.
>> Equal. equal to equal to double equals to means if I write a= to b. Okay, this means that a is exactly equal to b. If I write a equals to b, that means I'm assigning b's value to a.
Okay, so wherever we want to compare two items, we'll be using this comparison operator. So first count is initialized to zero in a process box. Right? All assignments happen in process box.
Now, now you'll have an iterator. Okay.
So, when you uh learn programming languages, you'll see that there are this concepts of loops, right? So, we have for loop, while loop, do while loop, many loops are there. So, loops are used why whenever I need to perform the same set of operations multiple times, right? That means let's say I need to count cards, right? That means I just need to pick a card from the pile again and again and again until the pile is empty. So I'm basically repeating the same set of instructions. I'm picking a card. I'm counting. I'm adding one to count and I'm moving it to a separate file and I'm picking the next card.
So this set of operations that is getting repeated so many times so that we don't have to keep writing that code that many times. We put that particular set of instructions which is getting repeated inside a loop. That means as long as the loop is running, there is some condition when the loop will stop.
Otherwise it becomes an infinite loop that keeps on running forever. So we have to make a valid loop which will stop at some point and as long as the loop runs the repeating instructions will follow. Right? So this is an iterator. That means we need to repeat the following steps here. We have to pick a card from pile one move it to a different pile. Increment the value of count. That's all. Right? When do when when does the iteration stop when pile one is empty? Okay. So that's our stopping condition for the loop. So where will I put a conditional statement in a decision box that is this diamond box we have? So next question you're asking is are there more cards in pile one? So pile one is your initial pile of cards. The question is are there more cards in pile one? Means can I pick a card or is it exhausted?
So we need to pick a card from pile one but we can only do that if there are more cards to pick in pile one. So that's the next question. Now the answer to this can either be yes there are more cards or no it is exhausted right? So we need to write for both scenarios. First we will write the yes route. So there are more cards that means I will go this way. Now you can put it anywhere. You can put yes here also. Okay. Anyways so yes root means that the condition was true. There are more cards. Whenever condition is false you go to the no route. So if the outcome is yes uh sorry if the outcome is no that means there are no more cards in my pile I have counted all the cards already at that point you can stop the iteration and come out of the loop and end the program right so you will just directly skip to end terminal symbol now if there are more cards that is let's say I have just started counting there will be all the cards in the pile then I'll go the yes route so there are more cards next job is to pick a card. So pick a card from pick a card X from pile one. We'll call the card X. So that is also inside a process box obviously because this is some kind of an activity we are doing.
So pick a card from pile one. Next your job is what? You will remove that card and move it to a separate pile. Right?
So that we don't read that card again.
So move X to pile two is the next step.
Now once that card is gone, that means you also have to increment the count.
You just saw a card, right? So, next step is increment count. So, increment count means add one to the value of count.
Now, what happens after you increment count? You have to pick up the next card. So, now this flow arrow will go back to the decision box. This arrow, right? That means once incremented count again you ask the questions, are there more cards in pile one? If yes, again do the same thing. Whenever pile one is exhausted you will go to the no hand and terminal symbol. So this loop that is this is box still pick a card then move it then increment count. This is where the iterations are happening. This is the example of a loop.
Okay. Now so far in the pseudo code anyone has a doubt.
>> Can you repeat what is iterator? Your voice was not clear actually.
Iterator see iteration means that whenever we are doing this repeat step of instructions this is an iteration okay that means every time I'm running through this loop is one iteration whatever variable I'm using in my loop is the iterator which we don't need to concern ourselves with right now because we are not using loop variables >> ma'am is there a definition for the iterator >> Iteration or iterator which one you're asking Definition for iterator. An iteration.
>> So an iterator is what? It is a object.
You can say it is a programming object.
Okay. So this is the object that you use to complete the iteration. like here uh when we write in any classic programming language let's say if I write a loop in C okay a for loop then I'll say for I'll take some iterator variable like I I= to0 till I less than 5 I ++ okay this is one loop in C language so here this I is the iterator variable that means how long will this for loop run so see inside the for loop there are some instructions these are the repeating steps Think of these steps. Okay, these are here. These are the repeating steps. How long will they repeat? As long as the iterator is satisfying the loop condition. That means I'll start I with zero and then I will go up to as long as I is less than five. So after every iteration, I is incremented by one. So this loop variable is an iterator. I don't want to get into this concept because we don't have it in C. Okay, we won't be using iterator variables like this. We'll use it in a different context. But iteration is this process that this every time you go through the loop is one iteration.
>> Ma'am, I doubt that why we why we first move the card and then do the conditioning on it. Why we why why can't we just uh put put the condition after the picking the card only?
>> Well, you can put uh you mean increment, right?
>> No, no, not not in not I'm not talking about the increment. I'm talking about the other other kind of condition like for example count of girls or etc. Yeah, then that means what? That means you have to add some more conditional boxes inside this loop, right? Currently you don't have that the next example only is that thing that you're saying that's some other condition if I want to ask >> lecture in the lecture. Usually the this condition happens after the after we move the card to f pile two. So can we do this after before moving the card to pile two?
>> See if you don't move the card to pile two that just means that the card is still in the same pile. So if you don't move it before the next iteration, we cannot eliminate the chance that you will pick the same card again.
>> Okay. Okay.
>> So it is always when you read a card, you move it to a separate file.
>> Okay. So >> and then we move the card and then we do the analysis on it.
>> What exist?
>> So that's why it is written that read the card and then move it to next file.
That means read the card, you are retaining the information from the card.
Can I say?
>> Yeah.
>> Like first we pick a card and then we read and then move to pile two. Or we pick a card and move it to pile two and then we read.
>> You first pick a card, read it, move it to pile two, then you >> Yeah.
>> Okay. Okay. Okay.
>> If you already move it and you don't have the information from the card, then it's useless, right? You need to read the card first, then you move it to. So these are just statements that will be there in the pseudo code. Okay, this is >> ma'am in this for loop uh if the i equal to0 condition satisfy then it will move on to i less than >> i equals to0 is condition actually this is the stopping condition so this is why I didn't want to discuss because you don't know this syntax right how a for loop is in C programming so this is the stopping condition this is the initial state of the variable that I starts from zero I can go up to the value I equals to four as long as it is less than five that means 0 1 2 3 4 these are the values I can take. So that means five different values I can take. So five different iterations can happen.
>> So ma'am first of all uh the condition will be initialization and then if the initialization is like satisfied it will go to I ++ and then it will go to I less than N. Yes ma'am.
>> Yes. That means see what happens is first you check what is the current value then you check whether it is less than this value the threshold value then you do the iteration then you increment I value by one and go for the next iteration and again do the same checks >> okay after the iteration we will uh like go >> again I the same condition so here i is zero then after the first iteration you increment i becomes one so next condition We'll check that now i is one.
So is one less than five? Yes. So that means I can have one more iteration.
>> Okay.
>> Okay. But none of this is required in CD. Okay. Because we are not using an actual programming language. You'll just write in pseudo code.
>> Actually I have read this in Java ma'am in class 10th. If you are familiar with programming languages then this should be very simple to do.
>> Okay.
>> See first this step is the initialization step right you initialize the variable. So put all cards in pile one and set count to zero. This is the initial state of the variables. Then you ask the question the condition whether there are more cards. Pick a card. Read it. Move it to pile two. Increment count. again go check the same condition as long as the condition is wrong or false then you end the program.
Now just to make it a bit more interesting we can ask that uh flowchart for sum of maths marks. Okay so till now we were just counting the number of cards. Now I want to know what is the summation of maths marks of every student gender wise they're not discriminating all students.
So for this see this was the flowchart for counting right now in this we can make a few simple tweaks and we can do the same thing here only. Let me show you the final one.
Okay, see this code. So first we start here.
This is the terminal symbol. Then we initialize the variables we need. So we are finding what? Sum of math marks.
That means we need a summation variable where we will store this sum. Right? So that is the sum variable. So set sum to zero. Currently we haven't seen any cards. So sum is zero. Right? All cards are in pile one. Same conditional statement. If there are more cards, yes, then you pick a card, read it, move it to pile two. And now that you know the information in the card, that means you know the maths marks in that card. So you just add card X's math marks to some variable. So let's say the student scored 19 math. So now sum will be it was zero. So 0 + 90. So like this you continue for every card, right? So sum variable keeps on getting updated. All the values are getting accumulated into sum.
This pseudo code is clear for everyone not pseudo code flowchart.
>> Yes ma'am.
>> Yes ma'am.
>> These are the this is the easiest part.
So from this flowchart part you'll be getting maybe one or two questions in your quiz one right but is mainly we'll be focusing on single code which is starting from week two. So that's why I'm saying two sessions are more than enough for week one. Okay. It's very simple content. ma'am.
>> So these are >> Yeah.
>> Uh you said about the uh I is equal to zero first and after sometime I I becomes the number of cards right?
>> Uh what is I? It is it your count if you're taking the n number of cards at the end of execution I should be equal to n.
>> Okay.
>> Okay. Okay.
Let's see the steps. First, your terminal symbol. Then your initialization. Then you see if there are unvisited cards. If yes, then you pick an unvisited card. Mark it as visited. Update the variables. Loop continues till the unvisited elements.
There are no unvisited elements left. So then you end it.
Okay, this is the first slide. Now let's go to the next one. That is now we'll be adding the filtering techniques, right?
So filtering means what? We are just adding some new filters, right? When you are checking for let's say doing some shopping online. So I'm checking for t-shirts, right? Then I can add, right?
That I want t-shirts that are in a certain color. So that's the filter I'm adding. Same way here I was calculating what marks of students. Now here I can add a filter. So flowchart for that same sum but with filtering.
So now my new problem is sum of boys max marks.
So I have to filter out which cards belong to boys and only take their marks. So this was the previous pseudo code, right? Where we were only calculating the sum of max marks of all students. Now where can I enter this filter? That is every time I pick a new card, I want to apply this filter on that card that whether this card belongs to a boy or a girl. So somewhere inside the loop I have to fit in a filter. So that can be here. So once I pick the card, read it and move it to pile two. I can ask is X a boy.
Right? This is another conditional box.
So here also two answers possible.
Either it's a boy's card or it's a girl's card. So X is a boy. Yes. Then add card X's math score to sum. Okay. If X is a female that means nothing. You will just have to go back and pick the next card. So for that what should be the I mean the no hand how should it work if it is not a boy's card right? If it is a boy regarding this >> miss ma'am if we uh if we take X is a boy before move X to pile two.
>> Listen one more time I will explain this thing. These two steps are there. This pick a card X and move it to P and root.
These are just English language steps.
You do not use them anywhere in programming. Okay? This is just so that you know we are not using duplicate cards. That is every time a card is read, it is not put back in the same file. It is put in a different file.
Right? That's just why it is given.
Doesn't matter in which order you're doing it. As long as you're reading the card and making marking it as red, it is fine.
Ma'am, what does actually pile means?
>> Pile see I told in the beginning know that all cards are in a single pile. We consider that pile one has every card in the data set initially and we read the cards from that.
>> Is there any limit like we will take check for only two pile or we can continue.
>> There is only a single pile in the beginning. All your cards are in a single pile.
So like in the scores data set I have 30 cards. So all 30 cards in pile one. Now you pick out one card from pile one, read it, move it to a separate pile, a new pile. Okay? So that we don't read that card again. Just that's the idea.
You have to uniquely identify all cards, right? You cannot read the same card again.
>> Okay? Thank you, ma'am.
>> Pile two is a separate card where the number >> pile itself. It is it is an empty pile.
>> It has nothing. When I read a card from pile one, I just move it to a separate pile. So I don't read it again. That file doesn't have anything.
>> Okay ma'am got it.
>> Ma'am, what is mean by filtering?
>> Filtering. See, now this is the question we are asking here. So we said that this was previously the pseudo code to find the sum of max marks. Right? So here there was no condition imposed on it that max marks, boys max marks, girls max marks. So we didn't do any filter according to gender. We just calculated the sum of maths marks of all students.
Right? Now I'm saying find the sum of maths marks of boys. So this gender discrimination whenever we are doing this that gender is specified. Right? So this is your filter. So now I have to filter out those cards which are belonging to boys students.
So for that now I'm adding another conditional statement here where every time I pick a card I will check whether this card belongs to a boy. If yes then only add their math score to the sum variable.
But what if no? If it is a girl's card then you then what you do? You do not add their sum to the their max marks to the sum variable. Right? So you just have to ignore that card and you have to pick out the next card and again check if it belongs to a boy or not.
So ma'am if the card is separated and it is selected to the pile one to pile two ma'am.
>> Yeah.
>> Yes. Thank you.
>> Mate the card gets rejected.
>> Which card gets rejected?
>> M if a card X is a girl then at what step will it get rejected? here only that is what I was going to show that if X is not a boy so there will be a no hand here right >> ma'am so if this card gets rejected nothing to be done if X is a girl right that means here the no hand is if X is a girl directly go back to this this step and pick the next card so that card doesn't do anything as soon As it is rejected, we go and pick the next card.
>> Uh if the >> if the card is not avoided, then we is it in pile two or not?
>> Where is the Okay, you tell me where is the condition being checked? Is it before moving to pile two or after?
Uh okay, after moving to pile two. Sim you read a card, move it to separate file, then you do everything you need to do in the program.
Why do we put it in a separate file?
Just to make sure that you know it is a marked card. We have already read it.
Don't want to read the same card in the future.
Okay. So if it is a girl directly go >> can we use can we use two decision box consecutively one after one?
>> Yeah sure. If you have nested if conditions nested conditional statements you can use. No in this in this flow step if we uh if we take two decision box one after one consecutively means more cards in pile one then X is a boy after that PK card X from pile one >> no these two conditions don't make any sense together first condition you're asking whether there are more cards with that how can you check whether this card is a boy or not you haven't picked a card yet you're just asking if there are cards Okay.
>> No. So we can interchange in between means x is a boy and move x to pile 2.
>> Not required, right? Just follow this format because this is what we will be using throughout the course. Yes, if you do it, it is not wrong. It is conceptually not wrong. If you move the card to pile two later on, you can also do it at the end of the loop. That is also fine. But if you remember a particular structure, you'll be able to familiarize with the exam questions.
>> Okay.
Ma'am what we have more time what is the difference between flowchart with filtering and flowchart without filter.
>> What did you understand uh what a filter is from this example?
>> Condition.
>> So can I have condition boxes in a flowchart?
>> Yes ma'am.
>> The condition box is a flowchart with filtering.
That means wherever you are using an extra filter like if I am taking all students into consideration then it is not a filtering. If I'm taking every card I have it is not a filtering. If on that data set I'm taking a particular set of students based on something like people who have scored greater than 200 overall. So that is a filter I'm putting on this data set. Okay.
Both are this is just an extra question.
>> Uh can we use any operation for the box?
>> As long as it is an activity or a process.
If it is a condition then you use the condition box. Other than that all operations happen in process box.
>> So we can use addition, subtraction, multiplication and >> everything. Yeah. All arithmetic operations, logical operations, everything happen in process box.
>> Okay.
>> Okay. Now let's say I want to find the sum of both boys and girls marks both of them. So we will start with the terminal symbol. Now I want two separate summations, right? I want a boy sum and a girl sum. So I will introduce two variables now. Two different sums I'm counting. So girl sum set to zero, boy sum set to zero. assignment is done.
Next, you ask whether you have more cards in the pile. Then pick a card.
Read it. Move it to a separate pile.
Next, you check if X is a boy. Right? If he is a boy, yes. Then add the current card's mathematics score to boy sum variable. If X is not a boy, that means X is a girl. So you go to this arrow and you add card X's math score to girl some variable. So this is where the filtering is happening. If it is a boy, add to boy sum. If it is a girl, add to girl sum.
And either way, you have to go back to this conditional statement again. When will we stop? When there are no more cards left in the pile. Then exhausted pile. So you go no end. No more cards to pick.
This is just variations of the same pseudo code. Okay. Just showing you with more variables.
>> Ma'am, I have a doubt.
Ma'am uh first of all we will pick a card X from pile one and then we will see its data. Now after uh seeing the data we will move the card to pile two.
But here like we are doing pick a card X from pile one and then move X to pile two. First of all uh it shouldn't be like pick a card X from pile one and check if it is a boy or not.
>> All of that is not going to be written in pseudo code. You're not see it is in English but it is very brief English.
Okay. It's not going to be that intense that every little step will be written.
You have to understand if I'm picking a card, I'm obviously going to read it.
>> Yes ma'am.
>> This is just technical. Okay. Similar same way when you write a loop in any programming language, you don't write exactly what is being done, right? You just write the technical terms.
>> Okay.
>> That's same thing here. It means that it is being read before moving. So in some of the pseudo codes, it will be written also that you pick a card and read it from one then move to B2.
>> Okay ma'am.
Okay. So that's this slide. So anyone has a doubt till now this uh flowchart again. Sorry.
>> No ma'am.
>> Ma'am instead of using pile two uh can we use another one? P can we create another you use any pile? Okay. Pile is pile one pile two. This is just variable names.
Anything you use is fine.
>> Yes ma'am. Thank you.
>> Okay. Now this is important. Okay. First let's learn about what are data types.
So there are some principle data types and then some data types are derived from that. So data type means what every variable that we are using. Okay. Like this x variable a b c whatever we are using. Every variable has some data type based on what data it is storing. So let's say I have a variable X in which I stored the value 10. So what type of data is X storing? Integer type of data. Right? So I can say the data type of X is int or integer.
Now let's say in that same X I decided to store this just one character.
>> Okay, that means it's string, right?
Yes. One character inside a string. That means X is what type of a variable?
>> Stream.
>> String type. If I assign just a character, then it's a CAD type of variable.
>> Ma'am, what is a string variable?
>> String means that >> I'll come one by one to all the variables. Okay, right now I'm just saying what are data types. That means whatever data you are putting or storing inside a variable is the data type of that variable. So mainly we will be learning about CAD, string, int, boolean. These are the different data types. See one by one we'll see.
So why we are studying this part is because we learn about something called sanity of data. Sanity of data means let's say I go to the market and I say give me 1 kg of t-shirt. That's not how you buy t-shirt, right? You will either give me give me two t-shirts, five t-shirts. So there is a unit that we use, right?
I won't go to uh let's say okay any example you can take that I cannot say that I will buy let's say 1.5 pants that cannot be how you quantify pants right so this is what sanity of data is so we organized our data set into cards right every data set is in the form of cards whether you take shopping library scores so each storing one data item so Each card has a number of elements.
Example, let's say in the scores data set, we have these maths marks, chemistry marks, physics marks. These are all what numbers only. If I have scored 60 in physics, what is that 60? It is a number, right? Or if I have my name in my card, the scores data set has the student name also. What is the name? It is a sequence of characters, right? It is a string.
So we observed that there were restrictions on the values each element can take. For example, can I say that I have scored 300 in chemistry if the exam was out of 100. So that is an insane data. Right? For example, marks range has to lie between 0 and 100. Again, names will not have special characters.
Right? So there are certain constraints on the kinds of operations that we can also perform. Like I cannot say that if I if I have this variable let's say a and b Okay, I cannot try to perform an arithmetic operation on these two string type of variables. If I say A and B are string type, arithmetic operations I cannot do. For that I need integer type variable. Right? So that means that there are constraints on what type of operations also we can perform on a variable.
So compare one name with another. So this is where boolean comes in. So boolean data type is what? Whenever we ask true or false. Okay. So for example, if I ask you that uh okay let me write a conditional statement. So if some x card I have picked from scores data set if that student's maths mark so if x domaths is equal to equal to 90 that is if this person has scored exactly equal to 90 in max then I will do something okay so let's say then I will set the flag variable to true so that means flag was init Initially let me initialize flag as false.
So initially flag is a variable which had the value false stored in it.
Whenever a variable has either a true value or a false value stored, it is of boolean data type. So here after this initialization, I'm checking whether the match marks of the current card is equal to 90. If it is exactly equal to 90, then I'm changing flag value to true. So this doesn't make any sense. I just wrote a few lines just to show you that what is boolean value right. So boolean values can change or update based on such conditions in a program environment. So any true false value means boolean type variable.
Now boolean type variables also let you compare. Okay, that means uh >> ma'am what? Yeah.
>> Ma'am, you have initialized flag as the default value. False.
>> I'm not able to hear it. Come again.
>> Ma'am, flag you have initialized default like false.
>> I have just initialized it to a false value. Yeah. Okay. That means flag is already a boolean variable. Next, I'm saying that okay, let's put some random condition. If the current card's max marks is 90, then plan will be set to true.
So this type of you can compare one person's name with another. So let's say I pick two cards X and Y. Okay, both cards have some person's name on it, some students name on it. So I will check that X dot name is equal to equal to Y dot name or not. That means do these two people have the same name.
Okay. So this type of comparison operation whatever result this yields.
So if these two people X and Y have the same name then this will give true value that is X name is equal to equal to Y name and if it is not they have different names then it will generate a false value. These are boolean type of values.
So now as by associating a data type or simply a type with a data element we can tell the computer or another person how we intend to use a data element. So that means whenever I have an integer type of variable you instantly know I can do arithmetic operations on it. If I have uh some kind of let's say comparison to do I instantly know that the result will be in boolean either true or false. So just by seeing the data type you can tell a lot about what I intend on doing with that variable.
So what are the different ranges of values that element can take like if I have an integer type of a variable? So there is a fixed range for integer variable right. So for like that we also have a string uh I'm sorry float float variables are also there. Float means what? Decimal point decimal.
>> So whenever I >> whenever I want to store some decimal point uh related value I'll store it in a float type of variable. Right? That means that value itself is a float type.
So like 32 bit signed integer it ranges like it's a huge value some 21 47 starting with that like negative of 2147 something something to positive of that same value. So that's the range that an integer can take. So if you want let's say some so that value of normal 32-bit int is some 10digit number. Okay it's a huge range. But let's say I want to go outside of that range. I want some even bigger number. So where will I store that? Can I store that in an integer type of variable? No. So I will again go to the next data type which is long integer that lets you store even bigger values. Right? We don't have that many data types in CT because we're just learning the basic ones first. So we'll deal with int, cat, string, boolean mainly these four. Okay. Now see what each of these are basic data types.
First we have boolean.
Yeah.
>> Ma'am, can we do any operation on the float data type?
>> Yeah. Yeah. Float also you can do.
>> Um what operations?
>> Yeah. Arithmetic operations you do on integer you can also do on float.
Floating point multiplication. Uh subtraction is there.
>> Okay. But if you can do operations on float data type then why do we have to convert those uh that data into integers? No, you don't need to convert.
If you want the result in floating point, you can keep it in floating point. That is totally up to you. You want to convert to integer or not. There are plenty of instances where we use just floating for variables.
>> Okay. Okay. So, >> can we do operation of strings?
>> Yes, string operations. You can do concatenation.
>> String operations, you can also, you know, traverse a string or check if a character is present in a string. Lots of operations are there. I'll show you one by one. See, first is our boolean data type. So it has only two values. It can take either true or false. Right?
This is the simplest one. What are the operations you can perform? You can perform and or or operation and the result type is boolean.
Okay? So let's try to understand this using binary. Okay, that is very simple.
So binary we have zero and one, right?
So are any of you aware of this and or operations on binary?
>> Yes ma'am.
One one true false >> zero means false one means true >> right if I write zero and one >> zero false >> so same thing this is the boolean result okay whenever you do this type of operations or and these type of operations or you are even doing a comparison operation like I said with double equals to always the result type is boolean. So this is the application of boolean variables.
Now this one is what you will see >> slide once more just once.
>> Okay. Yeah.
>> So this uh >> excuse me ma'am.
>> Yes ma'am. Like uh in 11th and 12th I was actually a computer science student. So we learned boolean as a subset of integers for the same reason we use zero as false and one as true.
>> So is it the same thing we follow here?
>> Yeah same thing. Oh okay.
>> See here only boolean you will see since in CT we are not going to be doing much of see where it is used mainly and or we learn in digital electronics that part right but in CT we are just going to use boolean mainly in comparison operators or if I want to let's say combine two conditions let's say I want to check if a card belongs to a girl and that girl has scored above 250. So I will join these two conditions inside an if statement. So let me take an example. If I write if X domaths that means this person's maths marks is greater than 80 and X dot gender is equal to equal to male.
Now what what can be the possible results? If I find a person's card who is a male and has scored let's say 85 in maps for them both the conditions are true. So true and true this gives boolean value true like one and one.
>> Yes.
>> Okay. The same thing. So integer data type see this is the range. So 01 -23 like this up to that 10digit number I was talking about. So 2 4 1 7 something like that it starts with. So negative of that same range it will go in the positive direction as well. So integer has a huge range. What are the operations? You can do normal integer operations. Every arithmetic operation you can do the result type of two integers is always going to be an integer.
>> Okay.
>> Can you explain the 01 binary in the above example?
>> Which one?
>> The math one example 01 case like true false case. So here let's say if I pick a card of a person who has scored 17 maths and is male. So for that the first condition X dot maths greater than 80 this will fail right fail means false value or zero and the gender is still male. So it is true value or one zero and one is zero.
Right? But if I had an odd then it will be a one. That means either false or true.
>> Oh okay okay. Okay. All right. Well, I'm I got confused because in the Python PS to different.
>> Yeah, I understood. So that's why I mean CTA is taught in the first foundation level because so that you can handle those languages later on. It it is just a precursor to programming, right?
>> Yeah.
>> So >> yeah.
>> Next we have this thing. See there are constraints on division. Why? because we are saying that every integer operation that we perform on two integer variables. Okay, that will be giving a result which is also of integer type. So that is true for plus minus multiplication. But when we go to division, we can also sometimes get this remainder. Right? So if I do 22 / 7, that is going to give 3.3 something.
So what about that? That is not an integer. Right? So we change the definition to take only the quotient and drop the remainder uh remainder. So why that? See usually in CT we are following this. This is not universal.
Okay. It is not that every time you need to use a decimal point you will just drop it. No you'll use float variables but float we are not using in C2. So that's why we are not explaining that in details. But yeah you can handle such operations using float. There is also something called type casting. I'm sure a lot of you already know type casting means when we change a variable's data type to another data type. So I can change an integer variable to a float variable or a float variable to an integer variable. So that also you can do but again not in CD we have none of these concepts here. So integer and boolean is done. Next we have character.
So what type of values does character take? Any alpha numeric characters even special characters right? So a to zed in upper case lower case 0 to 9 any character any special character. So only one single character is a character variable right a character data type I'm sorry any ma'am in a student's mark data do we want to use float or integer? integer see here in the data type uh I'm sorry the data set that is given to you the scores data set all values are in integer only you won't see any decimal points >> okay >> that is because we not using float here in C2 >> can I ask one out >> uh here you tell that character contains alpha numeric values so can we tell that the string is a subset of the character data types.
>> So for that you need to ask that what is the difference between string and character. Okay. So character represents a single character like any letter, digit, punctuation mark, anything.
String is a sequence of characters, right? But a single data item or a single character can also be a string if you enclose it within quotes.
Okay.
>> Yes. In string we can operate multiplication, division and all.
string operations I will come to when I discuss string let's first do character okay I don't want to >> so in character no uh inverted comma is given >> no it is not required so um sorry in character you can actually use single quotes okay but in string you'll be using double quotes that's the main difference I mean in most language that is the syntax that is followed so a string can also have no characters it can have an it can be an empty string also okay just enclosed by inverted quotes.
So what operations can I perform? See character you can only do an assignment.
Okay. So assignment operation you can do uh the result type is boolean. So basically you can also do one thing and I think they have missed one more equals to here. So the operation should actually be comparison. I mean we can compare characters right? So let's say I take my name.
Now this is a string right? So from this string I want to check whether my name contains the letter P. This is my question. So what will I do? I'll go and check I will pick out every character from my name and I will do a comparison.
So first character is capital M. I'll check is capital M equal to equal to small P. No. So this is that's why the value is boolean. That is either true or false. So comparison operator you can do with characters.
Okay. Now the other data types coming to string and all.
I don't think string is also given as a separate data type here.
H string is not given actually we are we'll be using characters only. See in CT actually characters are also used uh in much moderation. Mainly I'll be using integer boolean. These two are the main data types we'll be using. In some cases, we use character or string where we do this string matching or let's say if I'm checking for palendrome something like that, then we do this use strings and characters.
>> The difference between the symbol for equal and symbol for equality.
This is single equals to this is assignment operator.
Like if I say a is equal to 5. This is the assignment assigning value five to a.
>> And if I say is a equal to equal to b.
>> This is comparison. This means that whatever the value of a is that is exactly equal to the value of b.
Right?
So next what we have to learn is subtypes of rad types. Okay. So, subtype means what? Something that we have derived from the parent data types. Like I have integer, right? I know what all ranges it can take. What all operations I can do. Okay. So, from here I can derive something else in my scores data set. Do I have a sequence number?
In every card, do I have a sequence number? What does that represent?
Is it unique for all cards or are there duplicates? different for different cards >> for different cards. Right? So just by looking at a card unique sequence number I can identify who that card belongs to.
>> So sequence number is derived from integer because see the sequence numbers range from 0 1 2 like this. You check the values. So what is the range of sequence number starting from zero up to however many cards I have. So if I go for my current sports data set, I will say 0 to 29 because I have 30 cards. So that's the range of sequence number, right? So the max that is up to which sequence number goes that can be some large number like whatever number of cards you have or whatever you are counting whatever the sequence number is for.
So sequence number is a derived subtype.
Okay. But see the difference is whatever operations I was performing for integer right will I ever add the sequence number of two students or multiply no because it is it does not make sense to do that right what will I get by adding sequence numbers nothing no meaningful data I'm getting so none of these operations are actually valid for sequence numbers why because it does not make sense to do any arithmetic operation on a sequence number data type okay these are subtypes Like I can also have marks as a subtype of integer because the range of marks is what? For any subject 0 to 100 for total marks the range is 0 to 300 because we have three subjects. Right? So it is also again a derived subtype from integer. But here can we perform any operation? That's what they're asking.
So I can perform plus minus. Right? So if I want to find out what is the difference between math marks of student A and student B. So I'll just do a simple difference of their marks. So negative operation is already there. So plus minus you can use for marks data type but multiply division doesn't again make sense. You won't multiply or divide the marks of some students. Right?
>> What exactly does it mean? Like uh when you say that marks or sequence number it is a subtype of integer. What exactly does it mean?
>> The range of values that these subtypes can take are a subset of integer.
Right? So if I can go from 0 to 100 in a in marks, right? Mark subtype. So this 0 to 100 range values also fall within integers.
So this is a sub derived data type, right? So whatever range this derived data type can take, it will always be a subset of the parent data type range.
>> Okay, ma'am. Got it, ma'am. Thank you.
also check whether someone has scored higher than like student A has scored higher or lower than student B in maths. So for that you can use greater than less than all of this equal. Yes.
>> Same here also it should be double. We don't assign.
Okay. Count is also one thing we can do as derived subtype. See count again it can count up to any number of values.
Right. So it can take any value. So usually if we are staying within the 10digit range which is big enough for count. So it can take any value that an integer can take but only the positive side. Why? Because whenever we count we are incrementing right? We are not going in the negative direction not decrementing.
So every time you do plus one. So count is also a subtype of integer. On count can we perform any operations? Yes, you can perform plus minus all these operations except multiply divide because again not sensical data.
>> Why may on count we can't perform like multiplication and >> so addition you can perform if you want to find let's say I have the number of girls student in a class the number of boys students in a class. So this is count of boys count of girls I want to know what is the total count. So I'll just add the two counts.
>> Okay.
>> But if I have higher number of girls, lower number of boys, by how many number of girls is the number of girls higher that you can find by subtraction.
So these things you can >> now when I have >> but in the uh in the data set of bill of each stores they are given the total units uh total units purchased and the unit uh cost per unit they need to >> that is multiplication of course >> multiplication will be possible >> and it will be >> where the data makes some sense right see these attributes or these subtypes that I have picked these are for scores data set I'm not talking about other data sets from other data sets I can derive other subtypes this is just based on scores >> ma'am we can find average using the count right that >> yeah exactly you can find sum and count and use that to find average >> ma'am >> so yeah >> ma'am if anyone has done all the lectures in the course that are recorded Do one has to join this compulsory or uh here are compulsory. If you have if you think you're benefiting then only you join. If you have any doubts then you join.
>> Okay.
>> thing is told in this le these lectures.
>> It's the same content we are just giving uh like teaching you like that's content is exactly same.
>> Okay. Okay. Thank you ma'am. Yeah.
>> Ma'am are there are this lecture being recorded? Yes, it is streamed on YouTube.
Uh, >> so I may just refer to YouTube if I >> Yeah, just go to the IDMDS degree channel. You can find a playlist for CT 2026 term.
>> Okay.
>> Okay. Now coming to character. For character we already know what operations I can do. Again this is double equals to. So from scores data set if I pick the gender attribute, you will see the values are given like this in the cards, right? M and F. These are the two gender values that are there. So again these are what characters right?
So they are a sub subtype of character.
So I can anyway specify these two as characters themselves. So they are just a subset right. So gender is a subtype of character data type. It can take either m or f as value.
Now operations what can you perform again same you can perform the comparison operation that if I want to check student A and student B if they have the same gender so I'll just do a dot gender is equal equal to B dot gender or not if yes then true if not then false so boolean type of result you'll get here also now lastly coming to string string is any sequence of characters enclosed by double quotation marks right any sequence So what are the operations you can do?
You can find whether a character is present in a string. Like I showed you that in my name if I want to find P is present as a character or not. So for that I can just pick every character from the string one by one and do a comparison operator. So the result will obviously be of boolean type. Either the character is present or it is not. So double equals to here also. Now what are the data types I can get from string?
You can get names that is a subtype. So any person's name is a string right? So any student's name in scores data set is also a string but with alphabet characters. There are no numeric characters in someone's name usually right. So in our data set obviously all names are in only alphabet characters.
So they form strings. Same operations that are allowed in strings are also allowed in names right because it's just a soft type.
City is also the same thing. You see every city is a string right? Delhi equal color these are all strings if you write them down. So they are also subtype of string. Words data set if you go you will see that uh each card contains a word right? So that word is also a string.
What else we can have? Category. In shopping data set you have category of an item that can also be string. Or in words data set also if you take the part of speech of each word that is also string. Anything that is a sequence of characters is a string and can be taken as a subtype. Okay. But usually we do not learn.
>> What about the role numbers which are a mix of string and uh integers? What data type it comes in?
>> Role numbers like if they are alpha numeric then they come under strings.
If there is more than one character usually there is right in a role number.
So it is alpha numeric string.
Okay ma'am.
>> Okay. So next we will go on to this transformation of subtypes.
>> Yeah ma'am. Uh uh in operator can we not use uh uh the single equal to operator and get the boolean >> single equal to? No no single equal to is only for assignment. Okay that is given wrong here. For comparison always use double equals to in CT at least we'll be following this.
>> I mean string we can use assignment operator.
>> Yeah as you can assign a string to a variable that is completely fine.
>> Yes because if we change the value from one value to another >> but assignment does not assignment does not give a result right that is just an assign assignment comparison gives a result. So that's why I'm saying this is wrong because the result type is boolean. When you assign a variable a value, it will not give you true or false that it is not a question or a condition. That is only for comparison.
So transformation of subtype C all of these things that we are learning in week one the subtype thing you will notice we will not actually be using in the course. Okay, this is just to give you an idea of how data types work and that there can be multiple types of data types. So that is uh why we are using it is because you'll see in the questions itself we are just working with the attributes. So you should be comfortable knowing what is the data type of each attribute. So you don't compare gender with some numeric value. Right? So there can be any attribute you you just need to be familiarized with that. So for that go through each of the data sets one by one and just familiarize with the template.
Ma'am >> ma'am where will we be able to view these PDFs?
>> These are in the supplementary contents you have in your portal. So under supplementary contents you can find PPDs and slides. So there you can find all 12 weeks of slides.
>> Okay. Thank you.
>> Okay. So another subtype that we can have from integer is date. Right. So date can be a subtype of integer like range of values. So if I say it is a subtype. So here now we are changing something. We are assigning a numeric value to every day of the year.
Like I'm saying 1st January is the zero day. Right? So 1st of Jan will be considered day zero.
2nd of Jan will be considered day one.
like this will continue till what the last day of the year right if it is not a leap year what will be the last value 364 >> 364 right this many days I can add if it is a leap year then it will be 365 the max it can go up to 365 so that's why the range of values is given as 0 to 365 if this is how you are writing that is we know what each value represents if I say the range if I say the value three from dates you know that actually represents 4th of Jan right so again these are not very useful in the context of the course but yeah for the first week we have these things just so people might get confused later on what is the data type of date of birth so usually date itself is a data type so that you will learn in more advanced courses right now we won't discuss but date usually has a data so Yeah ma'am in the previous slide like if they had given if they had asked like uh what is the integer thing for 15th August or anything like that then we have to calculate from first Jan to that >> yeah so that is very cumbersome right if you don't have that done already in a >> we don't actually use this that's why I'm saying it is just to familiarize you >> okay >> that this data type is a subset of integer I mean It can be used as a subset of integer.
So what can you do? If you know this value, you can either print the value.
Nothing else you can do, right? I can just print the date first gen first whatever I print. If I say print zero, zero represents which date first Jan. So in your mind you have done this transformation that first Jan means zero. 31st means first. So like this.
Obviously we not going to be applying this here. I mean in actual problems you won't see us doing this. Okay ma'am I guess there was a question in activity >> yeah activity questions you might get one or two but activity questions are solely based on lectures so whichever lecture we're discussing this only in that lecture you might find some questions that's why I'm going through it once so that you can understand how to answer >> okay >> or let's say if you want to check that whether some date is higher than another date like higher in the sense What? See if I say that 16th of June and 16th of January, which one comes later? June comes later. Sal 16th of June is greater than 16th of January. Why? Because >> ma'am uh I just want to ask that ma'am is there any attendance issue or not?
Like we have to join all the classes.
>> No no there's no attendance.
>> Okay ma'am. Thank you ma'am.
So marks can also be like we saw 0 to 100 that's the range. What about fractional marks right? If someone gets marks in decimal point.
>> Yeah.
>> Ma'am would you please take leftover doubts in the last 10 minutes >> not able to hear you. Just speak a bit louder.
>> Would you please would you please take leftover doubts of the last 10 minutes please? Yeah. Yeah. Sure. You can take >> Thank you.
>> Okay. So, we have some fractional marks like this 62.5 like I told you. So, this actually falls under floating point numbers, right?
But in CT we won't be usually dealing with this. But you can deal with fractional values. So, there is another basic type of data type for real numbers which is called float. So, our values are going to be only up to two decimal places. In float also we usually are going to use up to two decimal places.
Very rarely you'll see us using float in this course but even if we do it will be up to two decimal places.
Mhm. So what if we just multiply the fractional number by 100 right? Then the fraction is gone. So then the fractional value with at most two decimal places will become a whole number or an integer. So we can do corresponding operations on the integer values.
Obviously see all of this is very generic way it is written right everything depends on what is the unit of the item so if you are having 75.25 25 in marks right and I give you 7525 marks that is completely different that means you have to adjust all calculations according to that so whatever you do to get rid of this decimal point make sure that you are in the same unit right anyways we won't be again using all this just telling you that floating point can deal with decimal numbers uh this part is again not required but I'll go through this once see 62.5 we can write this as 6 to50 if I multiply by 100 right so they're saying that if I divide a method like this we can do corresponding operations on the integer values that come after multiplying by 100 so remember everything has to be scaled to 100 so when we finally print the output we scale the number down and print it So when I am printing this let's say 65.25 I have whatever operations I needed to do with this number I wanted to do that in integer format. So I multiplied the the number by 100 got rid of the decimal point and I did my operations. Now when I have to print the result I won't be printing in that way right I have to again scale back 100 and go back to the original format then print.
So if 6250 is written as 6250. So when I say print 6250, it has to print back the original thing 62.5.
That means you have to know that this 6250 number is scaled by 100. So as you can see the applications of this in city are going not going to be there.
Amount also same thing you might have to pay 27.50 rupees to someone. Now if I scale it 2750 this is in pesa right not in rupee anymore.
So again you have to scale it back quantity can also be same thing these are just uh examples of floating point data subtypes that you might have so basically I don't want to have float so that's why I'm scaling it by 100 to get an integer so that all of these subtypes can fall under integer subtypes but originally they are not integers right so whenever we want to print the original value we have to divide by 100 again.
>> Oh man.
>> Yeah.
>> Um in these like uh instead of calling them subtypes, won't it be more apt to call them as examples? Because in computer science, we really don't have >> actually we don't have subtypes. Okay.
See this computational thinking course will have a lot of things that you are not directly going to be using in using in any programming language. Okay. It's just for concept. You can call them subtypes. You don't have to I mean even we don't use these subtypes anywhere in the course right we just do it in the first week to see that whatever these attributes are whatever values they're taking these values are still a part of the parent data types that's why these are written as subtypes okay other than that obviously there are no official data types known as quantity date like this right >> so ma'am so ma'am do we need to remember them for the no just do the activity questions and practice question from week one.
Wherever you find this type of question, just attempt it in activity practice. It is not going to be there in exam.
>> Ma'am, this won't be like this kind of questions you won't ask in uh this uh qualifier exam also.
>> Nothing subtypes are not going to be there in exam. This is just for understanding.
>> Let print part. So let print 125 equals to 1.25.
>> Actually saying that when I print this number when it is already scaled to 100 that is multiplied by 100. So when I print this back after whatever operations I needed to perform on a number I want to print back the original number. So I won't print 125. The original number was 1.25. You scaled it by 100. So again you have to divide by 100 when you want to print it. So the original print should be 1.25.
That means 125 is just representing 1.25 in a 100 scale uh dimension.
But it is not the same thing these two.
>> Ma'am, isn't this called normalization?
>> You can call it normalization also. But see this they are what they are calling it is a transformation transformation of >> oh okay >> I'm not calling this anything because see what this actually represents is what we all already know. So if when we were all kids right we used to do this uh rupees to pesa conversion. Say if I have 50 rupees and some 60 pesa right and then I want to add this to some other same rupees pesa concept. So we used to take the whole thing into pesa that is we used to multiply the rupees with 100 and then add the remaining fractional part right that same thing we are doing here but when we actually give the answer do we say this many pa no we say in rupees that means we divide by 100 same concept here it is just a transformation but uh one more slide is left so this one >> excuse me ma'am >> ma'am ma'am for calling what actually we have to prepare ma'am >> first four weeks of content from every course >> but still this won't be as this complex >> mean this won't be there see I will be discussing before this qualifier exam or P one exam we'll have your revision sessions right so we'll have two to three revision sessions on top of that we will be discussing every type of question from previous years okay in this revision sessions And also in the tomorrow's class only you will see when we discuss practice assignment the practice and graded assignment questions are exactly what you will what will be the type of questions in your actual exam. Okay. So you can take it from there.
>> Same level same level of question will come difficulty.
>> It will be a little bit more difficult obviously but yeah some of the question difficulty will be pretty much same as the graded questions.
>> Okay ma'am like Ma'am, who will take the TSS? You or some other than the ones who are the two for CT rest they will conduct.
>> Okay.
>> Excuse me ma'am. Um ma'am I almost completed all the this content ma'am all the lectures ma'am but and practice assignment also but but ma'am in that practice assignment one uh questions are quite different from the lectures ma'am.
Yeah, that's why we need time to practice in class first so that you get familiarized with such questions, right?
You haven't see normally we don't have such courses in our school where we are using data sets or actually using these things that we're doing in CT. So a lot of people are doing this for the first time right once we have some classes on the pseudo code related questions or flowchart related questions it will get easier. Just ma'am ma'am somewhere on the grading policy I saw that we have to grade the both quizzes that is quiz one and quiz two.
So basically some are saying that qualifying one is enough don't need to give the quiz two. So how the marks will be of the SC how the marks will be calculated actually yes here you can find the >> okay can you see the portal? No ma'am.
>> We are able to see that PDF.
>> Yeah.
>> Yes.
>> See this. Okay. So, uh this is the eligibility. So eligibility to write final exam is average best five out of seven first seven weeks of weekly assignments and attendance in one of the two quizzes is mandated.
Quiz one quiz two out of these two at least one of them you have to attend right because we'll be taking the max score.
>> So ma'am it means that we have to attempt the both for the maximum score.
Yes, but if you don't >> if you don't attempt any of the quizzes, you'll just be getting zero. So the other quiz marks will be considered.
>> Okay.
>> Okay. So the eligibility for the end is only one quiz.
>> Yeah, at least one quiz you have to pass.
>> And what about the qualifier exam? By the way, >> qualifier. Okay, I'll show you at the end of the class. Now, just let me finish this slide once.
It is same only you just have to pass the qualifier exam that is going to happen during quiz one. So if you fail that if someone fails that qualified exam then you have a reattempt qualifier also you have to give that.
So qualifiers are always going to be on the first four weeks of syllabus and >> that reattempt qualifier is uh same as quiz two.
No, it will happen during the time of quiz uh before quiz 2. I think it will happen for those people who are not passing in the first qualified exam.
There will be attempted but the syllabus is same first four weeks. Okay.
>> Okay ma'am.
>> Okay. See uh these these slides these are important because now you can actually see the cards and relate right.
So a record what is a record? A record is also called called a tuple or a strruct means it's a structure. So data type that has multiple fields each of which has a name and a value. So I am taking this marks card as a data type.
I'm saying this entire card from sports data set is a data type. So it has multiple fields in it. It has name, gender, date of birth, town, city, all of this. Each field again has a value, right? So marks card here if this is the name of the field sequence number type of that is type of fields means data type. Okay. So we saw that sequence number is a subtype of integer. So they taking sequence number as the data type of the field. So see all of these data types that are written these are actually all subtypes right sequence number this is from integer marks is from integer city is from string names is from string gender is from cat. So like this the same things that we saw uh till now the subtypes are read in this way. Sanity of field values is ensured by the data type that means if I have this thing here name okay uh so if name is just going to be alphabet strings so that means it cannot have any integer values. So this type of sanity of data this is why we have this data types so that a particular variable can only take values in a particular range.
So in words data set this is how each card looks like. You have one word present. What is the data I'm sorry?
What is the part of speech of the word?
How many letters are there? And the sequence number of the card in like again if you call this entire card as a data type words in par this is a data type then the fields are these and these are the corresponding sequence numbers. Again same for you can do for shopping list uh shopping bills data set. So in city in the weeks five week six we'll be learning about lists and dictionaries.
Okay. So I won't be discussing much about list right now. We'll do it in week five. List is nothing but a sequence of elements. Okay. It can be anything.
So if I take this marks card list what is it? It is a data type of our data set of all marks cards. That means every card in your sports data set is forming the list. Right? So list basically is a data container or a data structure we'll be using in CD which means just a collection of items. Okay, they can be of integer type, they can be of string type, they can be of heterogeneous data types, anything but list right now in week one is not required. record again same thing for shopping bills data set they are given these are the fields types of fields see for items the type of field is not given right because items can be anything I don't know what the item is so for that it is written see this is an item so right so there is a list of items in the in the shopping bills data set itself that means item is the name of the field what is the type of the field it is a list that means For every card I have a list of items. So there is not only a single item that I can write. I'll write a list of items.
>> What is the difference between the list and record?
>> Record is this entire thing. Okay.
Record data type for shopping bills.
When I say it means this, this is the record data type. Means each card is a record data type and these are fields inside the card.
Now multiple such cards form the list in a collection.
So two types of ma'am >> I have two doubts can I please ask getting over >> uh ma'am can you please get to the uh flowchart with filtering condition slide >> which conditions >> we have to count uh filtering condition flowchart >> okay filtering yeah uh okay so I think we are done with all the slides anyways so the summary is just whatever data types you have learned today. So content wise that is it for week one. Okay. If you don't have doubts at this point you can leave and please make sure >> ma'am can you please uh explain again the record and this please >> record is this entire data type. This is the shopping bills. This is a record.
That means one shopping bill is actually representing one record and there are multiple fields under a record. Now multiple such records or multiple such cards they form a list. There is collection of cards or collection of records is a list.
>> Ma'am what are these cards like for what will we use them?
>> You haven't seen the data types uh I'm sorry the data sets that are given for CT. So there are five six data sets given you can check them out once. The data sets are all containing these cards. So using the data sets only you'll get every question in CD.
>> Every question is from some data set.
>> So do we have to remember them?
>> No, no, no. That's what I said in the beginning of the session. In every exam, the data set templates will be given to you. You just have to know what all fields are there in a card. All the templates will be given in the exam.
>> Okay. Ma'am, thank you.
>> Collection of the records, right?
Yes. Collection of cards.
>> Collection of the cards. Okay. So, basically the records, right?
>> Yeah. Yeah. Same thing.
>> So, but in the record for example, we use the where the def we define the item is also the list type. So, how is that?
>> Yeah. Because see there is a list of items. So, when I say item name, okay, for a partic I'm sorry, here let's take this for shopping bills. When I say sequence number, there is only one sequence number per card. So, you can give it this. This is the data type of the field sequence number. But when you come to items, there are multiple items in a card like this. So, tomatoes, these are all different items. So, what is the data type of that? This is an item list.
That is list of items in a card. So, that's why it is given as the data type is list.
>> There are multiple items.
>> So, we can say like record list is a list of records. List is not a list.
>> Yeah, list is a list of cards or records you can say.
>> Yeah, list is >> but actually in this item list it is not a list of records. Item list is different. Item list is just a list of items in a particular record or a card in a particular card.
>> So can we confer the conclusion that uh record consist of list and list consist of items?
Not in every scenario. For this scenario, you can say >> okay.
>> See, first of all, I don't want to use the word list too much because this is not exactly what list is. Okay, we will learn about lists in week five. Here it is a bit difficult for me to explain.
But yeah, list is a collection of items.
Any list is a collection of items. This much we can say. Now, there are multiple operations we can perform on a list that we will see later on. Ma'am, here we can say like the data type of the item is a list.
>> Yeah, data type of the item is a list.
Correct?
>> Okay.
>> Okay. Which part you asked? Filtering, right?
>> Yes, ma'am.
>> Uh ma'am, there is a slide doubt. I was yet to watch all the lectures like video lectures. Uh but uh my graded assignment is pending for CT. Would this be enough to give that assignment because I kind of >> better understand?
>> I will I will ask that you still put the time to watch the lectures because the submission is by 24th. So you still have five days and tomorrow we have one more instructor session. So we'll be discussing the practice and activity questions tomorrow. So after that you should be able to solve.
>> That's we can leave for that.
>> Can I ask now please?
>> Yeah. Yeah. If you're done you don't have any doubts you can leave. This is it. Thanks.
If someone has a doubt tomorrow will be doubt session >> tomorrow is activity practice question session you can ask any doubts you can also ask conceptual questions whatever you want it's an instructor session >> okay >> ma'am can we drop the course any if if it is not manageable now can we drop it >> yeah yeah right um but in I think in the first uh term in foundation you have to take CD it is mandatory I mean if you want to >> no other other subjects like English >> yeah yeah that you can Sure, you can do it in next time also.
>> But how can we drop the course?
>> Uh dropping it now. I'm not exactly sure. Just ask support once they will give you the guidelines.
>> Ma'am ma'am.
>> Uh ma'am uh computer thinking is compulsory to take in the first.
>> It is a prerequisite for Python. Yeah.
>> Yes sir. Ma'am, uh are we like allowed to participate in ICPC after like after foundation course or after diploma? Are we allowed to participate in ICPC from this course?
>> Allowed to participate in what?
>> ICPC from what part?
>> Like uh ICOPC is that coding all discipline.
>> Okay. Okay. Okay. Yeah. Yeah. ICBC.
Okay. Yeah. I think you can after doing Python at least you should be Just ask seniors once I think the people who have done it can help you. Okay ma'am.
>> Or you can also have to like go from a college like we have to we cannot participate other like so one thing you can do is you ask the instructors in Python once once you go to Python in next term you can ask the instructors they'll guide you. Okay.
>> Ma'am, can you provide some extra questions on flowchart >> close? I will tell you um see the questions that are in uh PYQ or week one activity practice graded is enough for flowcharts. But if you want I can dig up some old PQs and give you if I can find.
>> Yes ma'am. it will be very >> but do not spend a lot of time on flowcharts okay because very small percentage of question is going to come from here just for understanding we use flowcharts I mean from next week onwards till the end of the course there will be no mention of flowcharts so that's >> can you tell me the timeline for the qualifier exam like from how many time it will continue >> next month it's the a slide for studying also.
>> Uh see for any exam >> uh dates and everything if you don't have that information already which should be available to you >> no ma'am like I am saying like you said it's a one month but as per we are going to give the quiz too. So basically it is comprised of the 12 weeks right? So 12 weeks basically >> qualifier is just for first four weeks.
>> Okay. So the foundation one has a two quiz right?
>> Yeah. Yeah. Foundation has quiz one quiz to enter. Qualifier also has. So if you qualify in the first go only first four weeks qualifier will happen same time as quiz one. Then you can enter foundation and you can continue with quiz to enter.
So basic foundation we we completed the first part of the foundation then we will move on the second yeah syllabus is same for foundation qualifier up to week four.
>> So after that also the qualifier part students only merge here with foundation.
>> All right understood that's what my issue and concern was like how we will complete the three months course in the one month.
>> No no it is same for everyone >> ma'am for all.
>> Thank you ma'am. Yeah, >> ma'am. For all the exams the 1 hour for each subject or total uh >> you will have one hour for each subject.
>> So means if you have taken four subjects total four hours then yeah >> but it will be of just one exam or four different exams.
>> I'm not sure about this. Okay. All of this operational informations you can ask support they will be able to help better. they can give you what is ma'am when is the need of giving SAT exam?
>> ST is just a simp system compatibility test. Okay. Mainly it is useful for programming exams but uh yeah you have to do the STD before all exam now.
>> So ma'am in term one we don't need it right?
SC is required right for every exam I think or uh for CT have any of you done SCT I think it's a system compatibility test so it should be for programming subjects I mean for CT might not be there let me confirm once from support I'll let you know by tomorrow's class okay >> okay ma'am I have some thoughts can I ask >> so um the first question I want to ask is uh uh what is iterator pattern? Is uh iterator pattern the sequence of steps in which we solve a problem or something else?
>> What is iteration?
>> No. Uh what is iterator pattern?
>> Iterator pattern is not a part of this.
Okay, that is a much high level thing.
Iterator pattern is it is a sort of a design pattern. Basically, it is a behavioral design pattern.
It allows you to do things like you know you can traverse the elements of a list or a graph or a tree without you know showing the whatever underlying data structure is there. But this is a part of uh much advanced concept. We are just using iterator and iteration. Iterator pattern is different. You have that in C java these things.
>> Thank you.
>> Yeah.
>> Okay. So u we use filtration ma'am may I ask please? Yeah. Yeah. That is what I was going to say. Again, see this is the example of filter, right? Filter is nothing but when you are shopping for clothes.
>> I understand the concept. I just have a small doubt.
>> Okay.
>> We use we use uh we use filtration to discard all the unnecessary data and keep the required data.
>> But here we are adding uh the girl score as well and we're adding the boys score.
>> Yeah. So it is filtered. You don't have to necessarily reject the data. If you need both data but in separate variables, then you can filter out one data to the boy some variable and filter out the other to the girlsome variable.
That is fine. You don't have to reject every data.
The filter is checking whether it's a boy or a girl. Right? So if it is a boy then you add to boy sum. If it is a girl then you add to girl sum. But if you don't need to find the girl sum then you reject that card.
That depends on the problem statement.
Okay ma'am another d u we've understood we've understood that we pick the card from pile one move it to pile two and then uh insert the filter condition but in the uh tutorial for the same topic in the tutorial lecture for the same topic uh the filtering condition is inserted before placing the card to pile two uh is that allowed some places that you might see that it is fine as long as you have moved that card to a separate file before the next iteration starts in this also if I exchange these two lines it is fine going to work the same >> okay thank you >> okay so that's it from my side please join tomorrow's class for the QPQ session okay don't miss that uh ma'am may I ask a question uh question or two.
>> Yeah. Yeah.
>> Um actually um uh like I've got a mail saying that uh week 2 is released for competition.
>> It's not showing yet on the portal for some people. Just wait till tomorrow morning. It should be visible.
>> Okay. And um for the second question uh we were I think um we were told to fill the medical form and in that the medical form asks for the students application or registration number. So where can we find the registration number?
>> Um again I'm I won't be able to give a right answer to this. So you better you ask support for any operational related queries like this. Okay. Just drop >> good evening ma'am.
>> Yeah.
>> I have a doubt means there is a data is >> your voice is very low. I'm not able to hear anything >> right now. Are you able to?
>> Yeah.
So in scores data set there is uh 11th one is missing.
>> Yeah that's why I said in the beginning of the session refer to the PDFs that is given not the individual cards.
>> Thank you. That's one.
>> Okay.
>> That's okay. Thank you.
>> Okay. Yeah. Everyone thank you for joining join tomorrow.
>> Hello.
>> Yes. Yes.
>> Yeah. So uh I have a doubt regarding the do do you know do you aware of Azure certification?
>> Uh which certification?
>> Azure certification?
>> Yeah. Yeah.
>> Okay. So I got a voucher of Azure. Okay.
So I can take the Azure exam. I have a fundamental knowledge of like of aure AZ 900. Okay. So I want to go for the uh like I'm thinking to do the certification using the voucher. So I have a four months validity. So like I have I have a Linux certification intermedate certification of LFCS. So which certification should I go for? Do you have any suggestion for me?
>> Yeah, Sure certification is very good. I would say go for it.
>> Uh no. So uh yeah uh so meanly they have like AZ104, AI 102. So I'm bit confused in it because AI 102 requires prerequisite. uh let me uh help you out with this. So if you want to discuss about this Azure certification if you can uh uh just do one thing ping me on discourse or somewhere uh even in mail you can ping me once I will connect you to the people who are actually doing the certifications like some of the instructors might be able to help you with this better.
>> Oh sure I I can DM you in the can I DM in the Sure.
>> Okay do thank you.
>> Okay thanks.
Where can we find out the discuss link and >> sorry >> discussing sorry ma'am your audio is >> I'm saying for foundation students have discourse as a discussion forum for qualified students you have Gspace so you can ask your queries there also.
>> And your mail >> sorry >> your mail.
>> Oh my okay let me just uh put it in the chat box. Okay.
Okay. Yeah.
Yes.
Okay.
Thank you, ma'am.
Hello. Hello.
Hello, ma'am. Hello.
Related Videos
LBF101 Creating an XML Changelog
liquibase7511
3K views•2026-06-15
Alta Labs Cloud Dashboard Real time Network & Xnet Insights!
ShinyTechThings
158 views•2026-06-17
Wait... Group Policy Not Applying? Check This First!
keeplearning_iT
144 views•2026-06-15
Leetcode Weekly Contest 506 | Life's boring these days
Pudeesht
2K views•2026-06-14
microJAM: MAKING A MICRO GAME FOR A GAME JAM IN CLOJURESCRIPT AND TOTALLY NOT C
janetacarr
156 views•2026-06-18
Partitioning vs Bucketing vs Clustering: How to Make Queries 100x Faster
thedataandaiguy
194 views•2026-06-16
Design Claude Code Like a Senior Engineer
hayk.simonyan
344 views•2026-06-19
Linus Torvalds: AI Won’t Replace Understanding Code
SavvyNik
140 views•2026-06-19











