For EMI classes, here is a useful template on how to organize your class. Keep in mind that for each of these steps, you'll need to consider duration of how long each will take and also any textbooks or materials that you will use. First, have a warm-up where you prepare students for the class, perhaps focusing on a few English vocabulary terms or grammar points that they will need in order to understand the lesson. Create a handout, PowerPoint slides, or brief activity to review key terms. Your warm-up shouldn't be too long, maybe 10-15% of your overall class time. Next, you can do a mini-lecture on your topic, being sure to include student support for helping them learn during lectures. Your mini-lecture should be no more than 15 minutes. Third, you can do an in-class interactive activity that will allow the students to develop both their English skills and their content knowledge skills, allow as much time as possible for this step, and you can do more than one activity if time permits. And finally, finish class by regrouping to summarize the content at the end of class. Remember that you can have a couple of rounds of mini-lectures and activities as long as you have enough class time. For example, in our water cycle example, you might do the warm-up with key terms, then a mini-lecture on the topics of precipitation and surface runoff, and then an interactive activity such as having students discuss a case study in small groups. Then you could do another mini-lecture on groundwater and evaporation, and an activity such as working in small groups to label a diagram. Before moving to your regroup and summary activity. So the third step in your lesson plan is identifying any assessments that you will do during the lesson. For example, maybe you will do a formative assessment during the in-class interactive activities. You could give students a chart to complete during class in small groups and collect the chart at the end of class time to determine how well students are learning the content. So let's look at that learning objective again and think about if this lesson would help us meet our instructional goal for the students. By the end of the unit, students will be able to discuss and illustrate the six parts of the water cycle of their geographic region and appropriately label each part in English. Yeah, I can see how this lesson would help students meet that objective. In the following video, we will give more detail on how this lesson planning process works with examples.


You've been through a lot to get to this point, haven't you? Yeah, it's kind of been a long journey for sure.  So I went in as a safety, but I moved around all over the place once I got there. So yeah, but I played quarterback in high school, all that. So then basically you're hurt until your senior year? Right, yeah. And then you have a great senior year? Yeah. Probably six games in my junior year where I played well and got hurt, had hip surgery. And so it was kind of one of those deals where I knew what I could do, but I also knew I was only going to get one year probably to do it. And thankfully it worked out the way it did. It worked out really well. And so the Cowboys bring you in as an undrafted and you're like the darling of many camps and preseason and it's going great. And you're going to make the opening day roster and everybody's fired up. And did you hurt your ankle? I hurt my ankle in the first preseason game. Oh, yeah. But they kept you. They did. Honestly, I am very grateful for how they stuck with me through everything because who knows where I could be had they not. So but yeah, my rookie year was just kind of all over the place. Came back after six or seven games from my ankle and then broke my forearm like three games later. So. And then every year you've kind of built. Is that fair to characterize your four years in Dallas? Yeah, for sure. I kind of understood what Special Teams was going to do for me, you know, and where it could get me. I knew that it was going to keep me around one and hopefully get me more opportunities. So yeah, I think that once I realized that kind of what kind of what drove me to where I am now. You played Special Teams so well for the Cowboys. Did they almost forget you could play linebacker? You know, I don't I don't I don't know about that. We've had a lot of good linebackers there. Oh yeah. So it's one of those things where, yeah, obviously you want to be on the field, but I've also had the opportunity to learn from a lot of really good players and be in some good rooms around really good people. So there's definitely, yeah, obviously I'd like to be on the field more, but I can definitely take a lot from that experience. Is it fair to say that you didn't come to the Titans with the idea of playing Special Teams only? Yeah, for sure. You know, I think I'm just I'm a competitor, right? You know, I want to I want the opportunity and and chance to do more, you know, and whatever that may be. If whatever the coaches see for me, whatever that role is, I'm good with that. I'm going to own my role. But yeah, I definitely want to compete for that opportunity to be on the field more and help in any way I can. Your senior year at Nebraska, you had five and a half sacks. So you can rush the past. I was about 10 pounds heavier than but I got a little bit of it in me. I haven't done it much since, but I got some of that. But you know, Mike Vrable and Shane Bowen like to use various people in packages according to the opponent. For sure. You think your skill set will allow you to be part potentially, yeah, to be part of those packages. Yeah, I think so. I think one of my biggest assets that I've always had is just versatility. You know, I feel like I could play Sam, Mike or Will and hopefully be on the field on third down, whether it's covering or past rushing. So I that was one thing that really intrigued me in the way that Coach Vrable talked to me and about what he saw possibly for my role and so yeah, I'm excited about that. Because you need versatility, with how linebackers are used today, you need versatility in that core, right? For sure. Yeah. I think that that's just the way the game's moving. You kind of got to be able to do everything now, you know, and I think even the bodies and the way that typical linebackers look now is a lot different than what it did, you know, 10 years ago. So for sure, I think versatility is the biggest thing. That's a lot of former safety. Yeah. It is. Yeah, most of the time, I feel like it's those guys moving down, making the step down from safety to linebacker. So and, you know, I have a little bit of that in my background. It was about 40 pounds ago, but there's some of that in there. So yeah, it's definitely the way it's moving. Keep talking about your weight. Then what do you weigh? I'm like 240 right now. Oh, God. Yeah, I came into college at about 205 soaking wet. I was tall and skinny. So I'm a lot different than what I was then.  He loves the contact. Most of the guys like that are shorter, stikier guys. You don't kind of strike me as that guy. Yeah, no, I don't know. That's always just kind of been my identity since I've been in high school was I'm going to hit you in the mouth, you know, and I think that's part of the reason why I think I identify so well with this organization is I think that's what Coach Variable preaches, you know, so I felt like this was a really good fit for that.


