Unformatted text preview:

Lecture 1:IntroductionCS105: Great Insights in Computer ScienceMichael L. Littman, Fall 2006Welcome!• CS105, taught last semester as “Topics in Computer Science”, but is now officially “Great Insights in Computer Science”.• Several innovations this semester:- Using Rutgers’ online course support- iClickers for in-class interaction- Programs for out-of-class interactionSurvey• Do you have a clicker?A. noB. yes02550751002004 2005 2006 2007Region 1 Region 2About Me• 1996: PhD, “Algorithms for Sequential Decision Making” (AI).• 1996-1999: Professor at Duke.• 2000-2002: (Back) to NJ, AT&T Labs Research.• 2002–: Rutgers: heading “Rutgers Laboratory for Real-Life Reinforcement Learning” (RL3).My Course Goals• Cool facts, cool ideas. Ideas are “how to” facts. Shoot for one or two per lecture.• People (my parents, say), don’t understand how I have a PhD in CS and can’t help them when their Windows box crashes.• If it’s not about XP, what else is there?- That’s what I want to tell you...Introduction to CS101s• Target audience: Undergrads, as a first (possibly only) computer-science course.• Seminar in Computers and Society: What impact have computers had on the world?• Introduction to Computer Science: How do I learn to create my own software?• Introduction to Computers and Their Application: What do I need to know about computing technology?Course Goals: Questions• What is Computer Science?• Why is it fun/interesting?• How is it different from software engineering?• What are the insights that make computer science its own academic discipline?Textbook• Not too daunting or detailed.• Inspiring and informative.• Pattern on the Stone, the simple ideas that make computers work, Danny Hillis, Basic Books, 1998.• Enjoyable to read; not really a textbook at all.• I will add meat to the wonderful skeleton he creates.Clickers• Available at several bookstores.• Can keep them (most popular clicker at Rutgers) or sell them back.• We’ll use them for attendence, reading comprehension quizzes, straw polls.• Hope to eventually add interactive demos, but software not yet ready.http://www.iclicker.com/Syllabus: Top-level ViewOrganizing the material into three major sections:I. How does a computer work?II. What do we know about computation?III. What cool things are computers doing?I. How Computers Work•Sequence of easy-to-understand layers.•Top: high-level programming languages express ideas in a computer-friendly form.•Bottom: bits and logic gates, computer's work done by physical components.•We'll go bottom up, conceptually creating a working computer in the process.II. Computation• Computers compute. But, what is computation, and how powerful is it?• How do computer scientists see the world in terms of computational problems?• What’s an algorithm, why might one be preferred to another if they solve the same problem?• What problems can be solved and how fast?III. Useful ApplicationsWe’ll survey how computing power is being harnessed.•machine learning, pattern recognition•computer graphics•AI search•language games•robotics•genetic algorithms•data compressionThey Are Everywhere!• 1977: “There is no reason for any individual to have a computer in his home.”• Today: Cell phone? PDA? Computers at home? Laptop? Video games? Digital camera?Survey• How many computers are with you right now? Laptop, handheld game, cell phone, GPS device, PDA, mp3 player, ...A. 0B. 1C. 2D. 3E. 4 or morePreviously UnthinkableLife After Death?One-Word Summary• If I had to summarize the intellectual contribution of computer science in one word, it would be “reduction”.• Computer scientists solve problems by reducing them to simpler problems.• We’ll see this same idea played out over and over again in different settings...Levels of Complexity• Networking (OSI Layers): application, presentation, session, transport, network, data link, physical.• Vision (Marr): computational, algorithmic, implementation.• Computing: application, high-level language, machine language, logic blocks, logic gates, physical.• Storage hierarchy: offline-storage, hard disk, RAM, cache, registers.Today’s Idea• I will start with the textbook next time, introducing bits and some simple gates.• Please read the Preface and Chapter 1, Section 1.• But, I want to give you something to chew on to get those gears turning...Your Choice• Babbage’s Difference Engine- Simple computation for sequences• How do UPC barcodes work?- Hierarchy of codesA. Difference EngineB. UPC barcodesCharles Babbage: Facts• Charles Babbage lived in England in the 1800s. A polymath, he solved problems from Astronomy to Zoology.• Invented: cowcatcher, flat-rate postage, Operations Research, standard RR gauge.• Held Newton’s chair at Cambridge, but spent his last years railing against organ grinders.• His design for the analytical engine presaged much of the design of modern digital computers.The Difference Engine• Originally a “computer” was a job description of a person who created numerical tables. Useful, if tedious.• Babbage had a scheme to automate table creation using “finite differences”.• 25,000 parts, 15 tons, 8 feet high, never built!• His redesigned Difference Engine No. 2 was built in 1990 and actually worked!Difference Engine: IdeasLet’s play a game:• 0,1,2,3,4,__?• 3,5,7,9,11,__?• 1,4,9,16,25,__?• 1,3,6,10,15,__?Generating the Evens2 4 6 8 10 122 22 2 2Instructions:1. Start with 2.2. To get the next one, add 2 to the previous one.Generating Squares1 4 9 16 25 363 5 7 9 11Instructions:1. Start with 1.2. Start the increment with 3.3. To get the next one, add the increment.4. To get the next increment, add 2 to the previous one.2 2 2 24 6 8 10 124 9 16 25 361Naming The Sequences325 7 9 112 2 2The Squares2222 2 2The EvensSequence: 1,4, 9, 16, 25, 36, ...Program:1,3,2Programming the “DE”• So, to produce the Evens, we enter “2 2” into the Difference Engine and turn the crank.• The Squares are “1 3 2”.• The Triangle numbers are “1 2 1”.• Try:- Odds?- Count by 5s?- Cubes?• What do these do:- “4”?- “10 -1”?- “100 -19 2”?- “0 1 2 1”?CS in a Microcosm?• Get a feel for programming: need to figure out how to say what you want to say in a way the machine understands.• Simple operation (repeated addition) used to build up more complex


View Full Document

Rutgers University CS 105 - Lecture 1- Introduction

Download Lecture 1- Introduction
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 Lecture 1- Introduction 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 Lecture 1- Introduction 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?