Notes on Resources for Student Teaching Plan for Units 3.17-3.18
(My main focus will be on unit 3.18)
College Board Notes Undecidable Problems
- Decidable problems: Yes/no answer for any given input. Output is always correct.
- Undecidable problem: No algorithm can be made which is always able to have a correct output of yes/no
- Halting problem: Given an arbitrary computer program with given inputs, will the program stop of will it run forever?
- No way to solve with yes/no answer all the time
- Ex of Halting Problem: Website take too logn to load. Computer stops programs after certain amount of time
Youtube Video Notes(Link)
- Machine to diagnose whether a code runs forever or not is logically impossible
- If combined into one huge machine, a negator can reverse the output of machine which diagnoses a halt
- Since negator contradicts that machine, it shows that the entire computer is not correct, so it’s not always accurate. This is an undecidable problem shown by the Halting Problem.
Khan Academy Notes(Link)
- Khan Academy explains the same thing as the Youtube Video. The flow chart is very good, could possibly be used for teaching.
- Computers cannot tell if a program runs forever, if loop takes too long, the code terminates
Lesson Plan for Unit 3.18(My part)
- Use Khan Academy flow chart or make one similar to it.
- Expect people to get very confused at first. Try your best to explaining things better and teach it one step at a time
- To teach it one step at a time, first demonstrate a forever running code. You can do this through an integer test but you add 1 everytime, so computer runs forever
- For decidable problem, just do a simple math program. Almost anything works for undecidable problem
- For hacks, try doing something related to undecidable problems that doesn’t involve any code, since it’s too complex to use much code.