Hi, I'm rich. That's Anna. Hey, I'm Anna. Yeah, and This is weird, we don't know what to do that we're recording this weeks ahead of time This is not how we planned on on this happening but We're gonna we're gonna try this out. So yeah, this goes welcome to we'd like to level with you about no JS Yeah, I guess that's what means I should introduce myself. So Like rich I On the not just technical steering committee, we both have been contributing to not just for a long time now In my case, it's I think Four and a half years now rich probably even a bit longer So yeah, what so I work for a company called me a firm and Particular in the department called neo-firm research, which basically means I get to do Work on cool next generation not just features And I'm rich trot. I work for the inverse California, San Francisco in their library. I've been involved in the course since I think 2015 I Don't want to take credit for work. I did not do so I should point out that I did all of the slides except for this one And the next slide So, you know more importantly, she also wrote most of this talk So if there's anything technical and cool, it's probably because she came up with it So, yeah, we're recording this ahead of time Because of the COVID-19 pandemic. This is also in the midst of a lot of protest in the United States and beyond about police brutality on black bodies and As we speak the no JS website now looks like this for one week we have decided that we would Have a list of black people who have been Killed by Police brutality and it's just a really really Strange surreal time to be sitting here with my friend Nana and recording this talk about You know, it feels a little bit like naval gazing about note, but I hope you like it anyway so We go right from that to a rough transition to happy birthday, you know at 11 years Wow Yeah So so so that's like refers to the first release of note The kid block goes a bit Gives a bit further into the past, but this was the first release of note and it's been a Whole 11 years since then Yeah, so we're here today to talk about what went well and what hasn't gone well and We'll talk about do you know a little bit, right? I'm sure and You took a look at this the zero zero one commit and like all the files are gone now or something Yeah, yeah, so as the commit message says it like fixed something to work on free BSD In the build files and everything that the commit change is long gone by now and none of the files in there have existed for years Which kind of like it shows that no just code. It's not the same as it was five or Or more years ago and certainly not 11 So, so yeah, this is This is the contribution graph for node Because I'm a Graphics design pro. I just did a screenshot of the github page and inverted it So it's dark if it's with the dark teams. I'm sorry way lots and lots of things have happened since the first release of note The the most significant Impact points are the ones that I've labeled here. Well, I wouldn't call node 14 like significant Particularly, but it is where we are right now And so so some people might remember these zero to ten time. That was a long time ago, but it was It was when lots of people got into no chess in the first place. It was definitely during the hype phase It was also that hype that got me into note in the first place. Some people might remember the IOJS fork Something that that grew out of out of unhappiness with the governance model of node and that ultimately led to the to the governance structure that we have now when When that fork IOJS was merged back into node. Yes, it came with all new governance. It was no longer copied back Yeah, so so the the time when that happened was the before release that was the first post merger release of of node and And and that was kind of like when what I think when modern note development started not just because of the changed governance, but also, you know We we got some of the ES6. I think features. Yeah, we can now use Said the the next thing on the timeline here is the is the IOJS fork Which like it also grew out of unhappiness with no justice governance And and like I don't know if you want to call it successful or not but the at the very least we did I would say we did get some good governance changes out of that and Definitely also work our threads where you know, it kind of provided a green field to like play around with new ideas Work at threads was definitely the main one that first got developed there Yeah, and then there's a big gap more 14 All right I mean, they're like there were some nice important things that happened since then like I know the introduction of async await Like I mentioned the the for release was the first one that actually came with you know, some of the Things that you would consider modern JavaScript And and it also had a very different governance model and those things basically meant that you know the the the reason there are so many comments in that time was not Because there were so many contributors like they're like what the current situation is It's more just like, you know Work was done in a very I would call it like move fast and break things away People were just pushing commits to master and you know, they were writing cope that would not be considered legacy code And that that one was all fine for the time. I would say But it definitely kind of left us stuck with with you know legacy code. So so things that come from that time Are are all these streams versions? No, just says three different versions of screens basically and They are all from the time There's http one the http mod p module that everybody uses and And in particularly the TLS code and these are all things, you know In the context of the time it makes made sense to just get something together that works and and you know kind of say if we want to Make this a bit cleaner we can do so later and then as has so often that Kind of didn't happen. So these are things that are like That have not seen all that much change since that period They are basically I mean they have been changed a lot, but the basic structure is still there And that's kind of because you know, we didn't have good end encapsulation there no symbols So basically everything was easily accessible from from npm modules No clean apis that would you know Would allow npm modules to not hook into the internals of these things Not It's definitely one of the things that you know, I if I could redo them in node I I would completely replace them from scratch or or not not put them into note at all And and none of the people who originally wrote these are all that active anymore Which is also kind of a bummer In particular early for TLS like one of the you know, if there's this security issue with TLS we can fix it Or if there's something else it it just usually takes a long time until somebody gets around To to actually putting the work enough understanding what the code does and and how it needs to be changed So yeah, that's not a great situation for node to be in Right so So so one of the really nice things of the last year and note. I would say is so so a new collaborator joining Node.js team He's called Robert and he just put in a lot of work into You know figuring out how should screams actually work What changes need to be made? How can they be made in a way that does not break everybody? And and those of those 194 comments that he has made since then I think most of them are actually All like almost all of them are screams related scrims improvements And it shows that like if you if you really want to fix something That's possible. It just it takes a lot of work Yeah, it it would have been nice to not have HTTP one and node core I Guess that was also one of the things that just made sense at the time And I can totally see that but it would also have been so nice to have things that can be implemented outside of note And that includes HTTP to have them implemented in npm modules and and Yeah, so I mean like there was there is this concept that Node should have a small core and lots of people are in favor of that Which basically means the thing that I just said if it can be implemented outside of node core, it should be But that's in practice not the way that Node.js is currently moving At all I would say to me there's always been this tension between two things that that are supposedly tenants of One is small core which you see here and the other is batteries included and Those are like those are opposites, you know, like Well, yeah, they're opposites. I mean I mean batteries included means that like you shouldn't have to go out and find a module to do fundamental things and I do think that, you know, as much as it's a pain point for us now to have HTTP and core rather than, you know This stuff implemented elsewhere. Um, I Do think that that having it in core was pretty important to early adoption So two things there One I so I don't know how I would have felt about going the Python route But I think that would have been something that you know would have alleviated the small core concern to some degree Like basically ship node and ship a bunch of packages with it, but don't put it in the binary and Then develop it separately That that is something that I could I would have preferred that over like putting everything into into the main repo and shipping it as part of the binary and And and for things is like HTTP to or basically the same situation with HTTP one I mean, yeah, sure when no was created. We didn't have things like wasm But I kind of hope that you know that technology is Would be able to provide something like, you know, take this C++ library that does a lot of HTTP to state management And and put that into wasm make that usable from JavaScript and just let that be it no native code involved I think that's doable and I think that would be a lot nicer than Then having native code involved at all in the actual result. Hmm. Yeah, um, obviously that wasn't an option back in the day, but right So, yeah, this is the list of all modules that are currently available from the Node.js repo directly That's basically the list of built-in modules that are exposed by default without any flags And and yeah, it just turns out so like for lots of them, there's no native code involved And there's really no reason why they should have to be a node core. I mean, like we said for HTTP HTTP to TLS There's currently native code involved, but you know, it doesn't strictly have to be the case You know, they're so so what this says is basically there's quite a lot of Node core that doesn't really need to be in there or where it's totally reasonable to have user land alternatives If you're participating in the Node.js main repo if you're watching the repo you get hundreds of get-up notifications each day And that's that's kind of like so that kind of makes it an all or nothing thing You can't just like be involved casually or it's it's hard to do so if you really want to keep up with what's going on And and I feel like splitting that up into multiple repositories Would be really nice. I know people are thinking about that for some Items, I know I suggested it when we added async local storage, but Unfortunately, there weren't enough people who who agreed with me. I guess Like one thing that I don't like about this, you know Is that it makes it difficult to implement like a low-level internal API that you can build things on top of nicely and And you know, have that be more valley-fined I Would like to see that You know have have more modularity inside of Node core itself Not have every part of of note region to every other part of note Which is kind of what we are currently doing in a lot of a lot of cases Yeah, and a lot of the cases the way we in past the way we did it ended up exposing stuff to end users who then write modules that reach Welcome Pat Right and and that kind of like drives into the whole other direction Which is basically that we are adding more things to note that that kind of feel like they should go into note core because Well, we're going for web compatibility here and in browsers. They are also shipped by default as part of the browser And we're we're fine with that basically I think so So these are all things that are being added or have been added I mean, this is like a good thing and at the same time like it means that we end up with like multiple conflicting Like we now have two URL implementations the old one and the web combat one and we now have to to two module implementations the old one and In the new yeah, yeah, exactly. Yeah And we do keep adding stuff to note core and right Oh I don't know if you remember but do you like know the number of deprecated API's I Know there's over a hundred deprecation codes. I don't know that corresponds one per API Yeah, so it's like just short of 150 deprecation codes for node. I Have strong feelings about what is on that slide No, just has the purpose of being stable and not like, you know breaking changes are just like something that you can't do to Sort of thousands of not just developers need to update their own code That is usually legacy code and that makes upgrading from not just version to not just version Painful in a lot of cases and and so keeping the number of breaking changes low is is kind of really important to me personally As far as the future of no justice concern Okay, I have I feel like we've made like like certain missteps that I Mean, I'm not sure a lot of people in node core would agree with me that they're that they were They were missteps. I should actually like your opinion on this one. I To this day Think that adding error codes was a mistake. I Understand the motivation. I think the motivation is great. Um, But We're not particularly set up to manage large sets of Things like that well and We end up with like a Million far too specific ones and a bunch that are just catchalls and like we we all have debates about whether that this one of that one Should be a type error or or a regular error and so, you know Job script comes with like five or six different error types and we only probably would need like three or four of them Just use them in the big motivation Wasn't actually to help end well What in my opinion wasn't actually help end users as much as you could argue it helps end users to like be able to like Have an error code that they sniff or although I don't think it actually does in practice that anyone does in theory But the big motivation was that error codes It says we have our codes it meant that every time we change an error message We had to treat it as a breaking change because somebody in in in the ecosystem was probably Checking the text of that error message. I consider that kind in retrospect at least I consider that kind of friction a feature not a bug. I don't know if anybody How do you feel? I agree with a lot of what you just said, you know, so so the big thing is yeah our error messages Our error codes are way too specific They're not specific in the way that's useful because any single Method or you know, whatever it's only gonna Have like five or six errors. Maybe at most that it's gonna possibly emit You don't need to have the full list of all I don't know hundreds. I guess off error codes it What I don't like about how we did this is that the purpose was you know, like you said to keep people from from parsing error messages But we kind of like didn't go all the way on that. Yeah, they're still doing it and they're gonna keep doing it Yeah, and I'm pretty yellow because we're not providing a reason not to do that because for example, you know There's error messages that are parametrized where you know, there's some value that that goes in there and and That's not good because if we want to keep people from parsing error messages. We should make that We should make that information Programmatically accessible. We should put it on the arrow object that we're creating Instead of just like having a nice way to farm it here. Don't give any one ideas about making this more complicated I I have that that idea and I've thought about doing a poor request, but it's also like something that that's massive change But it's it's one that I would I would argue makes a lot of that sense then thirdly the so So one thing that I actually believe Java is doing right is Is that it differentiates between? You know runtime exceptions and programmatic errors programming errors and And our error codes don't do that and that's not helpful and then fourthly You know for programming errors It does not make any sense to put that sem for major restriction in place. I would say Because people should not be expecting that kind of error to happen And then fifthly, I I feel like we have just been lacking common sense in dealing with error messages We have been just applying the rule blank way that error message changes or error code changes a sem for major And not really thinking about how people actually would use these things in practice Wow want to talk about ESM Let's talk about ESM Ecoscript modules Right, so so this slide this is basically what everybody wants People want to be able to require ES modules With the required function and import common. Yes modules like existing ecosystem system modules just with import And these things are not going to happen Kind of sucks Yeah, and and And we will for be explaining why until the end of time and that's not anybody that's not people's fault It's just the nature of yeah Yeah, and we've gotten some flak for it. Not that not that. Anyway, let's we'll get to the flak Yeah So, I mean the basic story here as I understand it and I know you said you agree with it It's like well the JavaScript language one would say at modules because lots of people are using JavaScript in the browser And they don't really have a module system. It would be really nice that they did and That was kind of developed in a way that didn't work well with node because the first the existing ecosystem of modules Was just not really taking an account into at that at that point and And the reason how that worked out is that you know in browsers you want to you have things like network latency that you want to think about and and And you don't really have that in nowhere. You'll just load everything from disk, which is pretty fast comparably And we just like so The way that this ended up working is not has a synchronous module system The web has the somewhat asynchronous module system or at least that's the way it's kind of designed and No, just just wasn't really fast to to stand up in the committee meetings and say hey, this is incompatible we're not going to be able to to implement this in a way that makes the existing user base happy and That's kind of how we ended up with two Pretty incompatible systems some some things are going well I am I am really happy about this ratio It's like obviously not saying that every node contributor has about 10 commits but It's a lot better than other open source projects and yeah I don't know lots of these are from these spikes that you mentioned earlier when we're looking at the contribution graph Where we had people in a room that did their first kind it's but even without that it's It it shows that there's Significant community involvement Yeah, I'm happy about that. Yes, there's a people invested So an API is actually one of the things that I really do use as a module developer I maintain a couple libraries that use an API for native add-ons And this screenshot is from one of these libraries from the conversion to an API and and I love an API It makes writing clean code for nodes so much easier You don't have to understand all the Idealments that you need to know when you're working with VA directly anymore So it's it's a lot easier to write correct code And it's a lot easier to just write code and C++ or other languages that that are then Turned into native add-ons So such as to be clear the code on the left here it contains tons of misunderstandings about how the V8 API or its NAND wrapper works Because it was written before I like got into node core and started understanding all of these things and how to actually deal with With things Properly and and now I don't have to care about that anymore when I'm writing out. That's nice We talked about this bit earlier with the with what we could do with HTTP HTTP one if we were to like write these from scratch now. Yeah It's it's just it's cool that you can write code in other languages and let node run that and you can ship it Anywhere you don't need to worry about operating systems or platform architectures Or shared objects or anything like that You can just use node to run other languages code. I think that's awesome. That's awesome Well, let's talk about since yeah, since Ryan will have given his talk yesterday at this point Yeah So so obviously we have no idea what Ryan is going to say But if necessary, I think we can get into that in the Q&A The the then a release one zero zero is pretty freshly out and And obviously people have been talking about the future relationship of of note and then a lot But so it always seems like people think that that you know It's going to split the ecosystem that you know, they're going to move people in different directions and we end up with with like People who use only the one or people who use only the other and only write code for one of the other and and I don't think that's what's gonna happen I yeah, I Think so, I mean, it's it's already showing node. Jess is adding Compatibility for the web API because while people write JavaScript for the web a lot and it's really popular I think Dino has some kind of no Jess compatibility mechanisms that they're working on I'm really looking to it too much, but I saw that you know, they have commits of that kind in the Dino Rapo Get up. I think they're just all gonna move closer together in terms of what they can do Share more API's that everybody can code for and and and if people are happy or running that code with with Dino Then with note or vice versa, then great. I Whatever works for people, but what if we're wrong? Yeah, I mean so what get a good run I Don't think it will I don't think I don't you know, like I think I think you know the killer the you know There's there's too much too much riding on you know, too You know the NPM module system and things like that That you know, it's gonna make gonna create a lot of friction through the switch to Dino But they might and they might like it better and it might work better for them. I don't know. We'll see So it's Q&A time


