600 103 fundamentals of practical computing ken church
Download
Skip this Video
Download Presentation
600.103 FUNDAMENTALS OF PRACTICAL COMPUTING Ken Church

Loading in 2 Seconds...

play fullscreen
1 / 32

600.103 FUNDAMENTALS OF PRACTICAL COMPUTING Ken Church - PowerPoint PPT Presentation


  • 91 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
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)))))

slide20
Symbolic DifferentiationLecture1/deriv.lsphttp://mitpress.mit.edu/sicp/full-text/sicp/book/node39.html
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
    • 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