Class 1: Introduction CS200: Computer Science University of Virginia

Slides:



Advertisements
Similar presentations
1 CS150 Fall 2005: 1. Introduction David Evans CS150 Spring 2007 University of Virginia Computer Science Class 1: Introduction.
Advertisements

Why study Logic?. Logic is of the greatest importance. Logic is one of the most important courses in a classical education. It is the only course that.
David Evans CS150: Computer Science University of Virginia Computer Science Lecture 18: The Story So Far.
Cs2220: Engineering Software Class 1: Engineering Software? Fall 2010 University of Virginia David Evans.
CS150 Introduction to Computer Science 1 Professor: Chadd Williams.
1 CS150 Fall 2005: 1. Introduction David Evans CS150: Computer Science University of Virginia Computer Science Class 1:
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 2: Formal Systems and Languages MU!
David Evans CS200: Computer Science University of Virginia Computer Science Class 1: Introduction.
10 November David Evans Things Every Self-Respecting Computer Scientist.
David Evans Class 15: Golden Ages and Astrophysics CS200: Computer Science University of Virginia Computer Science.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 2: Orders of Growth
David Evans Things Every Self-Respecting Computer Scientist Should Know 2.
15 October 2003Computer Science1 David Evans ComputerScience.
David Evans cs1120 Fall 2009 University of Virginia Computer Science Class 1: Introduction.
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 3: Rules of Evaluation.
David Evans 101 Things Every Computer Scientist Should Know University of Virginia Department of.
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 20: Objects I invented the term Object-
David Evans Class 21: The Story So Far (Quicksort, Continuing Golden Ages) CS200: Computer Science University of Virginia.
David Evans CS150: Computer Science University of Virginia Computer Science Lecture 2: Formal Systems and Languages MU!
Lecture 2: Formal Systems and Languages MU! CS150: Computer Science
David Evans Lecture 13: Astrophysics and Cryptology CS200: Computer Science University of Virginia Computer Science.
David Evans Things Every Self-Respecting Computer Scientist Should Know 2 Ethics and.
Cs1120 Fall 2009 David Evans Lecture 18: Changing State Sounds of Colossus:
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 22: Objects I invented the term Object-
David Evans Class 15: P vs. NP (Smiley Puzzles and Curing Cancer) CS150: Computer Science University of Virginia Computer.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 8: Crash Course in Computational Complexity.
Lecture 3: Rules of Evaluation CS150: Computer Science
David Evans CS150: Computer Science University of Virginia Computer Science Lecture 22: Objectifying Objects.
CS 655: Programming Languages Scheming Schemers, Mocking Mockingbirds, and Objecting Objectively Lecture 1:Wherefore CS655? The use of cripples the mind;
Cs205: engineering software university of virginia fall 2006 David Evans Object-Oriented Programming.
Godel, Escher, and Bach: An Eternal Golden Braid By Douglas Hofstadter Book Review By Grace Gilles CS110.
What is Research? It may be different from what you think Target Audience: Undergraduate and Graduate Students Yung-Hsiang Lu Purdue University 1Yung-Hsiang.
AP EXAM INFORMATION SESSION
Introduction to CSCI 1311 Dr. Mark C. Lewis
Praktische Informatik 1
Lecture 1: Introduction Background just got here last week
Welcome back!.
David Evans Lecture 1: Engineering Software, Constructing Poetry and Dancing about Architecture CS201j: Engineering Software?
Class 22: Inheritance CS150: Computer Science University of Virginia
Class 1: Introduction CS150 Spring 2007 University of Virginia
Monday, September 11th Entry Task Set down your things. You will need your agenda and pencil in the computer lab, nothing else. Schedule: How to take.
PUTTING THE PIECES TOGETHER
Unit 1 How can we become good learners?
Turing Machines, Busy Beavers, and Big Questions about Computing
UC San Diego Department of Mathematics
IT’S A GREAT DAY FOR VISIONS!
Hello, it’s good to see you!
What is Science?.
How can I be sure I know something?
CDA 3100 Summer 2013.
Copyright © Cengage Learning. All rights reserved.
Lecture 2: Formal Systems and Languages MU! CS200: Computer Science
UNIT 3 CHAPTER 1 LESSON 4 Using Simple Commands.
Lecture 11: All Sorts CS200: Computer Science University of Virginia
SATs Information Evening
CS201: Data Structures and Discrete Mathematics I
Lecture 22: Gödel’s Theorem CS200: Computer Science
1000 Things Every Self-Respecting Computer Scientist Should Know
Synthesis essay.
2.1 Inductive Reasoning Inductive Reasoning: is the process of forming a conjecture based on a set of observations One of the most important things in.
Electronic Outreach Services for Library Users
Lecture 3: Rules of Evaluation CS200: Computer Science
AP EXAM INFORMATION SESSION
Guidance Department Grades (A-K ) Grades (L-Z )
SATs Information Evening
CS201: Data Structures and Discrete Mathematics I
East Bridgewater Junior Senior High School
1.1 Essential Questions What steps do scientists often use to solve problems? Why do scientists use variables? What is the difference between a scientific.
How to Create Effective PowerPoint Presentations
Lecture 23: Computability CS200: Computer Science
Presentation transcript:

