Loading in 5 sec....

600.103 FUNDAMENTALS OF PRACTICAL COMPUTING Ken ChurchPowerPoint Presentation

600.103 FUNDAMENTALS OF PRACTICAL COMPUTING Ken Church

- By
**aysha** - Follow User

- 89 Views
- Uploaded on

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

- Intended audience:
- Students considering a major in
- science, engineering or medicine

- Students considering a major in
- 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)

- Please bring laptops to class if you can
- 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 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)
- Feel free to ask for more hints ([email protected])

- Example: Use Google to figure out how to install
- R (a stat package)
- LISP (http://www.newlisp.org/)
- cygwin (Unix for Windows)

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

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

- Practical: Familiarize students with stat package(s),
- 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)

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

Numerical Methods:Approximations such as Newton’s Method

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

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

Symbolic Methods Search

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

Syntaxhttp://www.allisons.org/ll/FP/Lambda/

Surprise: Church’s Thesis

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

- Three definitions later found to be equiv to one another
- Church's thesis:
- Effectively Procedure = Recursively Computable
- Not a mathematical statement No proof

Recursion & Factorial http://www.allisons.org/ll/FP/Lambda/Introduction/

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

- Practical: Familiarize students with stat package(s),
- 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 [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)

- 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

- 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 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?

Download Presentation

Connecting to Server..