600.103 FUNDAMENTALS of PRACTICAL COMPUTING Ken Church

600.103 FUNDAMENTALS of PRACTICAL COMPUTING Ken Church

600.103 FUNDAMENTALS OF PRACTICAL COMPUTING Ken Church • Intended audience: – Students considering a major in • science, engineering or medicine • Small Class • Diversity: Geeks Mainstream – like Calculus &“typing” – College High School Elementary School – Fun (not too much work) Sell the field • Praccal: – Please bring laptops to class if you can • Familiarize students with lots of stuff (breadth) • Not just a single programming language (not depth) • Fundamentals: – Lots more to Computer Science than hacking Teamwork, Web‐work, etc. • Encourage teamwork, Google, Wikipedia, etc. • Homework: – Submit by email to [email protected] – Due Tuesday morning at sunrise • So I have me to adjust my Tuesday lectures (if necessary) – Target: 2 hours per hour of class • 1 hour installing soware, plus • 1 hour of exercises (as opposed to problem sets) – Homework comes with hints (as opposed to recipes) • Feel free to ask for more hints ([email protected]) – Example: Use Google to figure out how to install • R (a stat package) • LISP (hp://www.newlisp.org/) • cygwin (Unix for Windows) Cheang • Please don’t, but if you do, you are only cheang yourself • I want to encourage teamwork & web‐work – Because they are great ways to learn – “Although you may work in small groups, each student must submit his/her own program and the code may not be a copy of others’ code. You may share ideas and help – but you must write your own code and your assignment MUST be SUBSTANTIALLY different from all others.” – Ok to submit a team effort (especially if you tell me who you are working with) • If you can’t do the homework, explain why – My bad – Soware package doesn’t work for your machine – I asked for more than 2 hours (feel free to stop aer 2 hours) • Homework is for your benefit (and mine) • Homework will be graded: sasfactory (or not) • Exams (mid‐term & final) Grades – Goal: Learn from the homework You’ll do fine on the exams First Four Weeks • Symbolic Programming (how CS was taught in 1970s) – Praccal: Familiarize students with stat package(s), • As well as symbolic alternaves: LISP & Wolfram Alpha – Fundamental: • Stuff you can’t do with your favorite stat package • LISP: Recursion, Eval, Symbolic Differenaon • Lambda Calculus (“Small is Beauful” beyond reason; Church’s Thesis & Computability) • Unix for Poets (“Small is Beauful”) – How to program (without realizing that it is programming) – How to use tr, awk & those other crazy Unix ulies (pipes) – Examples: count words (and ngrams); find interesng word associaons. • More Unix for Poets • Python & NLTK (Natural Language Toolkit): – Unix for Poets (without Unix) – Formal Language Theory & Chomsky Hierarchy Symbolic Features (Bet you can’t do this with your favorite stascs package) • Complex Numbers: Sqrt(‐1) • Roots (without approximaons) • Differenaon (without approximaons) • Integraon (without approximaons) • The On‐Line Encyclopedia of Integer Sequences • Eval Sqrt(‐1) Error (for many tools) Roots (without approximaons) Numerical Methods: Approximaons such as Newton’s Method Complex Roots Newton’s Method hp://archives.math.utk.edu/visual.calculus/3/newton.5/ sqrt(5) 3 2.9 2.8 2.7 2.6 2.5 Esmate of sqrt(5) 2.4 2.3 2.2 1 3 5 7 9 11 13 15 Iteraon (n) Newton’s Method hp://archives.math.utk.edu/visual.calculus/3/newton.5/ 3 16 14 2.9 12 2.8 10 2.7 8 6 2.6 4 2.5 2 Esmate of sqrt(5) 2.4 0 Esmate of sqrt(‐5) ‐2 2.3 ‐4 2.2 ‐6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Iteraon (n) sqrt(5) sqrt(‐5) 3 20 2.8 15 Symbolic 10 2.6 5 Alternave 2.4 0 Esmate of sqrt(5) 2.2 ‐5 Esmate of sqrt(‐5) 1 3 5 7 9 11 13 15 Iteraon (n) sqrt(5) sqrt(‐5) Symbolic Methods Search Recursion (define (fact x) (if (<= x 1) 1 (* x (fact (- x 1))))) More Recursion Lecture3/recursive_examples.lsp (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))))) The Roots of LISP Eval Symbolic Differenaon Symbolic Differenaon Lecture1/deriv.lsp hp://mitpress.mit.edu/sicp/full‐text/sicp/book/node39.html Syntax hp://www.allisons.org/ll/FP/Lambda/ Semancs Surprise: Church’s Thesis • Effecve Procedure Church’s Thesis – always give some answer hp://en.wikipedia.org/wiki/Effecvely_calculable – 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 definions later found to be equiv to one another • general recursion • Turing machines • λ‐calculus • Church's thesis: – Effecvely Procedure = Recursively Computable – Not a mathemacal statement No proof Recursion & Factorial hp://www.allisons.org/ll/FP/Lambda/Introducon/ Summary: Symbolic Features (Bet you can’t do this with your favorite stascs package) • Complex Numbers: Sqrt(‐1) • Roots (without approximaons) • Differenaon (without approximaons) • Integraon (without approximaons) • The On‐Line Encyclopedia of Integer Sequences • Eval First Four Weeks • Symbolic Programming (how CS was taught in 1970s) – Praccal: Familiarize students with stat package(s), • As well as symbolic alternaves: LISP & Wolfram Alpha – Fundamental: • Stuff you can’t do with your favorite stat package • LISP: Recursion, Eval, Symbolic Differenaon • Lambda Calculus (“Small is Beauful” beyond reason; Church’s Thesis & Computability) • Unix for Poets (“Small is Beauful”) – How to program (without realizing that it is programming) – How to use tr, awk & those other crazy Unix ulies (pipes) – Examples: count words (and ngrams); find interesng word associaons. • More Unix for Poets • Python & NLTK (Natural Language Toolkit): – Unix for Poets (without Unix) – Formal Language Theory & Chomsky Hierarchy Homework: Quesons [email protected] • Install (hint: Google) – R (a stat package) – LISP (hp://www.newlisp.org/) – cygwin (Unix for Windows); skip if you have Unix • Send me an email with: – Subject: 600.103 Homework #1 from <name> – Body: screen shots (see next couple of slides) – Due Tuesday morning (at sunrise) Homework: sqrt(4) • Screenshots of sqrt(4) and sqrt(‐4) from – R – Wolfram Alpha – Newton’s Method hp://archives.math.utk.edu/visual.calculus/3/newton.5 – LISP • For Newton’s Method, what sengs generate – sqrt(4) 2 v. sqrt(4) ‐2 – Are there any sengs so that sqrt(4) NaN? • In R, show me the following plot – x = seq(‐4,4,1/10) – plot(x, x^2 ‐ 4) – abline(h=0) – abline(v=c(‐2,2), col="red") Fibonacci • Use NewLisp & Encyclopedia of Integer Sequences to compute Fibonacci – F(n) = F(n‐1) + F(n‐2), F(0)=F(1)=1 – What is F(15)? Readings • The Roots of LISP – Use Google to find the arcle – “The unusual thing about Lisp‐‐ in fact, the defining quality of Lisp‐‐ is that it can be wrien in itself.” • The Halng Problem (Wikipedia) – What does this have to do with Computability? .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    32 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us