David Evans http://www.cs.virginia.edu/evans Class 1: Introduction CS200: Computer Science University of Virginia Computer Science David Evans http://www.cs.virginia.edu/evans

Menu What Is Computer Science? Why Computer Science is Not Engineering First Main Theme: Recursive Definitions Course Expectations 15 January 2003 CS 200 Spring 2003

What is Computer Science? 15 January 2003 CS 200 Spring 2003

Let AB and CD be the two given numbers not relatively prime Let AB and CD be the two given numbers not relatively prime. It is required to find the greatest common measure of AB and CD. If now CD measures AB, since it also measures itself, then CD is a common measure of CD and AB. And it is manifest that it is also the greatest, for no greater number than CD measures CD. Euclid’s Elements, Book VII, Proposition 2 (300BC) 15 January 2003 CS 200 Spring 2003

The note on the inflected line is only difficult to you, because it is so easy. There is in fact nothing in it, but you think there must be some grand mystery hidden under that word inflected! Whenever from any point without a given line, you draw a long to any point in the given line, you have inflected a line upon a given line. Ada Byron (age 19), letter to Annabella Acheson (explaining Euclid), 1834 15 January 2003 CS 200 Spring 2003

By the word operation, we mean any process which alters the mutual relation of two or more things, be this relation of what kind it may. This is the most general definition, and would include all subjects in the universe... Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent. Ada Byron, 1843 15 January 2003 CS 200 Spring 2003

What is the difference between Euclid and Ada? “It depends on what your definition of ‘is’ is.” Bill Gates (at Microsoft’s anti- trust trial) 15 January 2003 CS 200 Spring 2003

Geometry vs. Computer Science Geometry (mathematics) is about declarative knowledge: “what is” If now CD measures AB, since it also measures itself, then CD is a common measure of CD and AB Computer Science is about imperative knowledge: “how to” Computer Science has nothing to do with beige (or translucent blue) boxes called “computers” and is not a science. 15 January 2003 CS 200 Spring 2003

Computer Science “How to” knowledge: Ways of describing imperative processes (computations) Ways of reasoning about (predicting) what imperative processes will do Language Logic 15 January 2003 CS 200 Spring 2003

Science, Engineering, Other? 15 January 2003 CS 200 Spring 2003

Science? Understanding Nature through Observation About real things like bowling balls, black holes, antimatter, electrons, comets, etc. Math and Computer Science are about fake things like numbers, graphs, functions, lists, etc. Computer Science is a useful tool for doing real science, but not a real science 15 January 2003 CS 200 Spring 2003

Engineering? “Engineering is design under constraint… Engineering is synthetic - it strives to create what can be, but it is constrained by nature, by cost, by concerns of safety, reliability, environmental impact, manufacturability, maintainability and many other such 'ilities.' ...” William Wulf 15 January 2003 CS 200 Spring 2003

