The instructor, Erik Demaine, is the youngest professor of all time at MIT and a child prodigy. He has published several articles in scientifical journals, and and now has helped several students publish their own articles. He is one of the modern day geniuses of our time. We are extremely lucky to have a free video of his lecturing.
@@lukeTHEDUUKE he was a child prodigy when he was 7, he finished college at 14 and got his phd when he was 20. He has won plenty of awards and is the youngest teacher at mit for a reason. Most people think that if someone speaks a lot and you dont undestand him then he must be smart, but actually intelligent people, like mr. Erik demaine, can take complicated concepts and explain them in a way that a lot of people like ourselves can undestand them
So this guy is like dumb smart? A 🐐 of numbers? I'm a dummy and have no clue what is going on in this video but guys and girls that know this stuff it blows my mind. All I'm wondering is does this really figure things out or is this just made up by some super smart people that make these things up for fun
@@sammyholdem2492pretty sure it's for faster run times i.e., you're in the program and it outputs your results faster. Or in some cases you may never get the result, like the work on the processor to store all the bits gets used up to the point of failure or low mem. Because I think, what's not explained real well right off the bat is that this program is constantly looping to get to the next fib.
I'm from Perú and following a Software Engineering, although we sometimes may get an overall view of these kind of topics, we tend to stay in the easy zone and never go any further from that. Having access to these many MIT real lectures just makes me so happy because, even if you don't enjoy the best education, you stil have the opportunity to learn more from reliable sources. And for me, that's what the MIT, give opportunities and hope. Thank you so much!
So apparent why MIT students are industry leaders.... their teachers are amazing. My data structures and algorithms professor was trash at my university, and it is a well respected school.
I love how Erik is so humble and approachable. It's so great that MIT recognized him so early as a faculty member. This is so important for students and progress in education and research. MIT is really showing the way for other universities how the modern education is meant to be. Erik stay cool and keep improving this wonderful series of lectures. All the best!
Agreed! Erik is an amazing teacher, I love watching his lectures. He manages to make very difficult subjects relatively easy to understand and is very thorough and precise when defining things. And as you pointed out, his obvious love of teaching and the subject matter inspires an eagerness to learn.
@@winrx no a lot of people are actually as intelligent and perhaps even more than him. Thing is not everyone had the spark by their enviroment from a young age to get interested in specialising in a specific area. Also in other countries there is no alternative to finish high school earlier and apply to university. Also SAT is easy i can imagine back then it was way easier. Im not saying he isnt smart. Hes definetely above average for sure.
I've always thought of Dynamic Programming as this big, scary, complicated concept that would take forever to understand. Erik helped me understand it easily.
# for def fibonacci(n): r = [1, 0] for i in range(1, n+1): a = r[0] b = r[1] c = a + b r[0] = b r[1] = c return r[1] if __name__=="__main__": for n in range(1, 101): print(n, ": ", fibonacci(n))
I've been watching many video professor teaching in RUclips....Professor Erik Demaine definitely the best one that I've ever saw...His teaching style really on top.
0:00~31:00 DP 설명. - 벨만 포드 알고리즘 만든 벨만이 다이나믹 프로그래밍이라는 이름을 창시했다. 벨만이 다이나믹 프로그래밍이라고 이름 지은 이유는 별 뜻 없고 '그냥 멋있어 보여서'다. - 하나의 문제를 완전탐색으로 재귀적으로 풀 때 그 문제의 부분문제(Subproblems)의 답을 재활용하는 기법이 메모아이제이션(Memoization)이다. 재귀로 문제를 풀면 exponential 시간이 소요되는데, 한 번 풀었던 문제의 답을 메모로 적어 놓고 다시 필요할 때 반환함으로써 그 문제 풀이는 O(1) 시간밖에 걸리지 않는다. - DP에는 재귀적인 구현인 하향식 접근(Top-down approach) 외에도 반복문을 이용한 상향식 접근(Bottom-up approach) 방법이 있다. 상향식은 함수 호출을 적게 하니까 스택을 적게 먹는 장점이 있겠지. - 시간복잡도: 부분 문제의 갯수 * 부분 문제를 푸는 데에 걸리는 시간(메모 해 놔서 재귀 안 걸리는 데는 O(1)임) ---------- 31:00 이후 최단 경로 설명. - 오랫동안 잊고 있었던 그래프 이론이 등장함. / - 정점(vertex, node), 간선(edge, link, line) - 차수(degree): 어떤 정점의 간선의 수. / - DAG (Directed Acyclic Graph): 비순환 유향(방향) 그래프 - 내차수(indegree): 방향 그래프에서 어떤 정점으로 들어오는 간선(incoming edge)의 수. - 외차수(outdegree): 방향 그래프에서 어떤 정점에서 나가는 간선(outgoing edge)의 수. - 위상 정렬(Topological sorting): 선수과목 구조처럼 보이게 DAG을 왼쪽에서 오른쪽으로 한 방향으로 죽 늘어 놓는 것. - 출발점에서 나가는 간선을 기준으로 부분문제를 만들 수도 있고 목적지로 들어오는 간선을 기준으로 부분문제를 만들 수도 있음 - 사이클이 있는 그래프에서 시간복잡도는 무한대임. - DAG의 경우 시간복잡도: O(V+E) - DP 쓰려면 부분 문제는 비순환이어야 한다.
the best algorithm lecture i have ever seen! I prefer this "old-style" lecture using blackboard and chalks so much without any bullshit slides and whiteboards
27:00 Bottom up can be optimized further by hard coding the first two results manually the itterate without a conditional and saving the result right away. When done looping, return the last result.
i love love love Erik's teaching style. usually, i feel pretty dumb when i don't get a concept when my professor or other youtube videos explain but Erik makes it very.....accessible, and relatable.
*caption errors* 0:52 injected it → inject it 2:39 polynomial time algorithm → polynomial-time algorithm (also at 2:44) 5:18 sneak peak → sneak peek 6:17 we’re talking → when we’re talking 6:46 whatever’s → whatever, is 6:53 dynamic programming → dynamic-programming 12:02 computer → compute 19:03 non-memoize → non-memoized 21:04 that same problem → that same subproblem 31:01 onto → on to 35:32 [INAUDIBLE] → And then: okay, what’s 40:00 stored it → store it 41:45 s comma v → s comma b 45:10 Handshaking → Handshaking lemma 45:18 it ran a → it ran in 45:28 depth first search → depth-first search 48:19 refers to ruclips.net/video/OQSNhk5ICTI/видео.html 50:52 negative weight cycles → negative-weight cycles
at 47:06 Eric mentions, we need to make the graph acyclic, we don't need to make the graph acyclic, we can mark the vertex which is being computed (which is in the call stack) as present in an infinite distance and use it's TAB[v]
I just want to thank you for this video and other related videos from this channel. While working fulltime and schooling at night it is hard sometimes to follow through my classes. However, I managed to earn a MS Computer Science concentration on Network and Security with a big thanks to these videos. Thank you!!
Don't know much about Dynamic Programming but do note the professor's unique and rather attractive chalkboard writing! And being a dapper hand myself at it, I salute you Prof!
Amazing lecture from Erik Demaine. It's impressive how easy he explains a topic like dynamic programming and how he can have the attention of the students in the hall. Thank you very much to Erik for his lecture and to MIT for sharing this excellent course!!! I can't wait to see the next DP classes!!!
Mahdi Zouch A large part of what makes them the best institution (in my opinion, at least one of the best though) is the quality of their instructors. And yes, I too would love to attend MIT if/when I make enough money, but at least until then they've got a lot of their courses available :)
I don't get lectures like this post-Covid in my programming classes. My professors just point me to a video they have done 3 years ago and we just do problems in class. I learn better when the lecture is done in person because I remember it as an experience, rather than me watching a RUclips video and trying to memorize every single detail of the video. There's a difference between online and in-person and I can't prove it. I would have loved to sit in this lecture.
dynamic programming really does apply to life in a lot of ways. "you solve one problem, then you solve another problem. and if you solve enough problems, you get to come home" - mark watney (the martian). the tough part of life is finding out how solving one subproblem relates to another subproblem, and knowing which subproblem will actually get you to your goal of solving your main problem.
at 28:47 for the dependency DAG the arrows should point the other way? or do the arrows go from solved subproblems to unsolved? Confused because according to Wikipedia a dependency graph, the arrow points from the dependent (the depend to the solved subproblems)... en.wikipedia.org/wiki/Dependency_graph
Is it weird that I have absolutely no idea what this class teaches, nor can I understand what it is trying to teach, yet I can't stop watching the lectures?
@Aarni lol, you could be wasting time on worse things I suppose. Hit your teacher with the old "I wanted to write my essay last night, but I just got way too caught up learning advanced algorithms. Time just got away from me."
hahahah im doing the same thing. Started with a video where Jelani Nelson was teaching Linear Data Structures I have no idea how it works and how it helps but it's oddly satisfying xD
I went there (Course 8, 2012). Trust me, getting in is the easy part. All the top students at their high schools become more or less average there. You learn a ton but it will wring the life out of you too if you aren't careful. You may spare yourself and just enjoy OCW!
Just leaving this here for someone to remind me in a couple of years, I regretted majoring in information systems instead of CS, and I cannot change my degree, but I will work hard and learn most of the needed stuff online in order to be able to learn more cs stuff on top of finishing my degree and getting a nice job that i enjoy in the future, through hard work and determination!
***** 1)The chalk is only yellow on the outside. 2)Topological sorts. (We presume you don't mean the math.) This link on Wikipedia might help: en.wikipedia.org/wiki/Topological_sorting
When I came to know about the name story of DP, I was also very excited. If anyone has done the course algorithmic toolbox, you might also be knowing this story!
And the way he presents everything is just amazing, there's many gaps in my knowledge on these topics but the way he explains helps me to either fill the gaps or at least know where to look for answers.
I'm 26 and didn't even finish my undergrad course yet. And I don't give a fuck. Not every universities and colleges are as awesome as the MIT or Caltech (etc). I'm from Hungary. I feel no drive to finish it. What you see here, this lecture, is quite the opposite of the way they teach us in Hungary. There are a very few good teachers here (but they, the good ones are really just great and I respect them), the majority just make us hate what we supposed to be enthusiastic about. Who cares, I just open my laptop and BOOM, I'm an MIT student, I can learn valuable stuff and I enjoy this difficult work with algorithms (or whatever) again. Maybe I'll finish my UG course, maybe I'll just quit and start making something amazing. Having a degree is good but if you can't do it, don't push it. There are many ways to be successful in what you like to do. If you can't finish, then college was just a bad guess and you should try another path to V (see what I did here?)
ranalynamic come on man, i understand the fact that some prof aren't the greatest ones(here in italy too,same faculty) but i think it's a student problem too, isn't it?!
ranalynamic I always thought Hungary was the land of geniuses. You've had John von Neumann, Eugene Wigner, Leo Szilard, Theodore von Karman, and on and on. These guys are my scientific heroes.
Keith Wald It used to be better, I guess... These days it's a shame. I feel embarrassed. Or maybe it wasn't that different at all. Today, a talented student who is actually lucky enough to get the hell out of here, probably will still do a great job pretty much anywhere where she/he is going. But not here. Yes, many of them are of Hungarian origins (and by the way, Jewish also). On the other hand, if you read their whole story, almost none of them achieved anything here. This is what Hungary is really good at: putting talents in an impossible situation and make them go the fuck away :) Anyway. I'm glad you know about these people. :)
I felt like this was a great way to explain dynamic programming. My course work on it in college was fine enough for me to understand it but this is a much easier better way to explain it to learn from.
It's weird to think that some of us can't have access to this type of education maybe because we were born somewhere else or we don't have the money, so we are stuck with teachers that don't care about teaching you and you basically graduate by yourself. I don't think people that actually study on these types of universities understand how much better some of the teachers are. It makes such a big difference to my understanding of the material when I can find videos like these.
I was thinking the same, i remember when i learned the algorithms for the fibonacci series back in 2008. But i don't think my teachers didn't care, it's just that they didn't know. I still use the fibonacci series each time i try a new programming language.
The last remark that the algorithm can be modified to compute weights of shortest paths in graphs (possibly with cycles) was rushed a little bit. Can someone explain it in better terms? Thanks :)
The first part Fibonacci is easy to understand, and the second part Shortest Paths is hard, because of the math formula there. DP = Recursion + Memorization + Guessing The instructor Eric Demaine was impressive to me, who was get the scholar at 14, master at 16, professor at 20.
recursive functions alone is a concept which takes some adjusting too. In over 14 years of writing code in manufacturing i've yet to find a place for them. I get its for a situation where you'd want the end result without printing the path to the result on screen (ie a loop) but ive never really needed it in my line. I can imagine it with 3d graphics though
anyone know what "indegree" means? Got lost around 45:00 mark and the lecture did not make sense once he drew the diagram of cyclic graphs becoming acyclic over time (which is 47:35). any help would be appreciated!
The instructor, Erik Demaine, is the youngest professor of all time at MIT and a child prodigy. He has published several articles in scientifical journals, and and now has helped several students publish their own articles. He is one of the modern day geniuses of our time. We are extremely lucky to have a free video of his lecturing.
he's no genius
@@lukeTHEDUUKE he was a child prodigy when he was 7, he finished college at 14 and got his phd when he was 20. He has won plenty of awards and is the youngest teacher at mit for a reason. Most people think that if someone speaks a lot and you dont undestand him then he must be smart, but actually intelligent people, like mr. Erik demaine, can take complicated concepts and explain them in a way that a lot of people like ourselves can undestand them
So this guy is like dumb smart? A 🐐 of numbers? I'm a dummy and have no clue what is going on in this video but guys and girls that know this stuff it blows my mind. All I'm wondering is does this really figure things out or is this just made up by some super smart people that make these things up for fun
@sammy holdem it's not about being smart, people who have been doing one thing all their life can be extremely good at it.
@@sammyholdem2492pretty sure it's for faster run times i.e., you're in the program and it outputs your results faster. Or in some cases you may never get the result, like the work on the processor to store all the bits gets used up to the point of failure or low mem. Because I think, what's not explained real well right off the bat is that this program is constantly looping to get to the next fib.
Watching this 6 years after graduation. The irony of skipping class...
Never too late to start.
I was lucky enough to find out that there are a lot of videos in yt that could help me during my CS programm...And they really did help me.
how about 11 years? kkk
He is really putting an effort for students....these kind of teachers r very rare to find
I agree totally
rare
true
00:58 dynamic programming (DP)
05:06 Fibonacci numbers
11:04 memoized DP algorithm
23:14 bottom-up DP algorithm
31:00 shortest paths
41:14 example
Thank you!
Hh
thanks brada
I'm from Perú and following a Software Engineering, although we sometimes may get an overall view of these kind of topics, we tend to stay in the easy zone and never go any further from that. Having access to these many MIT real lectures just makes me so happy because, even if you don't enjoy the best education, you stil have the opportunity to learn more from reliable sources. And for me, that's what the MIT, give opportunities and hope. Thank you so much!
Another Peruvian here!
Now we are three. :)
Even at MIT this is a graduate level course, you're not taking this in a regular undergrad haha
@@patrickmcpartland1398 What's the difference? 🤔
@@kartiksangwan3302 How much debt your willing to go into.
So apparent why MIT students are industry leaders.... their teachers are amazing. My data structures and algorithms professor was trash at my university, and it is a well respected school.
Which university you went to?
@@cmubill prolly outside 100th rank unis
I love how Erik is so humble and approachable. It's so great that MIT recognized him so early as a faculty member. This is so important for students and progress in education and research. MIT is really showing the way for other universities how the modern education is meant to be. Erik stay cool and keep improving this wonderful series of lectures. All the best!
I watched this guys couple of old lectures quite sometime back and he made me fall in love with dynamic programming. Love this guy.
Not only is he knowledgeable but he’s also one of those teachers that makes you really get interested in the lesson
I love this guy. I can tell he enjoys teaching.. best trait a lecturer can have :)
+Jason Kang nice
+Jason Kang Indeed.
+Jason Kang I know, I was struggling with Dynamic Programming until I saw this series. He's awesome.
Agreed! Erik is an amazing teacher, I love watching his lectures. He manages to make very difficult subjects relatively easy to understand and is very thorough and precise when defining things. And as you pointed out, his obvious love of teaching and the subject matter inspires an eagerness to learn.
Yes true!
Absolutely fascinating lecture. This guy received his master of science in mathematics at the age of 16.
Lies again? DMP DUO
Another post on this video says 14 yrs of age which one is it 🤔
@@brucesbanner5057 he was bachelor
@@brucesbanner5057 his Bachelors at 14 and masters at 16. It matches up.
Daym but not experience
Thank you for caring about the subtitles quality, they made it possible to follow up the whole class.
I am 55 years old and whenever I watch a lecture from MIT or Stanford, I so wish I could study there! I feel so mesmerized.
Me too, and i am 29. Just graduated at 27 as a Mechatronic Engineerer and now do IT job
Thank you guys. I am doing my masters though I couldn't get in MIT, you give me exposure to top class teaching materials.
I just googled him to know that he finished his bachelor's degree at 14 years of age at Dalhousie University in Canada. damnn!!!!
geez. Smart guy.
When you have professors father at young age who inspires you and teach you, that helps a lot. His father is also professor at MIT.
@@danielalemu3029 true
Daniel Alemu Having the right genes may also help I think......
@@winrx no a lot of people are actually as intelligent and perhaps even more than him. Thing is not everyone had the spark by their enviroment from a young age to get interested in specialising in a specific area. Also in other countries there is no alternative to finish high school earlier and apply to university. Also SAT is easy i can imagine back then it was way easier. Im not saying he isnt smart. Hes definetely above average for sure.
stop scrolling down listen to this guy
Why not both??
/me scrolls back up
I can hear him while scrolling down because i hear with my ears and not my eyes.
Ok
Why?
I've always thought of Dynamic Programming as this big, scary, complicated concept that would take forever to understand. Erik helped me understand it easily.
Teachers tend to make the same impressions they had about a course on us when its their turn.
# for
def fibonacci(n):
r = [1, 0]
for i in range(1, n+1):
a = r[0]
b = r[1]
c = a + b
r[0] = b
r[1] = c
return r[1]
if __name__=="__main__":
for n in range(1, 101):
print(n, ": ", fibonacci(n))
"This is kind of obvious"
Me: Leaving the lecture hall with my head down.
I've been watching many video professor teaching in RUclips....Professor Erik Demaine definitely the best one that I've ever saw...His teaching style really on top.
My goal: binge watch mit course playlist for the whole day :)
0:00~31:00 DP 설명.
- 벨만 포드 알고리즘 만든 벨만이 다이나믹 프로그래밍이라는 이름을 창시했다. 벨만이 다이나믹 프로그래밍이라고 이름 지은 이유는 별 뜻 없고 '그냥 멋있어 보여서'다.
- 하나의 문제를 완전탐색으로 재귀적으로 풀 때 그 문제의 부분문제(Subproblems)의 답을 재활용하는 기법이 메모아이제이션(Memoization)이다. 재귀로 문제를 풀면 exponential 시간이 소요되는데, 한 번 풀었던 문제의 답을 메모로 적어 놓고 다시 필요할 때 반환함으로써 그 문제 풀이는 O(1) 시간밖에 걸리지 않는다.
- DP에는 재귀적인 구현인 하향식 접근(Top-down approach) 외에도 반복문을 이용한 상향식 접근(Bottom-up approach) 방법이 있다. 상향식은 함수 호출을 적게 하니까 스택을 적게 먹는 장점이 있겠지.
- 시간복잡도: 부분 문제의 갯수 * 부분 문제를 푸는 데에 걸리는 시간(메모 해 놔서 재귀 안 걸리는 데는 O(1)임)
----------
31:00 이후 최단 경로 설명.
- 오랫동안 잊고 있었던 그래프 이론이 등장함.
/
- 정점(vertex, node), 간선(edge, link, line)
- 차수(degree): 어떤 정점의 간선의 수.
/
- DAG (Directed Acyclic Graph): 비순환 유향(방향) 그래프
- 내차수(indegree): 방향 그래프에서 어떤 정점으로 들어오는 간선(incoming edge)의 수.
- 외차수(outdegree): 방향 그래프에서 어떤 정점에서 나가는 간선(outgoing edge)의 수.
- 위상 정렬(Topological sorting): 선수과목 구조처럼 보이게 DAG을 왼쪽에서 오른쪽으로 한 방향으로 죽 늘어 놓는 것.
- 출발점에서 나가는 간선을 기준으로 부분문제를 만들 수도 있고 목적지로 들어오는 간선을 기준으로 부분문제를 만들 수도 있음
- 사이클이 있는 그래프에서 시간복잡도는 무한대임.
- DAG의 경우 시간복잡도: O(V+E)
- DP 쓰려면 부분 문제는 비순환이어야 한다.
the best algorithm lecture i have ever seen! I prefer this "old-style" lecture using blackboard and chalks so much without any bullshit slides and whiteboards
I hate white boards too )
I love them...Easy to use
i hate slides
Slides hide the incompetency of a teacher.
Professor Demaine,
I really enjoy your confident lectures.
If this guy was my professor I might have not dropped out! We need ppl like him thank you for sharing this
Turn on, tune in, and drop out! There is so much more to life than sitting in a room listening to someone drone on about nothing. Be your own man!
@@cluckhead1913 maybe so but his passion is infectious…I wish I had a real passion for something instead of slogging through life
27:00 Bottom up can be optimized further by hard coding the first two results manually the itterate without a conditional and saving the result right away.
When done looping, return the last result.
int n = 100;
Map fib = new HashMap();
int i;
for(i= -1; i
30:00
import java.math.BigInteger;
public class FibonacciExample{
public static void main(String args[]){
int fibSequenceNum = 107;
int n = fibSequenceNum/2;
BigInteger[] fib = {BigInteger.valueOf(0),BigInteger.valueOf(1)};
for(int i = 0; i < n; i++) {
fib[0] = fib[0].add(fib[1]);
fib[1] = fib[0].add(fib[1]);
}
System.out.println(fib[fibSequenceNum%2]);
}}
@@weignerg 8ulk777uuu6
26:10 "So is this clear what this is doing? I think so."
[Then corrects the 2nd, 3rd, 4th and 5th typos that prevented comprehension. :) ]
This man is absolutely brilliant. Perhaps too brilliant for anyone in the lecture hall to understand, and certainly for me.
i love love love Erik's teaching style. usually, i feel pretty dumb when i don't get a concept when my professor or other youtube videos explain but Erik makes it very.....accessible, and relatable.
*caption errors*
0:52 injected it → inject it
2:39 polynomial time algorithm → polynomial-time algorithm (also at 2:44)
5:18 sneak peak → sneak peek
6:17 we’re talking → when we’re talking
6:46 whatever’s → whatever, is
6:53 dynamic programming → dynamic-programming
12:02 computer → compute
19:03 non-memoize → non-memoized
21:04 that same problem → that same subproblem
31:01 onto → on to
35:32 [INAUDIBLE] → And then: okay, what’s
40:00 stored it → store it
41:45 s comma v → s comma b
45:10 Handshaking → Handshaking lemma
45:18 it ran a → it ran in
45:28 depth first search → depth-first search
48:19 refers to ruclips.net/video/OQSNhk5ICTI/видео.html
50:52 negative weight cycles → negative-weight cycles
Thanks for your feedback! All the changes have been done to the captions. Also, thanks for the video reference... we didn't know that one! 👍
Best Algorithm lecture ever seen...Thank You MIT for this Lecture and Eric is one the best lecturer with great teaching skills.
at 47:06 Eric mentions, we need to make the graph acyclic,
we don't need to make the graph acyclic, we can mark the vertex which is being computed (which is in the call stack) as present in an infinite distance and use it's TAB[v]
I just want to thank you for this video and other related videos from this channel. While working fulltime and schooling at night it is hard sometimes to follow through my classes. However, I managed to earn a MS Computer Science concentration on Network and Security with a big thanks to these videos. Thank you!!
Don't know much about Dynamic Programming but do note the professor's unique and rather attractive chalkboard writing! And being a dapper hand myself at it, I salute you Prof!
Really a great video 🙌
Have fallen in love with recursion and DP with this video , Great work Erik Sir 👏
Amazing lecture from Erik Demaine. It's impressive how easy he explains a topic like dynamic programming and how he can have the attention of the students in the hall. Thank you very much to Erik for his lecture and to MIT for sharing this excellent course!!! I can't wait to see the next DP classes!!!
I really love how they teach, everything becomes interesting..., i wish i could study full time there :D
ha ha same here
Mahdi Zouch A large part of what makes them the best institution (in my opinion, at least one of the best though) is the quality of their instructors. And yes, I too would love to attend MIT if/when I make enough money, but at least until then they've got a lot of their courses available :)
yeah IIT bombay has great quality of students but quality of teaching method is very poor that's why they are so low in rankings
Deepak Meena yeah bro.
I don't get lectures like this post-Covid in my programming classes. My professors just point me to a video they have done 3 years ago and we just do problems in class. I learn better when the lecture is done in person because I remember it as an experience, rather than me watching a RUclips video and trying to memorize every single detail of the video. There's a difference between online and in-person and I can't prove it. I would have loved to sit in this lecture.
Dynamic programming the my favrourite thing in the world...
in algorithms.
Mannn, Sir Erik is so passionate professor I have ever seen. I just love the way he explains🙏🙏🙏
way better than my current algorithms professor...thanks!
Unsurprised
After following 2-3 lectures of him, He became my favorite prof
My favorite DP lecture yet!
I love how much passion and energy the Prof got
I wish my prof taught my algo class was this excited about any of the algos, instead of sitting there hating life
What a guy he is!!! Just to say been through a lot of mit stuff but he really is matching the skills of all other professors in that place
23:22, hey... even I like the recursion based top-down approach over bottom up.
Btw, very good teacher.
dynamic programming really does apply to life in a lot of ways. "you solve one problem, then you solve another problem. and if you solve enough problems, you get to come home" - mark watney (the martian). the tough part of life is finding out how solving one subproblem relates to another subproblem, and knowing which subproblem will actually get you to your goal of solving your main problem.
I wish I could have Professor like him in my bachelor's and master's .
That is the most computer-dude looking guy ive ever seen, very apt.
You kept on scrolling anyway, didn't you? ;)
Bruh moment
Bruh
yes :(
Duuude
rekt lmao
Algorithms Professor wearing a Bob Dylan T-shirt! Awesome!
@26:36: "Man, so many typos" - How I feel whenever I'm coding up on the board.
I am amazed there are actually ppl who understand and can make sense of this.
Dynamic Programming AKA "Careful Brute Force" XDD I lost it. Sooo accurate
at 28:47 for the dependency DAG the arrows should point the other way? or do the arrows go from solved subproblems to unsolved? Confused because according to Wikipedia a dependency graph, the arrow points from the dependent (the depend to the solved subproblems)... en.wikipedia.org/wiki/Dependency_graph
I love that he writes all of his code in python
Because Python Code is Closest to Pseudo Codes
Is it weird that I have absolutely no idea what this class teaches, nor can I understand what it is trying to teach, yet I can't stop watching the lectures?
@Aarni lol, you could be wasting time on worse things I suppose. Hit your teacher with the old "I wanted to write my essay last night, but I just got way too caught up learning advanced algorithms. Time just got away from me."
hahahah im doing the same thing. Started with a video where Jelani Nelson was teaching Linear Data Structures
I have no idea how it works and how it helps but it's oddly satisfying xD
@@anjanvyas5820 For me, it's Asmr
34:49 The moment you stumble upon life-advice in part 19 of the programming lecture you've been watching.
I used to know all this in my past life. This is way beyond my comprehension. But a great teacher.
Great teaching! I had an algorithmic challenge this year, the solution was dynamic programming.
Idk what my high ass just watched for an hour, he might as well have been speaking a foreign language, but I stayed for the chalk skills
Keep smoking until it makes sense.
This video makes me wanna apply for MIT
just collect enough millions..
and very exceptional grades.
Jack Le you can... But you will be kicked out
just write #blacklivesmatter on your application
I went there (Course 8, 2012). Trust me, getting in is the easy part. All the top students at their high schools become more or less average there. You learn a ton but it will wring the life out of you too if you aren't careful. You may spare yourself and just enjoy OCW!
Good job camera person. You're following the material and zooming in when relevant!
Very great lecture, super helpful. Thank you MIT.
Just leaving this here for someone to remind me in a couple of years, I regretted majoring in information systems instead of CS, and I cannot change my degree, but I will work hard and learn most of the needed stuff online in order to be able to learn more cs stuff on top of finishing my degree and getting a nice job that i enjoy in the future, through hard work and determination!
Love the giant eraser. Must be quite satisfiying using it.
Fibonacci is when you add the two previous numbers in the sequence to get the next number and so forth.
shortest paths 31:00
Eriks lectures are awesome... pretty decent walkthrough of dynamic programming.
This instructor ROCKS!
prof. Erik Demaine is my favourite
Two questions:
1) How does yellow chalk write in white?
2) What do all those squiggles he wrote mean?
***** 1)The chalk is only yellow on the outside.
2)Topological sorts. (We presume you don't mean the math.) This link on Wikipedia might help: en.wikipedia.org/wiki/Topological_sorting
Good God, MIT himself answered. Hi, MIT! And, yes, I meant the math. Don't presume or you'll make a pres out of you and me.
this is shortest path or bellman ford ... ?
Pro Dev ILL BELLMAN FORD YOUR NAN
???
I watch this as a layperson and realize that we are without a doubt in a simulation.
this guy is awesome . very clear explaination..
Best tutorial on Dynamic programming I have ever seen :)
This guy is a fantastic teacher with great humor.
Thanks channel for saving my engineering exams
I would dedicate my whole life to algorithms if he was my teacher.
The definition of teacher is who turn something boring in something funny. That guy is the human definition of it.
When I came to know about the name story of DP, I was also very excited.
If anyone has done the course algorithmic toolbox, you might also be knowing this story!
Algorithm toolbox ❤
I am amazed just at his writing on the board at the very beginning .
Extra credit for the Bob Dylan T-shirt! :D
Warmed my heart when I noticed it!
Guessing may sound silly [when solving a problem] but it’s a powerful tool! I simply loved it!
This dude got his PHD in 20.. How awesome is that.. O.O
And the way he presents everything is just amazing, there's many gaps in my knowledge on these topics but the way he explains helps me to either fill the gaps or at least know where to look for answers.
I'm 26 and didn't even finish my undergrad course yet. And I don't give a fuck. Not every universities and colleges are as awesome as the MIT or Caltech (etc). I'm from Hungary. I feel no drive to finish it. What you see here, this lecture, is quite the opposite of the way they teach us in Hungary. There are a very few good teachers here (but they, the good ones are really just great and I respect them), the majority just make us hate what we supposed to be enthusiastic about. Who cares, I just open my laptop and BOOM, I'm an MIT student, I can learn valuable stuff and I enjoy this difficult work with algorithms (or whatever) again. Maybe I'll finish my UG course, maybe I'll just quit and start making something amazing. Having a degree is good but if you can't do it, don't push it. There are many ways to be successful in what you like to do. If you can't finish, then college was just a bad guess and you should try another path to V (see what I did here?)
ranalynamic come on man, i understand the fact that some prof aren't the greatest ones(here in italy too,same faculty) but i think it's a student problem too, isn't it?!
ranalynamic I always thought Hungary was the land of geniuses. You've had John von Neumann, Eugene Wigner, Leo Szilard, Theodore von Karman, and on and on. These guys are my scientific heroes.
Keith Wald It used to be better, I guess... These days it's a shame. I feel embarrassed. Or maybe it wasn't that different at all. Today, a talented student who is actually lucky enough to get the hell out of here, probably will still do a great job pretty much anywhere where she/he is going. But not here.
Yes, many of them are of Hungarian origins (and by the way, Jewish also). On the other hand, if you read their whole story, almost none of them achieved anything here. This is what Hungary is really good at: putting talents in an impossible situation and make them go the fuck away :)
Anyway. I'm glad you know about these people. :)
I felt like this was a great way to explain dynamic programming. My course work on it in college was fine enough for me to understand it but this is a much easier better way to explain it to learn from.
It's weird to think that some of us can't have access to this type of education maybe because we were born somewhere else or we don't have the money, so we are stuck with teachers that don't care about teaching you and you basically graduate by yourself. I don't think people that actually study on these types of universities understand how much better some of the teachers are. It makes such a big difference to my understanding of the material when I can find videos like these.
I was thinking the same, i remember when i learned the algorithms for the fibonacci series back in 2008. But i don't think my teachers didn't care, it's just that they didn't know. I still use the fibonacci series each time i try a new programming language.
I love how when you google "Do you need to be good at math to code?", the universal answer is no. Sure doesn't seem like it.
The last remark that the algorithm can be modified to compute weights of shortest paths in graphs (possibly with cycles) was rushed a little bit. Can someone explain it in better terms? Thanks :)
I love how he much he could do with his mind. I'm a theoretical physics major and computer science
I'm looking at this now,same as I was looking at math class when I was a kid
The Chalk at MIT is just out of this world.
Thank you sooooo much! A lot easier than learning from the economic side.
The first part Fibonacci is easy to understand,
and the second part Shortest Paths is hard, because of the math formula there.
DP = Recursion + Memorization + Guessing
The instructor Eric Demaine was impressive to me,
who was get the scholar at 14, master at 16, professor at 20.
Just read about him. He is a child prodigy and has a set record of joining MIT as youngest professor at the age of 20!!!!!!!!! Like what!!!!!!!!!!!!!!
Wtf
At 20?? you sure?
Yes at 20! Just read my self.
@@Alonesmither was he born high school graduate already?
recursive functions alone is a concept which takes some adjusting too. In over 14 years of writing code in manufacturing i've yet to find a place for them. I get its for a situation where you'd want the end result without printing the path to the result on screen (ie a loop) but ive never really needed it in my line. I can imagine it with 3d graphics though
He had a bachelor’s degree at 14 and a phd at 20. He’s one of the smartest people on the planet
@38:33 This WILL give the right answer... Hopefully.
Good talk. My sharpest criticism: I’ll bet he goes though a lot of chalk pressing as hard as he does.
anyone know what "indegree" means? Got lost around 45:00 mark and the lecture did not make sense once he drew the diagram of cyclic graphs becoming acyclic over time (which is 47:35). any help would be appreciated!
please search "dag indegree"