270 likes | 380 Views
Symbolic Processing. How to Teach “Programming” Kenneth.Church@jhu.edu. Lecture 1: Education for kids Lego Mindstorms ( NQC : Not Quite C) Scratch Lecture 2: Unix for Poets Request: bring a laptop if possible Windows Users: please install http://www.cygwin.com/
E N D
How to Teach “Programming”Kenneth.Church@jhu.edu • Lecture 1: Education for kids • Lego Mindstorms (NQC: Not Quite C) • Scratch • Lecture 2: Unix for Poets • Request: bring a laptop if possible • Windows Users: please install http://www.cygwin.com/ • Target audience: Grad Students in Linguistics • Unix shell scripts (almost not programming) • Small is Beautiful • Lecture 3: Symbolic Processing • Target audience: • MIT Computer Science Majors (circa 1974) • LISP: Recursion, Eval, Symbolic Differentiation • Lambda Calculus (“Small is Beautiful” beyond reason)
Agenda • Old Business • Homework from last week • Nothing to Hand-In but Discussion… • New Business • No Requests for Next Week • Today’s Lecture • Symbolic Processing
Symbolic Features(Bet you can’t do this with your favorite statistics package) • Complex Numbers: Sqrt(-1) • Roots (without approximations) • Differentiation (without approximations) • Integration (without approximations) • The On-Line Encyclopedia of Integer Sequences • Eval
Newton’s Methodhttp://archives.math.utk.edu/visual.calculus/3/newton.5/
More RecursionLecture3/recursive_examples.lsp (define (fact x) (if (<= x 1) 1 (* x (fact (- x 1))))) (define (fib x) (if (<= x 2) 1 (+ (fib (- x 1)) (fib (- x 2))))) (define (len x) (if (empty? x) 0 (+ 1 (len (rest x))))) (define (rev x) (if (empty? x) x (append (rev (rest x)) (list (first x)))))
Symbolic DifferentiationLecture3/deriv.lsphttp://mitpress.mit.edu/sicp/full-text/sicp/book/node39.html
Church’s Thesishttp://en.wikipedia.org/wiki/Effectively_calculable • Effective Procedure • always give some answer • always give the right answer • always be completed in a finite number of steps • work for all instances of problems of the class • Recursively Computable • Three definitions later found to be equiv to one another • general recursion • Turing machines • λ-calculus • Church's thesis: • Effectively Procedure = Recursively Computable • Not a mathematical statement No proof
Summary: Symbolic Features(Bet you can’t do this with your favorite statistics package) • Complex Numbers: Sqrt(-1) • Roots (without approximations) • Differentiation (without approximations) • Integration (without approximations) • The On-Line Encyclopedia of Integer Sequences • Eval
How to Teach “Programming”Kenneth.Church@jhu.edu • Lecture 1: Education for kids • Lego Mindstorms (NQC: Not Quite C) • Scratch • Lecture 2: Unix for Poets • Request: bring a laptop if possible • Windows Users: please install http://www.cygwin.com/ • Target audience: Grad Students in Linguistics • Unix shell scripts (almost not programming) • Small is Beautiful • Lecture 3: Symbolic Processing • Target audience: • MIT Computer Science Majors (circa 1974) • LISP: Recursion, Eval, Symbolic Differentiation • Lambda Calculus (“Small is Beautiful” beyond reason)
Optional Homework • Please watch: http://video.google.com/videoplay?docid=-8860158196198824415# • Google: growing a language • Send feedback to Kenneth.Church@jhu.edu • Do you agree? Disagree? • No opinion? Completely lost?