Apollo Guidance Computer, 1969 Why did they need to fit the guidance computer in the rocket? 1 Cubic Foot 15 January 2003 CS 200 Spring 2003

Measuring Computers 1 bit = smallest unit of information True or False If we start with 2 possible choices, and get 1 bit, we can eliminate one of the choices 15 January 2003 CS 200 Spring 2003

How much power? Apollo Computer: 30720 bits of changeable memory Lab machines have 386 MB (RAM) 1 Megabyte = 1024 Kilobytes, 1 Kilobyte = 1024 Bytes, 1 Byte = 8 bits 386 MB = 3 238 002 688 bits > (* 386 1024 1024 8) 3238002688 > (round (/ (* 386 1024 1024 8) 30720)) 105404 You have 105 404 times more power than AGC If Apollo Guidance Computer power is 1 inch, you have 1.6 miles! 15 January 2003 CS 200 Spring 2003

Computing Power 1969-2002 (in Apollo Control Computer Units) Moore’s Law: computing power doubles every 18 months!

Constraints Computer Scientists Face Not like those for engineers: Cost, weight, physics, etc. If 4 Million times what people had in 1969 isn’t enough for you, wait until 2006 and you will have 32 Million times… More like those for Musicians and Poets: Imagination and Creativity Complexity of what we can understand 15 January 2003 CS 200 Spring 2003

So, what is computer science? No: its about fake things like numbers, not about observing and understanding nature Engineering No: we don’t have to deal with engineering-type constraints Liberal Art 15 January 2003 CS 200 Spring 2003

The Liberal Arts Quadrivium (4 roads) Trivium (3 roads) language numbers Trivium (3 roads) Quadrivium (4 roads) Grammar Rhetoric Logic Arithmetic Music Geometry Astronomy 15 January 2003 CS 200 Spring 2003

College of Arts and Sciences? What is the real name of the College? Web site: “College of Arts and Sciences” Then what does “CLAS” stand for? Col-Lege of Arts and Sciences? Why does it have Government, Math and Foreign Languages Departments? My theory: The “Liberal” is Silent 15 January 2003 CS 200 Spring 2003

Liberal Arts Trivium Quadrivium Grammar: study of meaning in written expression Rhetoric: comprehension of verbal and written discourse Logic: argumentative discourse for discovering truth Arithmetic: understanding numbers Geometry: quantification of space Music: number in time Astronomy: laws of the planets and stars Yes, we need to understand meaning to describe computations Trivium Interfaces between components, discourse between programs and users Logic for controlling and reasoning about computations Yes (PS 6) Yes (PS 1, 2, 3) Quadrivium Yes, its called GEB for a reason! Yes (we’ll read Neil DeGrasse Tyson’s essay) 15 January 2003 CS 200 Spring 2003

Bold (Possibly Untrue) Claim This course is the most consistent with the original intent of a Liberal Arts education of any course offered at UVA this semester! 15 January 2003 CS 200 Spring 2003

First Main Theme: Recursive Definitions 15 January 2003 CS 200 Spring 2003

What is the longest word in the English language? 15 January 2003 CS 200 Spring 2003

floccipoccinihilipilification the act of rendering useless According to Guinness floccipoccinihilipilification the act of rendering useless 15 January 2003 CS 200 Spring 2003

antifloccipoccinihilipilification Making Longer Words antifloccipoccinihilipilification the act of rendering not useless antiantifloccipoccinihilipilification the act of rendering useless 15 January 2003 CS 200 Spring 2003

Language is Recursive No matter what word you think is the longest word, I can always make up a longer one! word ::= anti-word If you have a word, you can always make up a new word by adding anti in front. Since the result is a word, you can make a longer new word by adding anti- in front again. 15 January 2003 CS 200 Spring 2003

Recursive Definitions We can define things in terms of themselves Recursive definitions are different from circular definitions: they eventually end with something real word ::= anti-word word ::= floccipoccinihilipilification 15 January 2003 CS 200 Spring 2003

