Topics covered: Introduction and lumped abstraction
Instructor: Prof. Anant Agarwal
So, one question to ask ourselves is, what is engineering? How do we define, what is engineering? Well, the definition I like to use is one put forth by Steve Senturia, one of our professors who is now retired. He defined engineering to be the purposeful use of science. All right, so what is 6.002 about? So, 6.002 is a first course in engineering. And I like to view 6.002 as the gainful employment of Maxwell's equations.
Many of you have seen Maxwell's equations before.
Most of you should have. And they are hard stuff.
6.002 is all about teaching you how to simplify our lives, make things simple. So, if you can gainfully employ Maxwell's equations, gainfully employ the facts of nature to build very interesting systems.
So let me show you how the transition is made.
So, there's a world around us, nature, so we made some observations in nature. We make measurements, and we can write down large tables of measurements.
So, for example, we can take objects and measure the voltage across them, and look at the resulting current through the elements. So, we may end up getting a bunch of values such as [CHALKBOARD].
So, we start out life with making measurements on what exists. And we build a bunch of tables.
Now, we could directly take these tables, and based on observations of these tables, we could go ahead and build very interesting engineering systems that help us out in day-to-day lives.
But that's incredibly hard. Imagine having to resort to a set of tables to do any kind of useful work.
So what we do as engineers, we first layer a level of abstraction. We look at all the data, and somehow layer abstraction such that we can simplify or much more succinctly put in a simple equation or a simple statement what these numbers are telling us.
OK, so for example, our physics laws, so laws of physics for example are simply abstractions, the laws of abstractions. So, these sets of numbers can be codified by Ohm's law, for example, V is equal to RI, the voltage current, relates to the resistance of the object.
So, V is equal to RI is a law that succinctly describes a set of experiments, and replaces a large number of tables with a very simple statement.
You could call this the law, or you could call it an abstraction. OK so you see laws of physics, call them abstractions of physics if you like.
Similarly, there are Maxwell's equations and so on and so forth. So, this is what is.
This is what's out there. OK, and a law as an abstraction describe the properties of nature, as we see it, in some succinct form. Now, if you want to go and build useful things, we could take these abstractions, take Maxwell's equations, and go and build things. But it's hard.
It's really, really hard.
And what you learn in, at MIT is this place is all about simplifying things. Take complicated things, build layers of abstraction, and simplify things so that we can build useful systems. Even in 6.002 we start life by making a huge leap from Maxwell's equations to a couple of very, very simple laws. OK, I'm going to show you that leap that we will make today. So, the first abstraction that we layer is called the lump circuit abstraction.
OK, in the lump circuit abstraction, what we do is we make a set of simplifications that allows us to view a set of objects as discrete or lumped elements.
So, we may, I will define voltage sources.
We'll define resistors. We'll define capacitors, and so on. OK, and I'm going to make the jump, and show you how we make the jump in a few minutes.
So, on that sort of abstraction, we then layer yet another abstract layer. And let me call that the amplifier abstraction. OK, remember, here we are absolutely down and dirty.
We are setting the probes, measuring objects, and building huge tables. We abstracted things into simple laws, and life got a little better.
OK, I'm going to show you can abstract things further out and build discrete objects, and, you could build even more interesting components called amplifiers and begin playing around with amplifiers. OK, so when you are using amplifiers, you don't really have to worry about the details of Maxwell's equations. OK, I'll give you some very simple abstract rules of behavior for an amplifier, and you can go build very interesting systems without really, really knowing how Maxwell's equations applies to that because you will be working at this abstract layer.
However, since you're engineers, and you are good at building such systems, it's very important for you to understand how we make this leap from the laws of physics into some of our very primitive engineering abstractions.
So, once we make the amplified abstraction in 6.002, by the way, 6.002 starts here. We start from the laws of physics and then proceed all the way out.
So, once we talk about amplifiers we will take two pads. On the amplifier, you will build the next abstraction called the digital abstraction. OK, and with the digital abstraction, we will build new elements such as inverters and combinational gates, OK?
So, notice we are building bigger, and bigger things, which have more and more complicated behavior inside them, but which are very simple to describe, right?
So, following the digital abstraction, we will superimpose the combinational logic abstraction on top of that, and define functional blocks that look like this: some inputs, some function, some outputs. The next abstraction on top of that will be the clock digital abstraction, where we will have some notion of time introduced into the system.
There will be a clock, and this will be some function.
And there will be a clock that introduces time into the sort of logic values that functions operate upon.
Following that, the next level of abstraction that we build is called instruction set abstraction.
OK, now you begin to see things that consumers get to look at.
Can someone give me an example of, or name an instruction set, or instruction set abstraction? Bingo.
So, x86 is one set of abstractions.
And in fact, in many universities, education could well start just by saying, OK, here's an abstraction. These are the x86 instructions, OK? Some MIT gurus have designed this awesome little microprocessor, OK? So you just worry about, you take this abstraction layer here, the assembly instructions, and you go and build systems on top of that.
OK, so this is an abstraction layer called the x86 layer.
There are other abstraction layers.
In 6.004, you will learn about, I believe, the alpha or the beta, OK, and various other abstractions at this point.
So, 6.002 kind of goes until here.
6.002 takes me from the world of physics all the way to the world of interesting analog and digital systems.
OK, 004, the course on computation structures, will show you how to build computers all the way from simple digital objects all the way to big systems.
Following that, you learn about language abstractions, Java, C, and other languages, and that's in 6.002. And there are several other courses that will cover that. Following this, you learn about software system abstractions, and software systems, you will learn about operating systems. Any example of an operating system abstraction that people know out there?
What's that? Linux.
What else? I'm just wondering how long I'll have to go before I hear what I want to hear.
[LAUGHTER] OK, so we have a bunch of software systems. So, if we have a bunch of software systems, these are nothing but abstractions. Linux simply implies a set of system calls that the programs must adhere to.
Windows is another set of system calls.
That's it. And see how much money they made out of it? OK, it's all about abstraction layers, that all start from nature.
All right? Build abstraction upon abstraction upon abstraction upon abstraction, and someone out here are lots of dollars.
OK, so based on these abstractions, we can then build useful things for human beings.
We can build very useful things, video games, so we can send space shuttles up, and a whole bunch of other systems. But it's based on these abstraction layers. What's unique about education at MIT? What's unique about 6.002 and EECS? Is to my knowledge, there are not many other places in the world where you will get an education in everything going all the way from nature to how to build very complicated analog and digital systems.
OK, we will show you layer upon layer upon layer upon layer, peel away the onion until you are down to raw nature, OK, through Maxwell's equations.
So, 6.002, 004, this is 033, OK, 6.170, and so on. OK, the whole EECS is about building abstraction layers, one on top of the other.
So that's one path. There's the analog path.
The analog path would take an amplifier, and build an abstraction layer called the op-amp.
See how similar they all look? You know the amplifier, the inverter of the digital world, and the operational amplifier in the analog world, just different ways of looking at the same devices. So, to build an analog system, to build an operational amplifier, and then, here we go end up building a whole bunch of different interesting analog system components.
OK, and these components might look like oscillators.
They might look like filters. OK, they look like power supplies, a whole bunch of very interesting abstract components, which pulled together can then give you the next set of systems. And these systems might be toasters, or say for example other analog systems like the various control systems for various power plants and so on and so forth, and ultimately, fun and dollars. OK, so 6.002 is about going from physics all the way to this point.
We will build interesting analog systems, and take you up to interesting digital system components, from which 004 will take you all the way to building computer architectures. So that, in a nutshell, kind of gives you a feel for the space of EECS.
OK, this chart here is almost a vignette of what EECS at MIT is all about. And this is the world according to Agarwal, because he's teaching 002.
OK, so this is 6.002, and the rest of EECS is somewhere out there. OK, so I'm going to do now is throughout this course; I want you to think about which part in this vignette we are in. So, right now, I'm going to start here and take you here.
OK, and as you get closer and closer, things get simpler, and simpler, and simpler.
Still, the final abstractions are pedal, brake, steering wheel. I mean, that's the abstraction to play a game, right, four or five very simple interfaces, and that's all you need to know.
And everybody in the world can play stuff.
So remember, this stuff is complicated.
This stuff is very, very simple.
OK, and the more we build abstractions and come to this side, things get simpler and simpler.
So, a large part of what I'll cover today is make the biggest simplification. The biggest simplification we will make his go from Maxwell's equation to some very, very simple algebraic rules. OK, I did Maxwell's equations myself. And I tell you, they were very interesting stuff but complicated.
I can't imagine building efficient systems using Maxwell's equations. So, let's take an example, OK? So, let's say I have a battery.
Just switch to page three of your course notes.
And let's say I connect that to a bulb.
OK, and this is a wire. And, the battery supplies some voltage, V, and I ask you a simple question.
What is the current through the bulb?
OK, so here is something that I can build using objects.
I can pick a round from stores and so on.
And I can collect them up in this way, and ask the question, what is the current, I?
Now, if all you've done is learn about Maxwell's equations, you can roll up your sleeves and say, ah-ha!
The first step is to write down all of Maxwell's equations, and you can say, del cross E is minus del and go on, and on, and on, OK, and write out all of Maxwell's equations and say, now how do I get from there to here? OK, it's very good.
You can do it. OK, you can do it, but it's very complicated. OK, so instead, what you're going to do is take the easy way.
So, what I want to remind you is that this course is actually very easy. OK remember, we're going to be building abstraction upon abstraction to make your lives easier. If you think your lives are getting more complicated, then you are not using intuition enough. OK, just remember the big I word. It's all about making things simple. OK, so let me give you an analogy. So, suppose you have an object.
OK, and I apply a force to the object.
It's an analogy, OK to get some insight into how to do this. So, I say here's an object.
I apply a force, and I ask you the question.
What is the acceleration of the object when I apply a force, F? So, how would you do it?
OK, and eighth, or ninth, or tenth grader can do this. OK, they would ask me, what's the mass of the object? OK, I ask you what is the acceleration? You would turn around and ask me, what is the mass of the object?
I tell you, the mass of the object is M.
And then you say, oh sure, A is F divided by M, done. It's as simple as that.
OK, I could have gone into all kinds of differential equations and so on to figure that out, but you asked me for the mass.
And you gave me the answer, A is F divided by M.
So, you ignored a bunch of things.
You ignored the shape of the object.
You ignored its color. You ignored its temperature.
OK, and you ignored the soft or hard or whatever.
OK, you ignored a whole bunch of things.
You were focused on one thing. OK, you're focused on its mass.
And, it turns out that the process really was developed from a set of simplifications. That is called, does anybody remember this? Point mass simplification.
OK, so, in physics, you've done this before.
OK, you've simplified your lives by viewing objects as having a mass at a point, and force is acting at that point. OK, M is that property of the object that is of interest to you.
This process is called, in physics, point mass discretization. OK, now using an analogy, and I'm going to show you a similar simple process to do the problem with the light bulb. OK, so take my light bulb again, And I focus on the filament of the light bulb.
OK, all I care about is the current flowing through the light bulb. OK, I don't care about whether the filament is twisted, whether it's hot.
I don't care about its shape. I don't care about its color.
All I care about is the current.
OK, so to do that, what we can do here at a very high level is since we just need the current and don't care about a bunch of other properties, we will simply replace the bulb with a discrete object called a resistor.
So the discrete object is a resistor, much like the point mass simplification that we did earlier that replaced the bulb filament with a object called a resistor, a discrete object called a resistor. Or a lump object called resister, and put a value next to it just like the mass for the object, a resistance value, R.
OK, now what I can do is in the same manner, replace the battery with an object called a battery object, and connect that here, the voltage, V, applied to it.
V falls across the resistor, and I get my I simply from Ohm's law as we divide by R. So, notice here, to replace this complicated bulb, this really twisty, weird old thing with this discreet thing called a resistor, and its only property of interest was its resistance value, R, direct analogy to what we did there.
So, since R represents the only property of interest, we can simply ignore all the other things.
So, notice here, we've done things the simple way. And remember, in EE, in the electrical engineering, we do things the simple way. OK, we could go the hard route and do Maxwell's equations, and get PhD's in physics, and so on. But out here, we are looking to do useful, interesting systems in the simplest way that we can. OK, we do things a simple way.
All right, so we just did this, and boom, I found out what the current was. Now, I cheated a little bit.
I've cheated a little bit. R is a lumped abstraction for the bulb. So, you look at this resistor here. That is simply a placeholder.
It's a stand-in for this complicated thing called a bulb.
It's a discreet object. It's a lumped object, and represents the bulb. Now, so most of 6.002 will take off from here, OK, and that's it.
To very simple stuff, like V is equal to IR, it's a simple high school algebra to take off in that direction. But before we go there, it's important to understand, why was it that we were able to make the simplification? OK, we did something else.
Something's going on under the covers here.
On the one hand, I say let's use Maxwell's, and then I jump out and say, hey, we can just use this simple thing. I did something that allowed me to go from here to here. And you need to understand why I did that and how I did that. Understand it once, and then you won't have to need that information again.
You just need to understand it. So, let's take a closer look at the bulb filament, and look at what we really did.
So, here's my filament, A, and let's say that the surface area here, I label that SA, and the one down here SB, my voltage, V, applied there, and this is what I call my black box that I've replaced with a resistor.
Notice that, in order for this to work, V and I need to be defined. So I needs to be defined, and V needs to be defined. OK, if I give you a random object, and I don't tell you anything else about the object, it's not clear I can do that. OK, if it's a much more general situation, I have to write down Maxwell's equations, and this is what I would write down.
Write down J dot dS as a function of the coordinate here integrated over the area minus, OK, I would have to start from there from one of Maxwell's equations.
All right, notice that this becomes IA, and this becomes IB in our simplification. But, if I don't tell you anything else, you have to start from here.
You will have some varying current here by point.
You might have some other current coming out here because I may have some charge buildup happening inside.
If charge is building up inside the filament; then I would have to put del q by del t out here, right, the current in minus the current out must equal charge buildup. Whoa, where is this and where is that? So this is reality.
This is really, really what I have to do.
But how did I get there? How did I get there?
The key answer is, as engineers, when in doubt we simplify. Remember, we are engineers.
Our goal in life is to build interesting systems.
OK and some are motivated by money.
OK, so our goal is to build interesting systems and do good to humanity. So, as long as we can build a good light bulb, we are happy.
So what we can do is we can say, look, all I care about is building interesting systems. So I can say, hey, this stuff is too hard. Let's make the assumption that all the systems that we will consider will have this thing be zero. OK, in other words, if I take a complete object, if I take an element like a resistor or a capacitor, the box around the entire element, OK, and I want to just deal with those systems in which this thing is zero. You can come and beat me up and say, but why? Why not?
Why am I doing this? And I am saying the world is arbitrary. I'm an engineer; I want to build good systems. By making this simplification, I eliminate this squiggle thing, and so on.
I don't want to deal with it. I want to make my life simple.
So this is gone to zero because, why?
Because I have said that in the future I will only deal with those elements for which this is true.
I'm going to discipline myself. I'm going to discipline myself to only deal with those systems. OK, Maxwell is turning around and, you know, mad at me and all that stuff, but tough. So this, what I've said about making a simplification here, and this is one of the simplifications I'm making. And I give a name to the simplification. And that's called the lumped matter discipline. OK, so I'm saying I will only deal with elements for which if I put a black box around it, this is going to be true. And if this is going to be true, then notice, there is no charge buildup.
Current in must equal current out.
Ah-ha! So this becomes IA.
This becomes IB. Yes.
OK, I can now deal with IA's and IB's.
And IB and IA are equal because this is zero.
Notice that there is a whole bunch of depth here in the jump from here to here. As MIT graduates, you really, really need to understand why it is that we made that jump, and then go and use that, and do cool things. All right, this allows us to define I. We have a unique I associated with an element for the current through the element.
We still have to worry about B, and I won't go through that in detail. The course notes have some discussion of that and so does the textbook.
So V, AB is defined when del phi B, the rate of change of magnetic flux is zero. So, if I take the element and I take any region outside the element, this must be true.
And you say, why should that be true?
That's not true in general. Absolutely.
It's not true in general. But I, because I choose to, I going to deal with only those elements.
I will discipline myself. But these are only those elements for which this is true, and this is true.
I'm going to limit my world. I'm going to create a play field for myself. You want to play; follow my rules. OK, and that's called the lumped matter discipline. So once you say that I'm going to adhere to the lump matter discipline, and this is true inside your elements. This is true outside the elements. You can define VA and VB, and good things happen to you. OK, let me show you a few examples of lumped elements. But remember, a large part of what we're doing is based on these two assumptions. And to just go through the background on that, I would encourage you to go to chapter 1 of your course notes and read through just as how this came about, that comes about.
So, by doing that by adhering to a lumped matter discipline, we can now lump objects. We could lump a bulb into a resistor. OK, so to be clear, a certain number of lumped objects, and now, the universe is going to be comprised into lumped objects.
OK, so before this, when he went home, we talked about eggs, and omelets, and light bulbs, and switches, but once you come to MIT, and after you've taken 6.002, you begin talking about lumped elements, you know, resistors, voltage sources, capacitors, little inky-dinky objects that follow the lumped matter discipline.
OK, they stick to very simple rules, and the math that you have to do to analyze them is incredibly simple.
What could be simpler than V is equal to IR?
So, let me give you an example of interesting lumped elements, and then show you a couple of really nasty lumped elements.
OK, so what you see out here, so we characterize lumped elements by the VI characteristics.
OK, you apply voltage, measure the current.
OK, so what I can do is I can plot I here, and V here, and see what it looks like. OK, I can characterize elements by their VI relationship. And there are a bunch of elements that I can create based on the VI relationship.
So let me show you a few examples.
So for the resistor, since V is directly proportional to I, and R is a constant, I get a straight line. That's the I axis, the V axis, and this is the resistor.
What I actually have is a variable resistor, so I'm going to change the resistance value, R, and the curve will also change slope.
OK, I changed the value of R because it's a variable resistor, and the changes slope because my R is different.
OK, next, let me go to a fixed resistor, and this guy here on the screen to your left is a fixed resistor.
And you see that its IV characteristic is a line of a given slope, 1 by R, and that's it.
I can't change it. Number three, I have another lumped element called a Zener diode that you will see in the fourth week of this class, and the characteristics for the Zener diode look like this: IV. If my voltage goes across the Zener diode goes up slightly, the current shoots up.
But if the voltage becomes negative I don't have any current flowing into it until the voltage passes on the threshold, at which point my current begins to build up.
OK, so I can increase the voltage a little bit, and it can show that the current starts building up again. So that's another interesting lumped element called a Zener diode.
Let's switch to the next one called a diode.
So a diode looks like this: IV.
As the voltage across the diode becomes positive, around .6 volts, or thereabout, the current begins to shoot up. But when the voltage is below that threshold of .6, then my current is almost zero.
It's another lumped element called a diode.
And you will begin using these elements in your 002 lives to build interesting systems. The next example is a thermistor. A thermistor is a resistor whose resistance varies with temperature.
OK, so this is a very expensive little hairdryer, and what I'm going to do is blow some hot air at my resistor, and you're going to see that its value is going to change depending on how much I heat it.
So as it cools down, let me cool it down, so you can see it's coming down.
I can zap it again. I could do this all day.
This is so much fun. OK, so that's another interesting lumped element. As the temperature rises, its resistance changes. The next thing is called a photo resistor. It's a resistor.
It used to be a resistor; Lorenzo?
Oh OK, that's fine. So this is a photo resistor.
And notice that it almost behaves like an open circuit.
But what I'm going to do is shine some light on it.
When I shine light on it, it begins to conduct and becomes a resistor of some value.
There you go. OK, so that's a photo resistor.
So now I'm going to show you a battery.
Notice we did talk about batteries before.
I'll show you a battery. So before you show a battery, just thinking your own minds, what should the IV characteristic of a battery look like?
IV. A battery supplies a constant voltage. You know your little cell, the AA battery, 1.5 volts?
So, think of what the IV characteristic of a battery should look like for three seconds before it shows you.
This is the one I showed, Lorenzo?.
It's a straight line. This is a good battery.
It's a straight, vertical line, but says that the voltage is 1.5 volts, or thereabouts.
No matter what current it supplies as an ideal voltage source, it has a fixed voltage, V, and no matter what the current going through is. Now, I'll show you a dud, a bad battery, and this is what the bad battery looks like. So, many of you have had your car batteries die on you. When you go to the store, they check your batteries. They use exactly this principle, that dead batteries have resistance.
By the way, you see slopes here.
You're thinking of resistance. OK, they can use this property to figure out that your battery is dead.
So that's a dead battery. And finally, let me show you a bulb. We started with a bulb, and so I need to end, OK, we started with a bulb, so I need to end with a bulb. And what you will see is that a bulb simply behaves like a resistor.
Its IV curve is going to look like this.
OK, notice this is my bulb. And guess what, it behaves like a resistor. It's a very interesting kind of resistor, so I won't go into details for now.
But notice its IV characteristic behaves like a resistor. OK, so those are some pretty standard lumped elements. You deal with a lot more sets of lumped elements, switches, MOSFETs, capacitors, inductors, a bunch of other fun stuff.
But before we do that, what I wanted to tell you, don't go berserk on this abstraction binge.
Too much of anything is bad for you.
So what I'm going to show you is, abstractions or models are only valid provided you work within a set of constraints.
Notice, we have already had this tacit handshake which said that we follow the discipline. Even after we follow the discipline, there are ranges to how well physical elements can behave like ideal lumped elements.
OK, for example, what we will do is show you the resistor. And it's going to look like a resistor. And I'm going to keep increasing the voltage around it.
OK, what's going to happen at some point?
I just keep doing that. If it's an ideal element, if you're a theorist, you say, oh yeah, the curve will keep extending until I reach infinity.
But this is a practical resistor, so people out here can cover your eyes or something. OK, so you're abstraction can't predict that. All it says is the current is an amp. It can't predict the heat, light, or the smell. In the laboratory, even, you get the smell. You know what somebody has just done. So that's one example of the lumped abstraction breaking down.
So, if I really believe that my own BS, anything is a lumped element. So here's a pickle.
A pickle is a lumped element. I can choose it as a lumped resistor. But this is a very interesting lumped resistor. Don't try this at home.
This is a standard pickle into which you are pumping 110 V AC.
I promise you, this is a standard pickle.
So, it has a fixed resistance, but your lumped abstraction cannot predict the nice light and sound effect.
OK, so the last two or three minutes what I want to do, so remember, don't get carried away by abstractions. There are limits.
OK, you can't predict everything.
OK, that's the smell of a pickle.
OK, so let me give you a preview of some upcoming attractions, and show you one more quick simplification in the last few minutes. So what we can do, once we build these lumped elements, we can connect them in circuits. OK, so I can build a circuit, of the sort. So here's a voltage source with a bunch of resistors. I can connect them with wires and build a circuit of the sort. One interesting question we can ask ourselves is, under the lumped matter discipline, what can we say about the voltages?
OK, if I go around the loop, provided my world adheres to the lumped matter discipline, what can I say about the voltages around this loop? Ah-ha, Maxwell again, right? So, I can write Maxwell's appropriate equation to solve that.
OK, voltages have something to do with E and your integral of E dot dl and all of that stuff, right?
So this is the appropriate Maxwell's equations to use.
And I want to find out what happens here.
Now remember, under LMD, I made the assumption. OK, my world, my playground, has del phi B by del t being zero. The rate of change of flux is zero. So, under these circumstances, I can write this. I can break up this line integral into three parts across the voltage source and across the two resistors and write that down.
OK, and then when I can do, is now that the right-hand side is zero, I can simply take this. And I know that E dot dl across this element is simply VCA. This is VAB, and this is VBC equals zero. OK, so when I make the assumption that del phi B by del t is zero, and I go around this loop, apply Maxwell's equations, what do I find?
I find that the sum of the voltages, VCA plus VAB plus VBC, is zero. That's fantastic.
So now, I could say hasta la vista to this baby here.
And I can focus on this guy and say, Maxwell's equations, this thing with squiggles and dels and all that stuff, can be simplified to the sum of the voltages across a set of elements in a loop in a circuit is zero.
OK, and this is called Kirchhoff's first first law, KVL. OK, similarly, in recitation section, you'll see the application of Kirchhoff's current law, which comes from this be equal to zero, and all the currents coming into a node being zero.
So, KVL and KCl directly come out of the lumped matter discipline. And you can use those to solve circuits like this.
This is one of over 2,200 courses on OCW. Find materials for this course in the pages linked along the left.
MIT OpenCourseWare is a free & open publication of material from thousands of MIT courses, covering the entire MIT curriculum.
No enrollment or registration. Freely browse and use OCW materials at your own pace. There's no signup, and no start or end dates.
Knowledge is your reward. Use OCW to guide your own life-long learning, or to teach others. We don't offer credit or certification for using OCW.
Made for sharing. Download files for later. Send to friends and colleagues. Modify, remix, and reuse (just remember to cite OCW as the source.)
Learn more at Get Started with MIT OpenCourseWare