DOC PREVIEW
Duke CPS 006 - Notes

This preview shows page 1-2 out of 6 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 6 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Compsci 06/101, Fall 2010 1.1 COMPSCI 06/101, Fall 2010 Owen Astrachan Robert Duvall http://www.cs.duke.edu/courses/cps006/fall10 http://www.cs.duke.edu/~ola http://www.cs.duke.edu/~rcd Compsci 06/101, Fall 2010 1.2 Data into Information and Knowledge Computer Science Compsci 06/101, Fall 2010 1.3 Is a picture worth a thousand words?  http://www.google.com/images?q=world%20wide%20web&biw=1238&bih=969  http://www.google.com/images?q=computer%20science&biw=1370&bih=1081  http://www.google.com/images?q=internet&biw=1370&bih=1081  http://www.google.com/images?q=programming&biw=1370&bih=1081 Compsci 06/101, Fall 2010 1.4 Questions about Computer Science What is it that distinguishes it from the separate subjects with which it is related? What is the linking thread which gathers these disparate branches into a single discipline? My answer to these questions is simple --- it is the art of programming a computer. It is the art of designing efficient and elegant methods of getting a computer to solve problems, theoretical or practical, small or large, simple or complex. C.A.R. (Tony)HoareCompsci 06/101, Fall 2010 1.5 Programming != Computer Science  What is the nature of intelligence? How can one predict the performance of a complex system? What is the nature of human cognition? Does the natural world 'compute'?  It is the interplay between such fundamental challenges and the human condition that makes computer science so interesting. The results from even the most esoteric computer science research programs often have widespread practical impact. Computer security depends upon the innovations in mathematics. Your Google search for a friend depends on state-of-the-art distributed computing systems, algorithms, and artificial intelligence. http://www.post-gazette.com/pg/pp/04186/341012.stm Compsci 06/101, Fall 2010 1.6 Understanding Information/Data  Does understanding computer science help you when you want a new smart phone?  Does knowledge of programming help you get your laptop connected to a wireless access point?  Does experience with algorithms and algorithmic approaches help physicians and attorneys?  Are these important to society, to you? Compsci 06/101, Fall 2010 1.7 Milking Stool v Neural Tendrals  Engineering, Mathematics, Science  Pillars of computer science?  Braid of computer science?  Other aspects of CS?  Technology and policy  Art and visualization  Communication  Information  … Compsci 06/101, Fall 2010 1.8 What will you experience?  movie clip, flyingCompsci 06/101, Fall 2010 1.9 How will you learn to 'speak'?  http://www.rosettastone.com/personal/demo Compsci 06/101, Fall 2010 1.10 What language will we learn?  http://www.python.org/  Python is a multi-paradigm language  Procedural  Functional  Object-Oriented  Simple, huge libraries, widely used  Guido is BDFL Compsci 06/101, Fall 2010 1.11 Why is it called Python?  http://www.youtube.com/watch?v=anwy2MPT5RE 9.8 m/sec2 + - A B C Compsci 06/101, Fall 2010 1.12 Course Overview: Is this the right one?  There are details, see the course web page  Midterms and final are open book, what does that mean?  APTs: Algorithmic Problem-solving and Testing • Weekly small programming assignments, tested online  Programming assignments: solo, group, …  Lab/recitation: group and individual work  Why should you come to class?  Meet people, learn things, participate in a community  Provide help, get help, wonder, dance, think  Why is this course so great?  Because you’re in itCompsci 06/101, Fall 2010 1.13 What's in Compsci 06/101?  Learning about computing, computer science, and programming  Vocabulary of Python and programming languages  Crafting programs from the vocabulary  Power of automation, repetition, scale  Understanding and changing the world  Programming using Python  Tools: Eclipse, EPD, Libraries, …  Engineering and analyzing designs and programs  Using mathematical and scientific techniques  Moving toward scaling solutions (continued later courses) Compsci 06/101, Fall 2010 1.14 Questions If you gotta ask, you’ll never know Louis Armstrong: “What’s Jazz?” If you gotta ask, you ain’t got it Fats Waller: “What’s rhythm?” What questions did you ask today? Arno Penzias Compsci 06/101, Fall 2010 1.15 From Blog to Scientific Visualization  Text Cloud aka Tag Cloud?  Number of occurrences/emphasis indicated by size of word  Great visual/statistic: http://chir.ag/phernalia/preztags/  http://www.nytimes.com/gst/mostsearched.html?period=30&format=tagcloud • What information is stored in the URL of the NYTimes site above? Compsci 06/101, Fall 2010 1.16 Problem Solving and Programming  How many words are in a file?  What’s a word?  What’s a file?  How do we solve this: simply, quickly, …? • What’s the best we can do? Constraints?  How many different/unique words are in a file?  How is this related to previous task?  How many words do two files have in common?  Spell-checking, Google did you mean ..?  How many codons does DNA have in common?Compsci 06/101, Fall 2010 1.17 Toward a Pythonic Tagcloud generator  This is valid and correct Python code, questions? def countWords(filename): file = open(filename) str = file.read() words = str.split() unique = set(words) print "filename: ", filename print "total # words = ",len(words) print "unique # words = ",len(unique) countWords('/data/kjv10.txt') filename: /data/kjv10.txt total # words = 823135 unique # words = 34027 Compsci 06/101, Fall 2010 1.18 Python vocabulary  Python has a large standard library  Organized in modules: sys, io, math, os, …  http://docs.python.org/library/index.html  API browseable online, but Eclipse IDE helps a lot  Python users often use third-party libraries too  Scientific, visual, plotting, …  We will use EPD: Enthought Python Distribution  Python is a multi-paradigm language, though this won't matter so much in the beginning  Very useful later! Compsci 06/101, Fall 2010 1.19 Python and Programming Concepts  Names are


View Full Document

Duke CPS 006 - Notes

Download Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?