Recursive Definitions Allow us to express infinitely many things starting with a few. This is powerful! We will see lots of examples in this course. 15 January 2003 CS 200 Spring 2003

Course Expectations 15 January 2003 CS 200 Spring 2003

What I Expect of You Everything on the Course Pledge Read it and make sure you agree with it Sign it and return it next class Three most important attributes for succeeding in this course: Open mind Persistence Willingness to spend time in Small Hall 15 January 2003 CS 200 Spring 2003

A Course for Everyone! CLAS, SEAS, etc. First Years, Second Years, Third Years, Fourth Years No background expected …but challenging even for students with lots of previous CS courses Computer Science (future-) majors …but worthwhile even if you never take another CS course Need to get course action signed no later than Friday! 15 January 2003 CS 200 Spring 2003

What You Should Expect not The fourth (?) coolest class at UVa Less cool than PHYE125, PHYE127, ENNC382 This course will be consistent with the original notion of a Liberal Arts education This course will be as consistent as possible with Mr. Jefferson’s vision for the University Scary live reptiles will suddenly appear in the classroom You should expect these of all your classes! not 15 January 2003 CS 200 Spring 2003

Like Drinking from a Firehose It may hurt a little bit, and a lot of water will go by you, but you won’t go away thirsty! 15 January 2003 CS 200 Spring 2003

Persistence Don’t expect to understand everything the first (or second or third) time you see it Don’t worry if you don’t always understand everything completely Take advantage of available help But, make sure to understand the most important things well Notes and Problem Sets should make it clear what this is You will learn most from doing the Problem Sets 15 January 2003 CS 200 Spring 2003

Help Available Me: David Evans (Call me “Dave” or “Coach”) Office Hours will be posted after surveys Always available by email, if I don’t reply in 24 hours, send again and complain Assistant Coaches Rachel Dada, Jacques Fournier, Spencer Stockdale, Katie Winstanley Web site: http://www.cs.virginia.edu/cs200 Everything goes on the web Your classmates (read the course pledge carefully!) 15 January 2003 CS 200 Spring 2003

Books Abelson & Sussman, Structure and Interpretation of Computer Programs. (SICP) Douglas Hofstadter, Gödel, Escher, Bach: an Eternal Golden Braid (GEB) 15 January 2003 CS 200 Spring 2003

Computer Science from Euclid and Ada to Course Roadmap Computer Science from Euclid and Ada to Quantum Computing and the World Wide Web Today Intellectual PS 1-6 PS 7 $$$ PS 8 15 January 2003 CS 200 Spring 2003

Charge Don’t floccipoccinihilipilificate PS1 is Due Wednesday Before 5pm Thursday: Registration survey (see course web site) Before Friday: Read and sign CS 200 Pledge Read GEB p. 3-41 Anyone who can produce “MU”, gets an automatic A+ in the course PS1 is Due Wednesday Take advantage of the lab hours (listed on the PS handout) Don’t floccipoccinihilipilificate 15 January 2003 CS 200 Spring 2003

Thanks! CS Department: Jim Cohoon, Ginny Hilton, Anita Jones, John Knight, Worthy Martin, Chris Milner, Brenda Perkins, Gabe Robins, Jack Stankovic Teaching Resource Center: Marva Barnett, Freda Fretwell 2001-2 UTF Fellows: Phoebe Crisman, John Lach, Debra Lyon, Emily Scida, Brian Smith, David Waldner; UTF Mentor: Judith Shatin 2002 Assistant Coaches: Jon Erdman, Dante Guanlao, Stephen Liang, Portman Wills 2003 Assistant Coaches: Rachel Dada, Jacques Fournier, Spencer Stockdale, Katie Winstanley 2002 CS200 students, 2001 CS655 students 6.001 teachers: Gerry Sussman, Bob Berwick 6.001 discussions: Anna Chefter, Radhika Nagpal 15 January 2003 CS 200 Spring 2003