news update. Good afternoon, folks. Steve Rhodes coming to you live from the shores of sunny Delray Beach, Florida. This year, 2 p.m. update and currently I still have that mixed bag out here that mixed bag shows the Dow is the only in the seed trading to the downside. It's off 60 points. The S&P's up seven NASDAQ 72 92 now to the upside. The Russell's up 19. The semis are up 22. The trainees up 134. The Dow just went positive. We've got the feds minutes that have just been released out here. So we're going to see some type of market behavior. But what we can do here, as opposed to just watch the play by play market behavior, is let's just go take a look at the cash indices charts out there because each of them are signaling that the market should rally. Why is that? Because if we take a look at the Dow, there's an A to B equal CD to the downside. You can see on Monday you form that bull sash candle that confirmed that by pattern out here price above its oscillator and change line. That's a just a rally a rally where back to the 32 755 level. If you look at the S&P 500, this form a nice bull sash candle on Monday that also confirmed its A to B equal CD pattern. As long as price remains above its oscillator and change line price should rally up into the 4100 area. The NDX 100 is the only one that needs a bullish reversal candle to confirm a by the D point pattern. And you could easily get that bullish engulfing candle today. Plus you want to see a close above its oscillator and change line, which is currently printed 11 8 16. The Russell 2000 has a wave seven pattern out there. Seventh inning stretch. That's a courtesy of the Chapman wave out there. That can be and in this case here is a bottoming signal. The semiconductor index. This formed a by the D point pattern. We had that rising window that gap to the upside. That was a couple of weeks ago. So she has a bottoming signal in the case of the Dow transports out here. They have confirmed a by the D point pattern. They did that when they generate a bullish engulfing candle on Monday. Now it needs to get above its oscillator and change line. So the key level there to be watching is 13 8 34. If it doesn't get above that, then a bottom is somewhat suspect. Then ask that composite. This will confirm erosement to indicator bottom. If we get a bullish reversal candle today right now, that's what we have. New York Stock Exchange that confirmed erosement to indicator bottom on Friday. Yeah, did that on Friday out there. And so you've got bottom signals all over the place. We've got a bottom signal. If we take a look at the New York Stock Exchange, the top 100 international stocks, they formed a nice roadspin to indicator bottom signal as did the U. S. Top 100 inside the New York Stock Exchange. So everything is set folks. We should rally from here. Let's see how the day plays out. Have a wonderful Wednesday. I'll be back with you at one o'clock sharp on terrific Thursday. Take care.


