37
CS 696 Functional Programming and Design Fall Semester, 2015 Doc 24 Debugging & Scientific Method Dec 1, 2015 Copyright ©, All rights reserved. 2015 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA. OpenContent (http:// www.opencontent.org/openpub/) license defines the copyright on this document. Tuesday, December 1, 15

CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

CS 696 Functional Programming and DesignFall Semester, 2015

Doc 24 Debugging & Scientific Method Dec 1, 2015

Copyright ©, All rights reserved. 2015 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA. OpenContent (http://www.opencontent.org/openpub/) license defines the copyright on this document.

Tuesday, December 1, 15

Page 2: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

2

Tuesday, December 1, 15

Page 3: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

3

Tuesday, December 1, 15

Page 4: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

Talk At:

4

https://www.youtube.com/watch?v=FihU5JxmnBg

Tuesday, December 1, 15

Page 5: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

5

Tuesday, December 1, 15

Page 6: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

6

Tuesday, December 1, 15

Page 7: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

7

Tuesday, December 1, 15

Page 8: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

8

Tuesday, December 1, 15

Page 9: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

9

Tuesday, December 1, 15

Page 10: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

10

Tuesday, December 1, 15

Page 11: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

11

Tuesday, December 1, 15

Page 12: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

12

Tuesday, December 1, 15

Page 13: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

13

Tuesday, December 1, 15

Page 14: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

14

Tuesday, December 1, 15

Page 15: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

15

Tuesday, December 1, 15

Page 16: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

16

Tuesday, December 1, 15

Page 17: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

17

Tuesday, December 1, 15

Page 18: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

18

Tuesday, December 1, 15

Page 19: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

19

Tuesday, December 1, 15

Page 20: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

20

Tuesday, December 1, 15

Page 21: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

21

Scientific Method is more general and powerful than all the others

Tuesday, December 1, 15

Page 22: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

22

Tuesday, December 1, 15

Page 23: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

Bottom Up REPL Check

23

For small problems

Take inner most form and evaluate it in the REPL

Replace the result in the next most inner form and evaluate that in REPL

Repeat

Tuesday, December 1, 15

Page 24: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

Bottom Up REPL Check

24

(def partial-join (partial (clojure.string/join “,” )))

(clojure.string/join “,” ) => “,”

(def partial-join “,”)

(partial ",") => “,”

Tuesday, December 1, 15

Page 25: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

25

Tuesday, December 1, 15

Page 26: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

26

Tuesday, December 1, 15

Page 27: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

27

The $100 slide

Tuesday, December 1, 15

Page 28: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

28

Tuesday, December 1, 15

Page 29: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

29

Tuesday, December 1, 15

Page 30: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

Bisect the Problem

30

Divide & Conquer

Tuesday, December 1, 15

Page 31: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

31

Trying random stuff is not being driven by hypothesis

Tuesday, December 1, 15

Page 32: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

32

Tuesday, December 1, 15

Page 33: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

33

Tuesday, December 1, 15

Page 34: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

34

Tuesday, December 1, 15

Page 35: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

35

Tuesday, December 1, 15

Page 36: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

36

(Exception)

Tuesday, December 1, 15

Page 37: CS 696 Functional Programming and Design Fall Semester ...€¦ · 21 Scientific Method is more general and powerful than all the others Tuesday, December 1, 15

37

Tuesday, December 1, 15