600 103 fundamentals of practical computing ken church
Download
1 / 32

600.103 FUNDAMENTALS OF PRACTICAL COMPUTING Ken Church - PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' 600.103 FUNDAMENTALS OF PRACTICAL COMPUTING Ken Church' - aysha


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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

  • Practical:

    • 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
Teamwork, Web-work, etc.

  • Encourage teamwork, Google, Wikipedia, etc.

  • Homework:

    • Submit by email to [email protected]

    • Due Tuesday morning at sunrise

      • So I have time to adjust my Tuesday lectures (if necessary)

    • Target: 2 hours per hour of class

      • 1 hour installing software, plus

      • 1 hour of exercises (as opposed to problem sets)

    • Homework comes with hints (as opposed to recipes)

    • Example: Use Google to figure out how to install

      • R (a stat package)

      • LISP (http://www.newlisp.org/)

      • cygwin (Unix for Windows)


Cheating
Cheating

  • Please don’t, but if you do, you are only cheating 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

    • Software package doesn’t work for your machine

    • I asked for more than 2 hours (feel free to stop after 2 hours)

  • Homework is for your benefit (and mine)

  • Homework will be graded: satisfactory (or not)

  • Exams (mid-term & final)  Grades

    • Goal: Learn from the homework  You’ll do fine on the exams


First four weeks
First Four Weeks

  • Symbolic Programming (how CS was taught in 1970s)

    • Practical: Familiarize students with stat package(s),

      • As well as symbolic alternatives: LISP & Wolfram Alpha

    • Fundamental:

      • Stuff you can’t do with your favorite stat package

      • LISP: Recursion, Eval, Symbolic Differentiation

      • Lambda Calculus (“Small is Beautiful” beyond reason; Church’s Thesis & Computability)

  • Unix for Poets (“Small is Beautiful”)

    • How to program (without realizing that it is programming)

    • How to use tr, awk & those other crazy Unix utilities (pipes)

    • Examples: count words (and ngrams); find interesting word associations.

  • 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 statistics package
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


Sqrt 1 error for many tools
Sqrt(-1)  Error (for many tools)



Numerical methods approximations such as newton s method
Numerical Methods:Approximations such as Newton’s Method



Newton s method http archives math utk edu visual calculus 3 newton 5
Newton’s Methodhttp://archives.math.utk.edu/visual.calculus/3/newton.5/


Newton s method http archives math utk edu visual calculus 3 newton 51
Newton’s Methodhttp://archives.math.utk.edu/visual.calculus/3/newton.5/





More recursion lecture3 recursive examples lsp
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 DifferentiationLecture1/deriv.lsphttp://mitpress.mit.edu/sicp/full-text/sicp/book/node39.html


Syntax http www allisons org ll fp lambda
Syntaxhttp://www.allisons.org/ll/FP/Lambda/



Surprise church s thesis
Surprise: Church’s Thesis


Church s thesis http en wikipedia org wiki effectively calculable
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


Recursion factorial http www allisons org ll fp lambda introduction
Recursion & Factorial http://www.allisons.org/ll/FP/Lambda/Introduction/


Summary symbolic features bet you can t do this with your favorite statistics package
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


First four weeks1
First Four Weeks

  • Symbolic Programming (how CS was taught in 1970s)

    • Practical: Familiarize students with stat package(s),

      • As well as symbolic alternatives: LISP & Wolfram Alpha

    • Fundamental:

      • Stuff you can’t do with your favorite stat package

      • LISP: Recursion, Eval, Symbolic Differentiation

      • Lambda Calculus (“Small is Beautiful” beyond reason; Church’s Thesis & Computability)

  • Unix for Poets (“Small is Beautiful”)

    • How to program (without realizing that it is programming)

    • How to use tr, awk & those other crazy Unix utilities (pipes)

    • Examples: count words (and ngrams); find interesting word associations.

  • More Unix for Poets

  • Python & NLTK (Natural Language Toolkit):

    • Unix for Poets (without Unix)

    • Formal Language Theory & Chomsky Hierarchy


Homework questions kenneth church@jhu edu
Homework: Questions [email protected]

  • Install (hint: Google)

    • R (a stat package)

    • LISP (http://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
Homework: sqrt(4)

  • Screenshots of sqrt(4) and sqrt(-4) from

    • R

    • Wolfram Alpha

    • Newton’s Method http://archives.math.utk.edu/visual.calculus/3/newton.5

    • LISP

  • For Newton’s Method, what settings generate

    • sqrt(4)  2 v. sqrt(4)  -2

    • Are there any settings 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
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
Readings

  • The Roots of LISP

    • Use Google to find the article

    • “The unusual thing about Lisp-- in fact, the defining quality of Lisp-- is that it can be written in itself.”

  • The Halting Problem (Wikipedia)

    • What does this have to do with Computability?


ad