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
32
Embed
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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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)
• 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 Sequenc
• 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
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