Unfortunately, I have an illness that makes it hard to leave my house at times. These types of videos ensure I learn the material no less. I thank you very sincerely for providing me supplemental material to learn at my own pace. It is pure gold
I took the course from Shai some 20+ years ago, and taught it a few times myself, and still enjoy watching him explaining the concepts. He is the best teacher I have seen in my career!
I have been looking for a good course in Compiler Theory for years. This takes me back to learning compiler in college. The professor is very easy to understand and interacts with his class (even the virtual ones). I will be recommending this course!
Thanks for the upload(s)! I'm taking this course now at my university and listening to this before the lectures makes the information more interesting and clear
He says 'serendipitous' which actually means lucky or fortunate. So what he says is lots of good, powerful things come out of this theory of Finite State Machines.
@jingoria Never say that your Prof. is worst , its a strong term . You might have at least learnt little bit from him/her . No doubts this Prof. is awesome .
@NoHemlockForMe I have seen proofs done that explicitly show that it is IMPOSSIBLE to determine whether a program will result in an infinite loop. It can be found in the MIT lectures SICP. The problem with detecting conditions that result in exiting each branch is that the number of possible inputs into a program can be virtually infinite. Each sub-branch condition needs to be tested for each potential super-branch condition. Even with minor nesting, the size grows exponentially.
@NoHemlockForMe Your dependency constraint graph be building forever, you know. It's the kind of computation that will finish if there are no infinite loops, but would never finish if there were. He covers this stuff in more detail later in the course. Just think for a while what "evaluate all possible execution paths" really means.
I am currently taking Compilers course, and this is the first thing we are learning, unfortunately my professor is completely shit at explaining this concept
13 years later and now Chat GPT managed to tell me that there is an infinite loop in my code. it wasn't straight forward either. in a Laravel model I had called two method in the booted method : created() and updated() and inside the updated I am updating the model again so it also calls the updated again an again. I didn't know what was wrong till four hours later when I decided to ask chat gpt and feed it the code bit by bit and then it pointed it out when I reached the booted method
I thought you could have a program that determined if a Java program resulted in an infinite loop provided that program wasn't written in Java. I understand that you would run into an irresolvable paradox if you fed that programs source code into itself, but is it true that for any program, there is no other program capable of determining if it "halts"?
No, it is not true for all programs. For some programs it is trivial to prove that they will halt. It is true that the halting problem cannot be solved for an arbitrary program, cf en.wikipedia.org/wiki/Halting_problem
He's a good speaker, but his comment about developing a program that can evaluate executable code for detecting infinite loops being impossible is entirely inaccurate. By producing a dependency constraint graph, it would be entirely possible to evaluate all execution paths of the program and identify a set of conditions which would enter or exit each branch. Similar to making an automatic flow charing program. Easy algorithm actually.
a power n b power n = {e, ab, aabb,aaabbb,........} Consider the language i.e., a bunch of a’s followed by an equal number of b’s No please make this machines
Unfortunately, I have an illness that makes it hard to leave my house at times. These types of videos ensure I learn the material no less. I thank you very sincerely for providing me supplemental material to learn at my own pace. It is pure gold
7 years later, we all have the same problem. Same!
@@dayanrodriguez1392 exactly hhh
I took the course from Shai some 20+ years ago, and taught it a few times myself, and still enjoy watching him explaining the concepts. He is the best teacher I have seen in my career!
Great Professor. I am currently doing two courses taught by this professor.
ua-cam.com/video/7ERWKFlVVjA/v-deo.html
Just finished the whole series, here to recommend it to others early on in the comment section
Is this the total Topic Explanation or its something like "for further knowledge come visit us"
I have been looking for a good course in Compiler Theory for years. This takes me back to learning compiler in college. The professor is very easy to understand and interacts with his class (even the virtual ones). I will be recommending this course!
He is a knowledgeable professor. His lectutes are tremendously useful. THANK YOU Professor Shai.
the text book used for this course is " Introduction to the Theory of Computation by Michael Sipser "
ua-cam.com/video/7ERWKFlVVjA/v-deo.html
Thanks for the upload(s)!
I'm taking this course now at my university and listening to this before the lectures makes the information more interesting and clear
Your lectures are amazing! I watch these videos for FUN! Thank you so much for uploading these!
Bundle of thanks , because of you i pass this course
This is pure gold teaching!
This Prof. is awesome and serendipitous too haha. Check out his discrete mathematics lectures too. Simply marvelous!
Thank you Coderisland... You saved me from the RM files... I love these lectures..
Looking for help with english: I can't understand what he says at 1:03. "...things that are pretty much ???". Thanks for any advice!
He says 'serendipitous' which actually means lucky or fortunate. So what he says is lots of good, powerful things come out of this theory of Finite State Machines.
Samir Damle Thanks again!
@jingoria Never say that your Prof. is worst , its a strong term . You might have at least learnt little bit from him/her . No doubts this Prof. is awesome .
I wish my lecturer had taught us this way..
Thanks for uploading..
Lohitha Devireddy I don't know you but just felt like asking how you doing? :))
Excellent, a very crisp & clear lecture. I wish we had such professors in our college but unfortunately we have some of the worst professors.
Well 7 years later me and the worst professors ever by the way what are you doing now :D
AMIRHOSSEIN KAMALIAN I wanna ask him the same :D
good start! Never heard of stonehill before but this is good stuff
@NoHemlockForMe I have seen proofs done that explicitly show that it is IMPOSSIBLE to determine whether a program will result in an infinite loop. It can be found in the MIT lectures SICP. The problem with detecting conditions that result in exiting each branch is that the number of possible inputs into a program can be virtually infinite. Each sub-branch condition needs to be tested for each potential super-branch condition. Even with minor nesting, the size grows exponentially.
I'm glad he wore his yarmulke to the lecture. I'm interested in the YHVH-ness of finite state machines.
@NoHemlockForMe Your dependency constraint graph be building forever, you know. It's the kind of computation that will finish if there are no infinite loops, but would never finish if there were. He covers this stuff in more detail later in the course.
Just think for a while what "evaluate all possible execution paths" really means.
best tutorials on computer theory....
The course material is 404 now. Could someone share them if you have copies of them
Where can I find this course in higher resolution?
These videos are too good. Unlike OCW the lecture video here is of high quality.
I am currently taking Compilers course, and this is the first thing we are learning, unfortunately my professor is completely shit at explaining this concept
marvelous..jus go through all the lectures..as interesting as gta
13 years later and now Chat GPT managed to tell me that there is an infinite loop in my code. it wasn't straight forward either. in a Laravel model I had called two method in the booted method : created() and updated() and inside the updated I am updating the model again so it also calls the updated again an again.
I didn't know what was wrong till four hours later when I decided to ask chat gpt and feed it the code bit by bit and then it pointed it out when I reached the booted method
Holy shit this guy is good... what university is this guy at? He's so passionate!
idk man did u find out?
Are here all the videos available?
I thought you could have a program that determined if a Java program resulted in an infinite loop provided that program wasn't written in Java. I understand that you would run into an irresolvable paradox if you fed that programs source code into itself, but is it true that for any program, there is no other program capable of determining if it "halts"?
No, it is not true for all programs. For some programs it is trivial to prove that they will halt. It is true that the halting problem cannot be solved for an arbitrary program, cf en.wikipedia.org/wiki/Halting_problem
Sooooo much better than how my professor is teaching this.
ikr
What textbook do you use?
There's a mistake in the playlist title. Theory of computation is different from Computability theory.
No it's not a wrong title
which book is he talking about
Nice lectures
What's that thing on the back of his head?
Thank you . i have a question ??
ua-cam.com/video/7ERWKFlVVjA/v-deo.html
This is awesome!!!
ua-cam.com/video/7ERWKFlVVjA/v-deo.html
I wish he was my teacher. My prof is a man from India and I cannot understand a goddamn word.
hahahahaha...
haha xD...i'm sorry you've to bear with that accent
Which college?
why the heck do you identify with indian professor and say sorry ?
I have the same problem 😭
He's a good speaker, but his comment about developing a program that can evaluate executable code for detecting infinite loops being impossible is entirely inaccurate. By producing a dependency constraint graph, it would be entirely possible to evaluate all execution paths of the program and identify a set of conditions which would enter or exit each branch. Similar to making an automatic flow charing program. Easy algorithm actually.
Thanks very much.
welcome
do you recognized that this lecture is most popular in india :) I LIKE!
@jingoria Email them the link ;)
a power n b power n = {e, ab, aabb,aaabbb,........}
Consider the language
i.e., a bunch of a’s
followed by an equal
number of b’s
No please make this machines
danm my lecturer is shit. Going through the comments I'm not alone learning FSM's xD
no
it's nice videeo
What university was this at? Is the professor Jewish?
thank you
LMFAO. to show you how old this lecture is there are now linters that will warn you when you have an infinite loop. LOL
Is this the total Topic Explanation or its something like "for further knowledge come visit us"
I have shit professors here at A&M damn
a&m is where i wish to be m8. you are lucky
Yeuteamo
Another teacher who thinks their subject is the most important to know for the students? Wow.
Furqannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
This lecture is quality !.