Welcome back after T and what we will do now is to do a session on think pair share which is one of the types of active learning strategies. So, we are going to try a small experiment here the sense that I have already done this session for the coordinators workshop in April and they have created the video of that workshop. So, I am going to play the video of the workshop and pause it at appropriate times for some live interaction with you. So, let me start with the video I may do a little bit of fast forwarding of the video because some of the items in that video we have already seen in the morning session. So, let us see how this works out and of course if there is a problem with the video and you know it fails for whatever reason then I will just switch back to doing a live session altogether ok. Let me skip all this introduction. Let me ask this first question ok. So, when we talk about MOOCs one of the things that come to mind and one of the things that we have been propagating also is the fact that we should create short videos excellent videos and these are expert videos which then students can see and then we can use a flip classroom model where students then come to class and discuss and so on and so forth right. So, the first question we want to ask is that is it enough to create these excellent videos ok. So, I will talk about one experiment. So, what happened in this experiment is that there were two videos video lectures that were created ok. So, all the correct things were done the duration was correct the topic was proper all of that and then it was the same content on the instructor and in one case the instructor spoke fluently did not refer to any notes you know made eye contact with the audience all of that and in the other case the instructor spoke very haltingly kept looking down you know kept hesitating and things like that ok. So, what do we expect in which video will more learning happen? The first one right. So, we expect that the first video is going to be much more effective than the next the disfluent one ok. So, interestingly it turns out that there is no difference in the amount of learning that happened to students in terms of what they were able to score in the exam ok. Can you guess why? Because the method was different no the way the one ok the method of instruction was the same the mode of instruction or the quality of instruction was different yeah what else? What else could be a reason? Students were not much interested in either of the videos. So, it did not matter really whether you did a great video or not ok. Then. Lack of interaction. Lack of interaction is one ok. They are only listed ok. Let me ask a slightly different question. So, just think of the subject in which you are really the expert ok. What made you an expert in that subject? What is it that you did to become an expert in that subject? Tutorials. Tutorials little more yeah. So, to create the interest. To create the interest. Self learning. Self learning. So, essentially the point is it is not really how well the instructor is able to deliver. If you were to become an expert what the key is the practice right. How much practice? So, why did the students who did well do well? They did well because they practiced, they did the problems ok they went home and worked all of that ok. So, that is the key point. So, what we are saying is improving the fluency of lectures does not necessarily imply that better learning is good to happen. We need to focus on identifying what does lead to better learning ok. So, then let us ask the other question when we go from MOOCs to blended MOOCs ok. So, now say ok I have excellent videos and like many of you said interaction is the thing that is missing if I just look at a video right. So, plus interaction with a local instructor. Is that good enough? What do you think? Students are interacting with the local instructor. This is not like the MOOC instructor interacting with local instructors. Local instructor interacting with students locally. Is that good enough? Yes. Yes. Ok it is better ok that is a good answer it is better ok, but it still does not cut it. Yeah somebody wanted to say something there yeah. Aim point comes student learn by self learning, but the local instructor teaches in local language, but the contents are excellent. So, student take both local instructor instruction and the contents from excellent video. So, I think that is a good one. Ok. So, this is a good one, but still I am going to say that in most cases the answer is still no ok. Because once again this works for students who are self-motivated, students who are interested all of those parameters have to be met. Why? Because if you look at the average student who is kind of medium interested in the subject who is there because you know it is there in the curriculum I am being forced to sit here. Let me listen to this guy somehow I have to pass the course. A lot of people are in that category. So, for that category of students basic problem is students do not pay at most attention. Even right now I am thinking that everybody is paying attention to me. I doubt if more than 50 percent are really paying attention to me. So, we expect like some people are fiddling with their mobiles I can already see there some of them are having their laptops doing something else. I wonder are they taking notes or are they checking their email. So, many things are there right. So, students do not pay at most attention however well we interact or we attempt to interact with them. Second thing is students think that they know or understand because they are able to follow the lecture this is a very big one. Because for most good instructors we are great lecturers. So, when the student is sitting there and I am working out the example the student is able to follow because the clarity is in my mind not in the student's mind. It is only later they realize that they have not really understood the topic. So, something has to be done to make that happen. Then as an interaction then we say that look interactivity is the main thing that is going to make my students learn. It is difficult to ensure that all the students in the class participate actively even if you see now. So, there will be a person here, a person there, a person there who answers who responds to me. It is hard to ensure that the people who are shy somewhere here somewhere there they also participate. So, that is the key difficulty. Students with high motivation, high achievement levels, loud voice they drive the pace. And students who are a little different they get left behind. And also students have a barrier responding to the instructor directly.  How many of us feel that? We feel that all the time. So, these are the barriers that come in the way of even an interactive class. So, what we are doing right now is a typical interactive class. And even in such a class these barriers come in the way. You do not ensure that every student who is there is engaged with the content no student is getting distracted yes question. Sir, I think interaction should be must because if interaction is not in any lecture then queries women always queries. What about queries? So, let me clarify I am not saying interaction is not required. You told him in first in most case it is no. It is not good enough. But I think so 100 percent interaction should be must then what about queries remains always queries. That is fine. I am not saying no to interaction you have not got the point. Okay, what I am saying is you need something more than interaction. Okay fine sir. That is what I am saying. Okay, interaction is definitely required. Okay, what we need is something more. So, what is that more that is what we are trying to get to. Okay, so queries have to be answered, but only students with high motivation even speak up. So, there may be take this particular audience itself. You know there may be a question in somebody's mind over there. That person may or may not have asked the query. So, there needs to be a mechanism where which everybody's queries can come. That is the point I am trying to make. Okay. So, moving on. So, one solution for this problem is what is called active learning. Making an active learning strategy in the classroom. Okay. So, the active learning basic definition is that students are going to engage with the content by writing reflecting thinking. See, what we realize that the only way I become an expert at something is by practicing that thing. I do not become an expert at something by listening to somebody. So, I need to practice that thing. So, and what we want to do in active learning is get students to do that practice right there. Okay. So, that's the key point. So, there are many informal strategies. See, many of us do this. I mean, it's not like something very revolutionary. Many of us do this in our class. We make small groups and things like that. So, the only thing that we say in order for something to qualify as an active learning strategy is that we have to carefully design these activities. They should be explicitly based on theories of learning. There should be some theoretical basis to saying, okay, why I am creating the activity in this manner? Otherwise, as teachers we always have a lot of guesses in our mind, right? We feel that, okay, this is not happening. Let me try that. And we feel that that will work. So, those don't qualify as formal active learning strategies. So, there has to be some theoretical basis and they have to be evaluated repeatedly through empirical research. That's what is called active learning. I'm going to pause the video here because this part of it where we talked about gains from active learning we have already seen in the morning session. So, let me go a little bit ahead and come to the activity in the video itself. So, this time to do something now. So, consider a large class. This is a problem that I'm posing, okay? Consider a large class, okay? Maybe an auditorium like this in which a class is going on. And imagine that I'm going on for 90 minutes, which is what my duration is, one and a half hours, okay? And what you have to do is predict the number of students, consider that you are students, okay? And you have to predict how many people in this auditorium are going to be listening to this fellow for 90 minutes, okay? That's your job, okay? So, what you want to do is you want to plot. What is the percentage of engagement? What is the percentage that of the audience that is going to listen to me as time progresses, okay? So, you all have your notebooks. Try to draw this graph, okay? Draw a graph of engagement versus time, okay? That's the goal.  Imagine students sitting there and try to predict how is the students' engagement or students paying attention to the instructor going to vary as the class progresses. So, do this on your own. We are not yet ready to talk to each other. I'll give you time to talk to your neighbor. So, first some graph of yours, your own has to be drawn. I have paused the video at this point and you have to do this activity yourself, think and predict the percentage of your students who may be showing engaged behavior with the content, okay? So, assuming that many of you have drawn some graph of your own, let me move on to the next slide. So, what we need to do is with a pair examine each other's graphs, okay? So, you may have drawn a graph which is like this and somebody else may have drawn a graph which is like that and talk to each other about why that graph came like that. And together come up with two techniques that can be used to convert the graph into something that looks like this, okay? So, something where the engagement increases and stays at a high level almost throughout, okay? So, this you will get about five minutes to do this. Okay? So, now is the time for you to talk to your neighbor and identify techniques which will get the graph to something that looks like what is shown on the slide, okay? So, I see that in many centers people are still sitting quietly staring at the slides. So, staring at the slides is not the solution. Solution is now to talk to your neighbor and find out what is it that you will do in your class so that students are having an engagement at this level, okay? So, assuming that you have now talked to each other and come up with some technique to make the engagement stay like this, let me go on to the next phase where as a class in your entire center, create a list of techniques that can be useful. So, what I would request is that the coordinator can send one technique from your center through the A-view chat. For example, often people write the technique as you know I will tell a joke. So, joke may actually help to get the engagement up momentarily. But what you want is to identify techniques which will get up the engagement on a sustained basis. Some answers that are coming as they are coming, I will just keep on reading. So, somebody is saying quiz, somebody is saying showing video clips, pointing to a particular middle or last row student in the class, active learning by taking a quiz. So, quiz seems to be the most favorable way, okay? Somebody is saying that playing a role, that's a good one. Group activities, group discussion, interactive sessions, small GD session, role play, give live examples with questions, brainstorming method, giving some practical examples, asking questions, real-time examples. So, there is a lot of people who are saying that I will do an example. Many are saying that I will do a quiz or give a puzzle. Many are saying that I will have a group discussion. So, all these three are excellent ways, you know. There is somebody also saying that I will give an example with an analogy, somebody is saying I will do polling. So, now that you are coming up with these strategies, these strategies that you are suggesting to me as the response for the share phase, these strategies that you are coming up with that are most likely to succeed, these are the strategies that constitute active learning. So, following up from the previous session where you asked for examples of what can be done for active learning in the classroom, you can do these strategies that you have been, you are now sending to me through the chat window. These are the strategies that you can use. So, now let us ask this question. I think we can stop sending the responses through the a view chat. I have got now sufficient responses and that the key idea was to simply illustrate what are the different type of answers that come from each center. So, we do not want to wait for all the 270 responses to come in. So, we will move on. The question now is, in this session we are going to talk about one particular type of activity which is called think-pair-share. So, what is think-pair-share? Think-pair-share is what we have just illustrated. So, now we have seen three instances of think-pair-share. One instance we saw in the beginning where we talked about various teaching scenarios and you came up with reasons for why the teaching scenarios are improving. Another reason we saw towards the end of the last session where again you talked about ways to handle students buy-in into the lecture and just now we have also seen one technique which was the example of increasing engagement in the class. So, that is the think-pair-share. What is the exact definition we will talk about in the next slide? So, why do we want to use think-pair-share in blended MOOCs? So, now what we are going to do is that we are going to be teaching CS 101 through so many mechanisms. So, the interesting thing here is that the well-known challenges to teaching and learning in large classes also apply to MOOCs and blended MOOCs. It is more easy for students to tune out and get distracted. As we can see, even in this synchronous remote classroom mode, I really have no control over what you are doing at the center. So, it is possible that even if 50 percent of you are tuned out, there really is nothing that I can do sitting over here other than keep on exorting that please work, please work. So, that is why active learning techniques that engage the entire class, not just the interested people, but the entire class, those techniques are required. And think-pair-share is a relatively easy way to achieve the benefits of small group cooperative learning during the synchronous sessions in a blended MOOC. And you can easily get feedback that can be acted upon. So, what exactly is think-pair-share? So, think-pair-share is a collaborative active learning strategy in which students work on a problem posed by the instructor. So, for example, the problem that was most recently posed to you was to identify what is the engagement pattern in a large class. So, first you work on the problem individually. So, the individual work is important because you want every student to commit to some answer. Then you work in pairs, so that two students can share their understanding. And if there are misconceptions, they can clear the misconceptions. And finally, we work together with the entire class. So, what happens in each of these phases? So, in the think phase, the teacher asks a specific question about the topic. So, students think about the question and come up with their own answer to that question. So, so far we have seen questions which are not subject specific, we have seen questions from CS1. We are yet to see questions from computer programming, we will see that in a while. Then in the pair phase, the teacher asks another question related to the previous one that is suitable to deepen the understanding. So, this is what we just did. First you had to draw a graph, each of you had to draw a graph and then the requirement was that you talk to your neighbor and come up with a strategy which will get a graph of the type that was shown where the graph was at 80 percent level. So, that is the pair phase where they share their thinking with each other and proceed with the task. And finally, the students share their thinking with the entire class. So, the teacher now moderates the discussion and highlights important points. So, this is the basic structure of a think pair share activity. It is a very powerful active learning technique to ensure that your entire class is engaged and especially useful for a course like computer programming where there is problem solving and where there is other. So, what are the benefits? So, TPS works because students are actively engaged. So, these are benefits of any active learning strategy because students are actively engaged. Second reason is students learn from each other. So, this is a very important thing which happens anyway among students when they are learning just before the exams. And the third big reason is that students can tackle large and ill structured problems and develop the ability to consider multiple points of use. So, these are three big advantages of TPS and then there are other advantages which are true for many active learning techniques. Like it makes the class interactive, students realize that even others are struggling. It builds a friendly yet academic atmosphere and it includes all the other students in the teaching learning process. So, TPS in this course. So, why should you care? So, what happens is that the MOOC will actually have TPS activities to be carried out in the when you are doing the local instructor phase. So, your students learning depends upon how well you execute the TPS. So, what we will do is that right now we will see one example of a TPS activity and then we will write one activity of our own. Here is an activity which is from CS 101. It says write a program to find the smallest and largest element in a given array. So, this is then we say that in the think phase what we ask the student to do is write the pseudo code individually. In the pair phase we ask the students to write the C plus plus code with a partner and in the share phase we ask the student to compare their program with the demo program that I as the instructor of this course had created. So, our question right now is to say why is this a good TPS activity? Why is it a good idea to ask the students to do think pair share in this manner? So, there are some centers which have taken the initiative and are sending me answers. So, I appreciate that. So, this is good for students to understand the solution of the problem with different ways. It is a good answer. So, please go ahead with sending answers via the chat. Students share their ideas. So, what I would suggest is that as you are sending answers in the chat if you find that I have already read out your answer as coming from some other center then do not send. So, that we can see how many answers are there to get multiple solutions. Students will start thinking and also learning involvement of each student. We can select a solution from a set interaction will be increased understanding all the dimensions of the problem. Good for student to understand the ideas, probable multiple ways of solving the problem, weak student can get benefit, enhance an analytical thinking, improves the depth of the solution, involves everyone, can get multiple solutions, poor students can also participate. Okay. So, lot of centers are improves thinking in the entire class, students engagement in the classroom. Okay. So, I think we can stop with sending responses through the chat window. Okay. And moving on. So, what we find is many of you are saying that multiple solutions are possible which is a big plus point and many of you are saying that all the students are engaged which is another big plus point. Okay. So, I would like you to distinguish between here is one the advantage of think pair share itself as an activity. So, many of the answers that people are sending are have to do with think pair share itself and nothing to do really with this question about the array. Okay. So, think pair share itself has the ability to get students to be interested and so on. So, there the question that I am asking here is why is this array question a good question. Let us try to examine what is there in this question that makes it a good question. Okay. Because this is the way you will be writing think pair share questions of your own. Okay. So, let us look at this question. What happens? What do we see in the think phase? Okay. So, one thing that you can observe about the think phase is that this writing the pseudo code individually for a program to find the smallest and largest element of the array is possible to do for every student. So, even if the student did not come for the previous class we are not asking them to write do something very hard here. We are asking them to do something very simple and something which can be attempted by every student. So, if you look at all the think pair share activities that we have encountered so far including in the previous session what we will find is that in the think phase the question is so small and reasonably simple that every student can attempt that question that is the property of the think phase question. So, even if the question student has missed the previous class even if the student doesn't know how to do C++ programming this question will ensure that all of them are able to do this. So, that is why this think question is a good question for the topic of arrays. The next question if you look at the pair phase now the pair phase is also a good one because it builds on what they have done in the think phase. It says that okay in the think phase you write the pseudo code. Now in the pair phase you write the C++ code with a partner. So, some centre has already pointed out that the timing is also an important thing that the timing is adequate right you are giving them 5 minutes to think about the pseudo code and then another 10 minutes to write the C++ code. So, that is again a very important point that the timing is kept suitable for the type of question that we are asking. So, the pair phase activity continues to build on what they have written in the think phase. So, in the think phase they wrote the pseudo code and now we simply say that take your own pseudo code and write the C++ code as part of the pair phase. And then if you look at the share phase the share phase is also a good example because the share phase invites everybody to check their answer with the shown answer. So, the moment you say compare your answer with the instructor's answer what happens is a lot of discussion is created. A lot of students will say that okay you know I have used the for loop you have used the while loop is it okay to use a while loop versus a for loop and so on and so forth. So, this action of comparison with the given program helps the student to see okay where my program is different is my program better. So, all of those type of queries arise and then multiple solutions come up where one set of students may have implemented it in one way another set of students have implemented it in another way okay. So, that is why if we look at this TPS example that is given here the think phase the pair phase and the share phase questions are good questions because let me summarize again first the think phase question is attemptable by all the students. Second the pair phase question builds upon what work they have done in the think phase okay. So, it just simply builds upon take the pseudo code that you have written and now write the C plus plus and third the share phase question has an incentive for all the students to participate because they are comparing their own answer with the instructor's answer. So, this is one reason why this is a good TPS activity and the timing of the activities has been set up also appropriately. So, what we will do now is that we will write a question yourself okay. So, suppose you want to create a TPS activity that should lead students towards this goal okay write a program to manage the contacts data on your phone what will you specify as the actions to be done in each phase of the TPS activity. So, I will give you about 5 minutes to do this action in your respective centers and the coordinators can themselves coordinate this activity in the center because this is the same activity which we carried out in the coordinators workshop. So, I see that in some of the centers there are some people who are actually working on this activity I also see some people who are just sitting waiting for the lecture to proceed and there are others who are completely off task who seem to be talking and you know chatting about something else. Now, while there is nothing that I can do to enforce that everybody works on this activity one thing that I can do is that post assignment on this which I have done on Moodle and I will just talk about the assignment in a way. There are some enthusiastic centers which are sending their answers through the chat ask them to write pseudo code some program compare with other students and so on. So, what I am going to do is I am not going to really discuss the various activities that you have written for this particular question. So, write a program to manage the contacts data on a phone I am just going to simply talk about some possible ways in which you can do that. So, some possible ways in which you can do this one thing is in the think phase. So, remember that the think phase has to be simple. So, one thing to make this simple is that in the think phase we can simply ask them you know what can be the maximum number of contacts or we can ask them what do you think is going to be the data structure that is going to be used for the contacts. So, yeah. So, now I am seeing a lot of good responses on the chat right finalize the data structures and methods to be used and then in the pair phase we can say that you write the pseudo code for the methods to be used for this contacts data and in the share phase once again you share your program structure with that of the instructor or with that of other pairs. So, I will just wait another 1 minute to see some of the responses on chat. Now, some colleges have also sent how much time they are going to give for each of the phases I appreciate that that you have said that 10 minutes for the think phase another 10 minutes for the pair phase. So, there are lot of people who are putting in serious effort in order to come up with this think phase share activity data structure will be used for the task seems to be the most common response across all the centers manage the list based on different domains first name second name. So, there are lot of such questions possible. So, the point I am trying to make here by asking you to send the responses through the chat window actually what you could do is you could also look at it at your own centers also later on you can look at the chat window at your center to see how many different responses have come for this question. So, the point I am trying to illustrate here is that such a question does not have a single think pair share activity. So, most of the answers that people have sent are valid think pair share activities. So, you can choose the activity that you want to give in your class depending upon what exactly do you want to focus on do you want to focus on the data structure or do you want to focus on the logic or do you want to focus on the actual coding. So, depending upon what you want to focus on you can give your own think pair share question can be created for this particular activity. So, I will move on now here are here is the activity that I gave in my class which was saying that think how you will store the information and write the C plus plus class declarations for the data structure. The pair phase I had them discuss with their neighbors and agree on the class declaration and together write the code for the method. So, this this exact think pair share activity was in fact, one of the answers which some center has sent and in the share phase it was participate in the discussion of your solution and other solution. So, this was one example of TPS in CS 101. So, let me do one more example of a conceptual kind. So, now here the idea is the sorting of an array which I talked about earlier. So, where you say that consider an unsorted array of n elements and in the think phase you simply ask them to write the pseudo code for sorting the array ok. In the pair phase you ask them to discuss their answer with the neighbor and do a pros and cons analysis. So, somebody may say ok my algorithm will work better if the array is already in a certain form ok and in the share phase you get the students to participate in a discussion of their solution and other solution ok. So, this TPS activity as I already said in the previous session this activity led to a discussion of various sorting algorithms. So, in a one hour class so, there was about 20 minutes of this TPS activity followed by another 20 minutes of discussion of the various sorting algorithms ok. So, in about an hours class the students were able to grasp nearly 4 different sorting algorithms which otherwise would have taken more than 2 classes to cover in the traditional lecturing mechanism ok. So, for those of you asked for examples of active learning and examples of think pair share in computer programming here are some 2, 3 examples that we are seeing ok. Let me show you one more example. So, this example is about writing the details of a particular program ok. So, what we are saying is so, in this case this is specific to one programming language called scratch that I had used, but let us ignore the problem as such, but if you look at the activities we say that ok in the think phase the students have to write the pseudo code. In the pair phase the students have to write the code for the interface for the details and in the share phase they have to compare their answer with the instructors answer ok. So, once again for detailing this is a very good mechanism of detailing and coming up with multiple answers ok. So, now some of us may have this question that does this actually work? I showed examples of active learning strategies working and references from literature. So, what we did was we actually did these measurements in the computer programming course that I taught ok. And we found that there is a lot of game that actually happened for the students. So, we measured a total of 13 such activities and we performed an experiment to measure the learning ok. We found that 83 percent of the students on an average are mostly or fully engaged. So, 83 percent in a class of 250 students is a fairly big deal in getting all the students to be engaged and not having the back benchers to completely tune out and do other things. The students self perception of the engagement matched our measurements also. When we do the experiment for the learning to see that ok engagement is fine students are paying more attention in the class, but does ThinkPairShare actually help them to learn better ok. So, we had a two group experiment in one group we did the ThinkPairShare in one group we did not do the ThinkPairShare. And we found that the experimental group which had the TPS activity performed significantly better than the control group which learned the same concept from an interactive lecture ok. So, this is the reason why we believe that ThinkPairShare is a good technique for us to use in a course on computer programming. And you can see these if you want more details of these papers if you go to my website if you just google Sridharayar IIT Bombay it will take you to my website and from my web page you can download these papers to look at. So, let me do two things now one is I will summarize the ThinkPairShare setup guidelines and the second is we will do an assignment ok where you write your own TPS activity. So, there are three points to keep in mind one is to ensure that there is a clear deliverable for each phase you know. So, we do not want to write a TPS question where we simply say think about the use of something. So, if we give a wait question then the student does not know exactly what is to be done. So, each phase there has to be a clear deliverable where they know what is expected as an outcome. The second idea is to ensure that the phases are logically connected they should use the output of one phase in the next phase. And the third point is that we should ensure that there is sufficient time for each phase if we give too little time the students will get frustrated if we give too much time then the students will get bored. So, typically while executing ThinkPairShare we have to move on when 80 percent of the class has finished. So, in fact if you notice while you are submitting responses over the chat I after 80 percent of the centers have responded I said ok we can stop with sending responses on the chat and we can move on ok. So, now what we will do is having seen three four examples of TPS in CS 101. So, here is the assignment. So, what we have done is we have created a ThinkPairShare activity constructor. So, if you just follow through these steps you will be able to create your own ThinkPairShare activity. What I want you to get right now is simply to understand what is it that is required in the next one hour when you do the assignment ok. So, the assignment says it gives you examples from CS 101 where you can write the various ThinkPairShare activities ok. So, you write your Think question here you write your pair question here and for each phase there is an example and there are some guidelines. Then when you go on to the next page there is an optional activity of talking to your neighbor and refining your activity. I would recommend that you do this in the lab and part three is what you will do in your own class and the third page actually has lot of examples for different different goals. So, if your goal is conceptual understanding here is an example of how to do ThinkPairShare in computer programming. If your goal is that student should be able to predict the output of a program here is an example of what they should do ok. So, let me quickly summarize what this assignment is about. The assignment is about downloading this ThinkPairShare activity constructor and following all the instructions in it systematically ok. So, in the what it will do is it will help you to create your own ThinkPairShare activity. So, in the first part you will write the Think phase question. So, there are examples for you to look at and there are guidelines for you to follow and in that box you can write your own Think phase question. Then in the pair phase similarly you will write the pair phase question and in the share phase you will write the share phase question. So, that is the first part of the assignment which you will carry out over the next twenty minutes ok. After you do that what you will do is you will discuss your answers with your colleague with any colleague in the in your center and take that colleagues input to refine your own activity ok. So, that is also one action that can happen during the assignment itself. So, this is the lab activity that we are going to do and on the last page what I have given for you to look at are a lot of examples from CS101 ok. So, what you are required to do is from now which is 12 o'clock till lunch time you create your own Think phase share question for the CS101 for a topic of your choice I am not mandating any particular topic. So, you can choose any topic that you feel that will be useful for you to create a Think phase share activity and by the end of one hour. So, before you go for lunch upload your responses as the response to the assignment submission on Moodle. So, the resource has been uploaded on Moodle the resource has also been uploaded on Avue. So, you can download it through either of the two more mechanisms and fill in the sections where you have to write the Think phase question and the pair phase question and the share phase question and see if there is some refinement of the question that you can do and then upload it back on Moodle as your response to the assignment ok. So, please carry on with the assignment ok.